tx · BZKPs751HudaDGvm2tDsQk8KGgQnZrpGCySvm4C9dizE 3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL: -0.01400000 Waves 2020.01.31 11:34 [878283] smart account 3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL > SELF 0.00000000 Waves
{ "type": 13, "id": "BZKPs751HudaDGvm2tDsQk8KGgQnZrpGCySvm4C9dizE", "fee": 1400000, "feeAssetId": null, "timestamp": 1580459711377, "version": 1, "sender": "3MrYoV4W5mu5ZP8rPspCXveMXusGstSPTjL", "senderPublicKey": "f1NbgbpkRpbigsrHaDkWZAkPgcqd8GM5G5eNmqnTD6z", "proofs": [ "3MkXBZ42S4GNnSMPwPqjoK2sStFHLNLMcaGQc2Lj6yQVwUaUXAH2R4M9V1FBNosHBNb9Yg68rqnsbqw7fTgWudPp" ], "script": "base64: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", "chainId": 84, "height": 878283, "spentComplexity": 0 } View: original | compacted Prev: Ev6hgabguv79trndXe9YP7vkRTqLjc6NWUSPXFLfxub7 Next: 8bj9Kt8uaZYTmSgJyosjUVqsSmxSC2LSUc2TVDiEBn7A Diff:
Old | New | Differences | |
---|---|---|---|
17 | 17 | else (g + 0) | |
18 | 18 | ||
19 | 19 | ||
20 | - | @Callable(h) | |
21 | - | func createAgreement (i,j,k) = { | |
22 | - | let l = extract(h.payment) | |
23 | - | let m = extract(l.amount) | |
24 | - | let n = extract(h.transactionId) | |
25 | - | let o = split(k, "|") | |
26 | - | let p = { | |
27 | - | let q = o | |
28 | - | let r = size(q) | |
29 | - | let s = 0 | |
30 | - | if ((r == 0)) | |
31 | - | then s | |
20 | + | func h (i,j) = { | |
21 | + | let k = value(indexOf(i, (("\"" + j) + "\":"))) | |
22 | + | let l = drop(i, ((k + size(j)) + 3)) | |
23 | + | l | |
24 | + | } | |
25 | + | ||
26 | + | ||
27 | + | @Callable(m) | |
28 | + | func createAgreement (n,o,p) = { | |
29 | + | let q = extract(m.payment) | |
30 | + | let r = extract(q.amount) | |
31 | + | let s = extract(m.transactionId) | |
32 | + | let t = [h(p, "address1"), h(p, "address2"), h(p, "address3"), h(p, "address4"), h(p, "address5"), h(p, "address6")] | |
33 | + | let u = { | |
34 | + | let v = t | |
35 | + | let w = size(v) | |
36 | + | let x = 0 | |
37 | + | if ((w == 0)) | |
38 | + | then x | |
32 | 39 | else { | |
33 | - | let | |
34 | - | if (( | |
35 | - | then | |
40 | + | let y = f(x, v[0]) | |
41 | + | if ((w == 1)) | |
42 | + | then y | |
36 | 43 | else { | |
37 | - | let | |
38 | - | if (( | |
39 | - | then | |
44 | + | let z = f(y, v[1]) | |
45 | + | if ((w == 2)) | |
46 | + | then z | |
40 | 47 | else { | |
41 | - | let | |
42 | - | if (( | |
43 | - | then | |
48 | + | let A = f(z, v[2]) | |
49 | + | if ((w == 3)) | |
50 | + | then A | |
44 | 51 | else { | |
45 | - | let | |
46 | - | if (( | |
47 | - | then | |
52 | + | let B = f(A, v[3]) | |
53 | + | if ((w == 4)) | |
54 | + | then B | |
48 | 55 | else { | |
49 | - | let | |
50 | - | if (( | |
51 | - | then | |
56 | + | let C = f(B, v[4]) | |
57 | + | if ((w == 5)) | |
58 | + | then C | |
52 | 59 | else { | |
53 | - | let | |
54 | - | if (( | |
55 | - | then | |
60 | + | let D = f(C, v[5]) | |
61 | + | if ((w == 6)) | |
62 | + | then D | |
56 | 63 | else { | |
57 | - | let | |
64 | + | let E = f(D, v[6]) | |
58 | 65 | throw("List size exceed 6") | |
59 | 66 | } | |
60 | 67 | } | |
64 | 71 | } | |
65 | 72 | } | |
66 | 73 | } | |
67 | - | let | |
68 | - | let | |
69 | - | then extract( | |
74 | + | let F = (((((((((((((((((("{id: '" + toBase58String(s)) + "', title: '") + o) + "' hash: '") + n) + "', address1: '") + t[0]) + "', address2: '") + t[1]) + "', address3: '") + t[2]) + "', address4: '") + t[3]) + "', address5: '") + t[4]) + "', address6: '") + t[5]) + "'}") | |
75 | + | let G = if (isDefined(q.assetId)) | |
76 | + | then extract(q.assetId) | |
70 | 77 | else throw("Waves is not accepted as payment") | |
71 | - | if (( | |
78 | + | if ((G != a)) | |
72 | 79 | then throw("Only payments in SIGN are allowed at the moment") | |
73 | - | else if (((b * | |
74 | - | then throw(("The price is wrong, it should be " + toString((b * | |
75 | - | else if (( | |
76 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
77 | - | else if (( | |
78 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
79 | - | else if (( | |
80 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
81 | - | else if (( | |
82 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
83 | - | else if (( | |
84 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
80 | + | else if (((b * u) > r)) | |
81 | + | then throw(("The price is wrong, it should be " + toString((b * u)))) | |
82 | + | else if ((u == 6)) | |
83 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[3] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[4] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[5] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a), ScriptTransfer(addressFromStringValue(t[3]), 0, a), ScriptTransfer(addressFromStringValue(t[4]), 0, a), ScriptTransfer(addressFromStringValue(t[5]), 0, a)])) | |
84 | + | else if ((u == 5)) | |
85 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[3] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[4] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a), ScriptTransfer(addressFromStringValue(t[3]), 0, a), ScriptTransfer(addressFromStringValue(t[4]), 0, a)])) | |
86 | + | else if ((u == 4)) | |
87 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[3] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a), ScriptTransfer(addressFromStringValue(t[3]), 0, a)])) | |
88 | + | else if ((u == 3)) | |
89 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a)])) | |
90 | + | else if ((u == 2)) | |
91 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a)])) | |
85 | 92 | else throw("Needs 2 to 6 parties addresses") | |
86 | 93 | } | |
87 | 94 | ||
88 | 95 | ||
89 | 96 | ||
90 | - | @Callable( | |
91 | - | func signAgreement ( | |
92 | - | let | |
93 | - | let | |
94 | - | let | |
95 | - | let | |
96 | - | let | |
97 | - | let | |
98 | - | if ($isInstanceOf( | |
97 | + | @Callable(m) | |
98 | + | func signAgreement (n,H) = { | |
99 | + | let q = extract(m.payment) | |
100 | + | let r = extract(q.amount) | |
101 | + | let s = extract(m.transactionId) | |
102 | + | let I = toBase58String(m.caller.bytes) | |
103 | + | let J = { | |
104 | + | let K = getString(this, ((I + "_MA_") + toBase58String(s))) | |
105 | + | if ($isInstanceOf(K, "String")) | |
99 | 106 | then { | |
100 | - | let | |
101 | - | | |
107 | + | let L = K | |
108 | + | L | |
102 | 109 | } | |
103 | 110 | else throw("There is no corresponding signing request") | |
104 | 111 | } | |
105 | - | let | |
106 | - | then extract( | |
112 | + | let G = if (isDefined(q.assetId)) | |
113 | + | then extract(q.assetId) | |
107 | 114 | else throw("Waves is not accepted as payment") | |
108 | - | if (( | |
115 | + | if ((G != a)) | |
109 | 116 | then throw("Only payments in SIGN are allowed at the moment") | |
110 | - | else if (( | |
117 | + | else if ((r != b)) | |
111 | 118 | then throw("The price is wrong") | |
112 | - | else ScriptResult(WriteSet([DataEntry((( | |
119 | + | else ScriptResult(WriteSet([DataEntry(((I + "_MA_") + toBase58String(s)), "SIGNED")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a)])) | |
113 | 120 | } | |
114 | 121 | ||
115 | 122 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'Gf9t8FA4H3ssoZPCwrg3KwUFCci8zuUFP9ssRsUY3s6a' | |
5 | 5 | ||
6 | 6 | let b = 250000000 | |
7 | 7 | ||
8 | 8 | let c = "3MzYLkQ6qCwtbxaYQ2yk1kdUudzbNg4JiTG" | |
9 | 9 | ||
10 | 10 | func d (e) = if ((size(e) == 35)) | |
11 | 11 | then (take(e, 2) == "3N") | |
12 | 12 | else false | |
13 | 13 | ||
14 | 14 | ||
15 | 15 | func f (g,e) = if (d(e)) | |
16 | 16 | then (g + 1) | |
17 | 17 | else (g + 0) | |
18 | 18 | ||
19 | 19 | ||
20 | - | @Callable(h) | |
21 | - | func createAgreement (i,j,k) = { | |
22 | - | let l = extract(h.payment) | |
23 | - | let m = extract(l.amount) | |
24 | - | let n = extract(h.transactionId) | |
25 | - | let o = split(k, "|") | |
26 | - | let p = { | |
27 | - | let q = o | |
28 | - | let r = size(q) | |
29 | - | let s = 0 | |
30 | - | if ((r == 0)) | |
31 | - | then s | |
20 | + | func h (i,j) = { | |
21 | + | let k = value(indexOf(i, (("\"" + j) + "\":"))) | |
22 | + | let l = drop(i, ((k + size(j)) + 3)) | |
23 | + | l | |
24 | + | } | |
25 | + | ||
26 | + | ||
27 | + | @Callable(m) | |
28 | + | func createAgreement (n,o,p) = { | |
29 | + | let q = extract(m.payment) | |
30 | + | let r = extract(q.amount) | |
31 | + | let s = extract(m.transactionId) | |
32 | + | let t = [h(p, "address1"), h(p, "address2"), h(p, "address3"), h(p, "address4"), h(p, "address5"), h(p, "address6")] | |
33 | + | let u = { | |
34 | + | let v = t | |
35 | + | let w = size(v) | |
36 | + | let x = 0 | |
37 | + | if ((w == 0)) | |
38 | + | then x | |
32 | 39 | else { | |
33 | - | let | |
34 | - | if (( | |
35 | - | then | |
40 | + | let y = f(x, v[0]) | |
41 | + | if ((w == 1)) | |
42 | + | then y | |
36 | 43 | else { | |
37 | - | let | |
38 | - | if (( | |
39 | - | then | |
44 | + | let z = f(y, v[1]) | |
45 | + | if ((w == 2)) | |
46 | + | then z | |
40 | 47 | else { | |
41 | - | let | |
42 | - | if (( | |
43 | - | then | |
48 | + | let A = f(z, v[2]) | |
49 | + | if ((w == 3)) | |
50 | + | then A | |
44 | 51 | else { | |
45 | - | let | |
46 | - | if (( | |
47 | - | then | |
52 | + | let B = f(A, v[3]) | |
53 | + | if ((w == 4)) | |
54 | + | then B | |
48 | 55 | else { | |
49 | - | let | |
50 | - | if (( | |
51 | - | then | |
56 | + | let C = f(B, v[4]) | |
57 | + | if ((w == 5)) | |
58 | + | then C | |
52 | 59 | else { | |
53 | - | let | |
54 | - | if (( | |
55 | - | then | |
60 | + | let D = f(C, v[5]) | |
61 | + | if ((w == 6)) | |
62 | + | then D | |
56 | 63 | else { | |
57 | - | let | |
64 | + | let E = f(D, v[6]) | |
58 | 65 | throw("List size exceed 6") | |
59 | 66 | } | |
60 | 67 | } | |
61 | 68 | } | |
62 | 69 | } | |
63 | 70 | } | |
64 | 71 | } | |
65 | 72 | } | |
66 | 73 | } | |
67 | - | let | |
68 | - | let | |
69 | - | then extract( | |
74 | + | let F = (((((((((((((((((("{id: '" + toBase58String(s)) + "', title: '") + o) + "' hash: '") + n) + "', address1: '") + t[0]) + "', address2: '") + t[1]) + "', address3: '") + t[2]) + "', address4: '") + t[3]) + "', address5: '") + t[4]) + "', address6: '") + t[5]) + "'}") | |
75 | + | let G = if (isDefined(q.assetId)) | |
76 | + | then extract(q.assetId) | |
70 | 77 | else throw("Waves is not accepted as payment") | |
71 | - | if (( | |
78 | + | if ((G != a)) | |
72 | 79 | then throw("Only payments in SIGN are allowed at the moment") | |
73 | - | else if (((b * | |
74 | - | then throw(("The price is wrong, it should be " + toString((b * | |
75 | - | else if (( | |
76 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
77 | - | else if (( | |
78 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
79 | - | else if (( | |
80 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
81 | - | else if (( | |
82 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
83 | - | else if (( | |
84 | - | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String( | |
80 | + | else if (((b * u) > r)) | |
81 | + | then throw(("The price is wrong, it should be " + toString((b * u)))) | |
82 | + | else if ((u == 6)) | |
83 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[3] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[4] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[5] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a), ScriptTransfer(addressFromStringValue(t[3]), 0, a), ScriptTransfer(addressFromStringValue(t[4]), 0, a), ScriptTransfer(addressFromStringValue(t[5]), 0, a)])) | |
84 | + | else if ((u == 5)) | |
85 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[3] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[4] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a), ScriptTransfer(addressFromStringValue(t[3]), 0, a), ScriptTransfer(addressFromStringValue(t[4]), 0, a)])) | |
86 | + | else if ((u == 4)) | |
87 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[3] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a), ScriptTransfer(addressFromStringValue(t[3]), 0, a)])) | |
88 | + | else if ((u == 3)) | |
89 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[2] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a), ScriptTransfer(addressFromStringValue(t[2]), 0, a)])) | |
90 | + | else if ((u == 2)) | |
91 | + | then ScriptResult(WriteSet([DataEntry(("title_MA_" + toBase58String(s)), o), DataEntry(("hash_MA_" + toBase58String(s)), n), DataEntry(("data_MA_" + toBase58String(s)), F), DataEntry(((t[0] + "_MA_") + toBase58String(s)), "PENDING"), DataEntry(((t[1] + "_MA_") + toBase58String(s)), "PENDING")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a), ScriptTransfer(addressFromStringValue(t[0]), 0, a), ScriptTransfer(addressFromStringValue(t[1]), 0, a)])) | |
85 | 92 | else throw("Needs 2 to 6 parties addresses") | |
86 | 93 | } | |
87 | 94 | ||
88 | 95 | ||
89 | 96 | ||
90 | - | @Callable( | |
91 | - | func signAgreement ( | |
92 | - | let | |
93 | - | let | |
94 | - | let | |
95 | - | let | |
96 | - | let | |
97 | - | let | |
98 | - | if ($isInstanceOf( | |
97 | + | @Callable(m) | |
98 | + | func signAgreement (n,H) = { | |
99 | + | let q = extract(m.payment) | |
100 | + | let r = extract(q.amount) | |
101 | + | let s = extract(m.transactionId) | |
102 | + | let I = toBase58String(m.caller.bytes) | |
103 | + | let J = { | |
104 | + | let K = getString(this, ((I + "_MA_") + toBase58String(s))) | |
105 | + | if ($isInstanceOf(K, "String")) | |
99 | 106 | then { | |
100 | - | let | |
101 | - | | |
107 | + | let L = K | |
108 | + | L | |
102 | 109 | } | |
103 | 110 | else throw("There is no corresponding signing request") | |
104 | 111 | } | |
105 | - | let | |
106 | - | then extract( | |
112 | + | let G = if (isDefined(q.assetId)) | |
113 | + | then extract(q.assetId) | |
107 | 114 | else throw("Waves is not accepted as payment") | |
108 | - | if (( | |
115 | + | if ((G != a)) | |
109 | 116 | then throw("Only payments in SIGN are allowed at the moment") | |
110 | - | else if (( | |
117 | + | else if ((r != b)) | |
111 | 118 | then throw("The price is wrong") | |
112 | - | else ScriptResult(WriteSet([DataEntry((( | |
119 | + | else ScriptResult(WriteSet([DataEntry(((I + "_MA_") + toBase58String(s)), "SIGNED")]), TransferSet([ScriptTransfer(addressFromStringValue(c), r, a)])) | |
113 | 120 | } | |
114 | 121 | ||
115 | 122 |
github/deemru/w8io/169f3d6 123.82 ms ◑![]()