tx · CAR2m5ja2HCzeMUZAmpv77SL8vSFGqZuM9MdAF16ZAmY

3N7a7sTSKaE621QewSqQcL1mUbknJjnLkZc:  -0.01000000 Waves

2021.10.22 00:10 [1756577] smart account 3N7a7sTSKaE621QewSqQcL1mUbknJjnLkZc > SELF 0.00000000 Waves

{ "type": 13, "id": "CAR2m5ja2HCzeMUZAmpv77SL8vSFGqZuM9MdAF16ZAmY", "fee": 1000000, "feeAssetId": null, "timestamp": 1634850681834, "version": 2, "chainId": 84, "sender": "3N7a7sTSKaE621QewSqQcL1mUbknJjnLkZc", "senderPublicKey": "6LrPmGtwuADhwHYcxBouLzwfSTGgucbwYG5Pja7LUrcd", "proofs": [ "5riiM1BhNncg8YjPLumhrbAoP9QUwHB72zvTST6vgdBZS7JBkDCNis9ybp3cN1b5Rzc5yXV21aZCYAgcpjJ14Sq7" ], "script": "base64:AAIFAAAAAAAAABcIAhIECgIIGRIDCgEBEgMKAQESAwoBAQAAABUAAAAACm9mZmVySWRLZXkCAAAADSRPRkZFUl9OVU1CRVIAAAAAB3Rlc3RLZXkCAAAABSRURVNUAAAAAA9vZmZlck9wZW5TdGF0dXMAAAAAAAAAAAEAAAAAE29mZmVyQ2FuY2VsZWRTdGF0dXMAAAAAAAAAAAIAAAAAE29mZmVyQWNjZXB0ZWRTdGF0dXMAAAAAAAAAAAMAAAAAE29mZmVyUmVqZWN0ZWRTdGF0dXMAAAAAAAAAAAQAAAAAEndhdmVzU3RhbmRJblN0cmluZwIAAAAFV0FWRVMAAAAAFndhdmVzU3RhbmRJbkJ5dGVWZWN0b3IJAAGbAAAAAQUAAAASd2F2ZXNTdGFuZEluU3RyaW5nAAAAABJ3YXZlc1N0YW5kSW5CYXNlNjQJAAJaAAAAAQUAAAAWd2F2ZXNTdGFuZEluQnl0ZVZlY3RvcgEAAAARZ2V0T2ZmZXJTdGF0dXNLZXkAAAABAAAAB29mZmVySWQJAAEsAAAAAgkAAaQAAAABBQAAAAdvZmZlcklkAgAAAAdfc3RhdHVzAQAAABZnZXRPZmZlckFkZHJlc3NGcm9tS2V5AAAAAQAAAAdvZmZlcklkCQABLAAAAAIJAAGkAAAAAQUAAAAHb2ZmZXJJZAIAAAAFX2Zyb20BAAAAFGdldE9mZmVyQWRkcmVzc1RvS2V5AAAAAQAAAAdvZmZlcklkCQABLAAAAAIJAAGkAAAAAQUAAAAHb2ZmZXJJZAIAAAADX3RvAQAAABdnZXRPZmZlck9mZmVyZWRBc3NldEtleQAAAAIAAAAHb2ZmZXJJZAAAAAppdGVtTnVtYmVyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB29mZmVySWQCAAAAAV8JAAGkAAAAAQUAAAAKaXRlbU51bWJlcgIAAAARX29mZmVyZWRfYXNzZXRfaWQBAAAAGGdldE9mZmVyT2ZmZXJlZEFtb3VudEtleQAAAAIAAAAHb2ZmZXJJZAAAAAppdGVtTnVtYmVyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABpAAAAAEFAAAAB29mZmVySWQCAAAAAV8JAAGkAAAAAQUAAAAKaXRlbU51bWJlcgIAAAAVX29mZmVyZWRf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AAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAACm9mZmVySWRLZXkFAAAAB29mZmVySWQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRPZmZlclN0YXR1c0tleQAAAAEFAAAAB29mZmVySWQFAAAAD29mZmVyT3BlblN0YXR1cwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAWZ2V0T2ZmZXJBZGRyZXNzRnJvbUtleQAAAAEFAAAAB29mZmVySWQJAAJYAAAAAQgIBQAAAAFpAAAABmNhbGxlcgAAAAVieXRlcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAUZ2V0T2ZmZXJBZGRyZXNzVG9LZXkAAAABBQAAAAdvZmZlcklkBQAAAAl0b0FkZHJlc3MJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAF2dldE9mZmVyT2ZmZXJlZEFzc2V0S2V5AAAAAgUAAAAHb2ZmZXJJZAAAAAAAAAAAAAkAAloAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCAUAAAAMZmlyc3RQYXltZW50AAAAB2Fzc2V0SWQFAAAAFndhdmVzU3RhbmRJbkJ5dGVWZWN0b3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABhnZXRPZmZlck9mZmVyZWRBbW91bnRLZXkAAAACBQAAAAdvZmZlcklkAAAAAAAAAAAACAUAAAAMZmlyc3RQYXltZW50AAAABmFtb3VudAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAVZ2V0T2ZmZXJBc2tlZEFzc2V0S2V5AAAAAgUAAAAHb2ZmZXJJZAAAAAAAAAAAAAkAAloAAAABCQEAAAAadHJ5R2V0QXNzZXRJZEZyb21Bc3NldExpc3QAAAABBQAAAAZhc3NldDAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABZnZXRPZmZlckFza2VkQW1vdW50S2V5AAAAAgUAAAAHb2ZmZXJJZAAAAAAAAAAAAAkBAAAAGXRyeUdldEFtb3VudEZyb21Bc3NldExpc3QAAAABBQAAAAZhc3NldDAFAAAAA25pbAAAAAFpAQAAAAtjYW5jZWxPZmZlcgAAAAEAAAAHb2ZmZXJJZAQAAAALb2ZmZXJTdGF0dXMJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkBAAAAEWdldE9mZmVyU3RhdHVzS2V5AAAAAQUAAAAHb2ZmZXJJZAMJAQAAAAIhPQAAAAIFAAAAC29mZmVyU3RhdHVzBQAAAA9vZmZlck9wZW5TdGF0dXMJAAACAAAAAQIAAAAZb2ZmZXIgc3RhdHVzIG11c3QgYmUgb3BlbgQAAAALYWRkcmVzc0Zyb20JAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAQAAABZnZXRPZmZlckFkZHJlc3NGcm9tS2V5AAAAAQUAAAAHb2ZmZXJJZAQAAAAJY2FsbGVyU3RyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMDCQEAAAACIT0AAAACBQAAAAthZGRyZXNzRnJvbQUAAAAJY2FsbGVyU3RyCQAAAgAAAAECAAAAHG9mZmVyIG11c3QgYmUgbWFkZSBieSBjYWxsZXIJAQAAAAlkcm9wT2ZmZXIAAAACBQAAAAdvZmZlcklkBQAAABNvZmZlckNhbmNlbGVkU3RhdHVzAAAAAWkBAAAAC2FjY2VwdE9mZmVyAAAAAQAAAAdvZmZlcklkBAAAAAtvZmZlclN0YXR1cwkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAARZ2V0T2ZmZXJTdGF0dXNLZXkAAAABBQAAAAdvZmZlcklkAwkBAAAAAiE9AAAAAgUAAAALb2ZmZXJTdGF0dXMFAAAAD29mZmVyT3BlblN0YXR1cwkAAAIAAAABAgAAABlvZmZlciBzdGF0dXMgbXVzdCBiZSBvcGVuBAAAAAlhZGRyZXNzVG8JAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAQAAABRnZXRPZmZlckFkZHJlc3NUb0tleQAAAAEFAAAAB29mZmVySWQEAAAACWNhbGxlclN0cgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAJYWRkcmVzc1RvBQAAAAljYWxsZXJTdHIJAAACAAAAAQIAAAAcb2ZmZXIgbXVzdCBiZSBtYWRlIHRvIGNhbGxlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAEWdldE9mZmVyU3RhdHVzS2V5AAAAAQUAAAAHb2ZmZXJJZAUAAAATb2ZmZXJBY2NlcHRlZFN0YXR1cwUAAAADbmlsAAAAAWkBAAAAC3JlamVjdE9mZmVyAAAAAQAAAAdvZmZlcklkBAAAAAtvZmZlclN0YXR1cwkBAAAADXRyeUdldEludGVnZXIAAAABCQEAAAARZ2V0T2ZmZXJTdGF0dXNLZXkAAAABBQAAAAdvZmZlcklkAwkBAAAAAiE9AAAAAgUAAAALb2ZmZXJTdGF0dXMFAAAAD29mZmVyT3BlblN0YXR1cwkAAAIAAAABAgAAABlvZmZlciBzdGF0dXMgbXVzdCBiZSBvcGVuBAAAAAlhZGRyZXNzVG8JAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMJAQAAABRnZXRPZmZlckFkZHJlc3NUb0tleQAAAAEFAAAAB29mZmVySWQEAAAACWNhbGxlclN0cgkAAlgAAAABCAgFAAAAAWkAAAAGY2FsbGVyAAAABWJ5dGVzAwkBAAAAAiE9AAAAAgUAAAAJYWRkcmVzc1RvBQAAAAljYWxsZXJTdHIJAAACAAAAAQIAAAAcb2ZmZXIgbXVzdCBiZSBtYWRlIHRvIGNhbGxlcgkBAAAACWRyb3BPZmZlcgAAAAIFAAAAB29mZmVySWQFAAAAE29mZmVyUmVqZWN0ZWRTdGF0dXMAAAAAcf6/uA==", "height": 1756577, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5F3R3xJbF2ppjFAHPNKT66mK4ratLMndQXkW9QWQBA2B Next: trJuHoX1NitFuvuN9RLQ4nq5rCwRBmH4qXBDwrvjfFu Diff:
OldNewDifferences
1313
1414 let f = 4
1515
16-let g = toBytes("WAVES")
16+let g = "WAVES"
1717
18-func h (i) = (toString(i) + "_status")
18+let h = toBytes(g)
19+
20+let i = toBase64String(h)
21+
22+func j (k) = (toString(k) + "_status")
1923
2024
21-func j (i) = (toString(i) + "_from")
25+func l (k) = (toString(k) + "_from")
2226
2327
24-func k (i) = (toString(i) + "_to")
28+func m (k) = (toString(k) + "_to")
2529
2630
27-func l (i,m) = (((toString(i) + "_") + toString(m)) + "_offered_asset_id")
31+func n (k,o) = (((toString(k) + "_") + toString(o)) + "_offered_asset_id")
2832
2933
30-func n (i,m) = (((toString(i) + "_") + toString(m)) + "_offered_asset_amount")
34+func p (k,o) = (((toString(k) + "_") + toString(o)) + "_offered_asset_amount")
3135
3236
33-func o (i,m) = (((toString(i) + "_") + toString(m)) + "_asked_asset_id")
37+func q (k,o) = (((toString(k) + "_") + toString(o)) + "_asked_asset_id")
3438
3539
36-func p (i,m) = (((toString(i) + "_") + toString(m)) + "_asked_asset_amount")
40+func r (k,o) = (((toString(k) + "_") + toString(o)) + "_asked_asset_amount")
3741
3842
39-func q (r) = {
40- let s = {
41- let t = getInteger(this, r)
42- if ($isInstanceOf(t, "Int"))
43+func s (t) = {
44+ let u = {
45+ let v = getInteger(this, t)
46+ if ($isInstanceOf(v, "Int"))
4347 then {
44- let u = t
45- u
48+ let w = v
49+ w
4650 }
4751 else 0
4852 }
49- s
53+ u
5054 }
5155
5256
53-func v (i,m) = {
54- let s = fromBase64String(getStringValue(this, l(i, m)))
55- if ((s == g))
56- then unit
57- else s
57+func x (y) = {
58+ let z = {
59+ let v = y[0]
60+ if ($isInstanceOf(v, "String"))
61+ then {
62+ let w = v
63+ fromBase64String(w)
64+ }
65+ else throw("must have an assetId")
66+ }
67+ z
5868 }
5969
6070
61-func w (i,x) = {
62- let y = Address(fromBase58String(getStringValue(this, j(i))))
63- let z = v(i, 0)
64- let A = q(n(i, 0))
65-[IntegerEntry(h(i), x), ScriptTransfer(y, A, z)]
71+func A (y) = {
72+ let z = {
73+ let v = y[1]
74+ if ($isInstanceOf(v, "Int"))
75+ then {
76+ let w = v
77+ w
78+ }
79+ else throw("must have an amount")
80+ }
81+ z
6682 }
6783
6884
69-@Callable(B)
70-func createOffer (C,D) = {
71- let i = (q(a) + 1)
72- let E = value(B.payments[0])
73- if (!(isDefined(E)))
85+func B (k,o) = {
86+ let u = fromBase64String(getStringValue(this, n(k, o)))
87+ if ((u == h))
88+ then unit
89+ else u
90+ }
91+
92+
93+func C (k,D) = {
94+ let E = Address(fromBase58String(getStringValue(this, l(k))))
95+ let F = B(k, 0)
96+ let G = s(p(k, 0))
97+[IntegerEntry(j(k), D), ScriptTransfer(E, G, F)]
98+ }
99+
100+
101+@Callable(H)
102+func createOffer (I,J) = {
103+ let k = (s(a) + 1)
104+ let K = value(H.payments[0])
105+ if (!(isDefined(K)))
74106 then throw("no payment")
75- else [IntegerEntry(a, i), IntegerEntry(h(i), c), StringEntry(j(i), toBase58String(B.caller.bytes)), StringEntry(k(i), C), StringEntry(l(i, 0), toBase64String(valueOrElse(E.assetId, g))), IntegerEntry(n(i, 0), E.amount), StringEntry(l(i, 0), toBase64String(valueOrElse(E.assetId, g))), IntegerEntry(n(i, 0), E.amount)]
107+ else [IntegerEntry(a, k), IntegerEntry(j(k), c), StringEntry(l(k), toBase58String(H.caller.bytes)), StringEntry(m(k), I), StringEntry(n(k, 0), toBase64String(valueOrElse(K.assetId, h))), IntegerEntry(p(k, 0), K.amount), StringEntry(q(k, 0), toBase64String(x(J))), IntegerEntry(r(k, 0), A(J))]
76108 }
77109
78110
79111
80-@Callable(B)
81-func cancelOffer (i) = {
82- let F = q(h(i))
83- if ((F != c))
112+@Callable(H)
113+func cancelOffer (k) = {
114+ let L = s(j(k))
115+ if ((L != c))
84116 then throw("offer status must be open")
85117 else {
86- let y = getStringValue(this, j(i))
87- let G = toBase58String(B.caller.bytes)
88- if ((y != G))
118+ let E = getStringValue(this, l(k))
119+ let M = toBase58String(H.caller.bytes)
120+ if ((E != M))
89121 then throw("offer must be made by caller")
90- else w(i, d)
122+ else C(k, d)
91123 }
92124 }
93125
94126
95127
96-@Callable(B)
97-func acceptOffer (i) = {
98- let F = q(h(i))
99- if ((F != c))
128+@Callable(H)
129+func acceptOffer (k) = {
130+ let L = s(j(k))
131+ if ((L != c))
100132 then throw("offer status must be open")
101133 else {
102- let H = getStringValue(this, k(i))
103- let G = toBase58String(B.caller.bytes)
104- if ((H != G))
134+ let N = getStringValue(this, m(k))
135+ let M = toBase58String(H.caller.bytes)
136+ if ((N != M))
105137 then throw("offer must be made to caller")
106- else [IntegerEntry(h(i), e)]
138+ else [IntegerEntry(j(k), e)]
107139 }
108140 }
109141
110142
111143
112-@Callable(B)
113-func rejectOffer (i) = {
114- let F = q(h(i))
115- if ((F != c))
144+@Callable(H)
145+func rejectOffer (k) = {
146+ let L = s(j(k))
147+ if ((L != c))
116148 then throw("offer status must be open")
117149 else {
118- let H = getStringValue(this, k(i))
119- let G = toBase58String(B.caller.bytes)
120- if ((H != G))
150+ let N = getStringValue(this, m(k))
151+ let M = toBase58String(H.caller.bytes)
152+ if ((N != M))
121153 then throw("offer must be made to caller")
122- else w(i, f)
154+ else C(k, f)
123155 }
124156 }
125157
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "$OFFER_NUMBER"
55
66 let b = "$TEST"
77
88 let c = 1
99
1010 let d = 2
1111
1212 let e = 3
1313
1414 let f = 4
1515
16-let g = toBytes("WAVES")
16+let g = "WAVES"
1717
18-func h (i) = (toString(i) + "_status")
18+let h = toBytes(g)
19+
20+let i = toBase64String(h)
21+
22+func j (k) = (toString(k) + "_status")
1923
2024
21-func j (i) = (toString(i) + "_from")
25+func l (k) = (toString(k) + "_from")
2226
2327
24-func k (i) = (toString(i) + "_to")
28+func m (k) = (toString(k) + "_to")
2529
2630
27-func l (i,m) = (((toString(i) + "_") + toString(m)) + "_offered_asset_id")
31+func n (k,o) = (((toString(k) + "_") + toString(o)) + "_offered_asset_id")
2832
2933
30-func n (i,m) = (((toString(i) + "_") + toString(m)) + "_offered_asset_amount")
34+func p (k,o) = (((toString(k) + "_") + toString(o)) + "_offered_asset_amount")
3135
3236
33-func o (i,m) = (((toString(i) + "_") + toString(m)) + "_asked_asset_id")
37+func q (k,o) = (((toString(k) + "_") + toString(o)) + "_asked_asset_id")
3438
3539
36-func p (i,m) = (((toString(i) + "_") + toString(m)) + "_asked_asset_amount")
40+func r (k,o) = (((toString(k) + "_") + toString(o)) + "_asked_asset_amount")
3741
3842
39-func q (r) = {
40- let s = {
41- let t = getInteger(this, r)
42- if ($isInstanceOf(t, "Int"))
43+func s (t) = {
44+ let u = {
45+ let v = getInteger(this, t)
46+ if ($isInstanceOf(v, "Int"))
4347 then {
44- let u = t
45- u
48+ let w = v
49+ w
4650 }
4751 else 0
4852 }
49- s
53+ u
5054 }
5155
5256
53-func v (i,m) = {
54- let s = fromBase64String(getStringValue(this, l(i, m)))
55- if ((s == g))
56- then unit
57- else s
57+func x (y) = {
58+ let z = {
59+ let v = y[0]
60+ if ($isInstanceOf(v, "String"))
61+ then {
62+ let w = v
63+ fromBase64String(w)
64+ }
65+ else throw("must have an assetId")
66+ }
67+ z
5868 }
5969
6070
61-func w (i,x) = {
62- let y = Address(fromBase58String(getStringValue(this, j(i))))
63- let z = v(i, 0)
64- let A = q(n(i, 0))
65-[IntegerEntry(h(i), x), ScriptTransfer(y, A, z)]
71+func A (y) = {
72+ let z = {
73+ let v = y[1]
74+ if ($isInstanceOf(v, "Int"))
75+ then {
76+ let w = v
77+ w
78+ }
79+ else throw("must have an amount")
80+ }
81+ z
6682 }
6783
6884
69-@Callable(B)
70-func createOffer (C,D) = {
71- let i = (q(a) + 1)
72- let E = value(B.payments[0])
73- if (!(isDefined(E)))
85+func B (k,o) = {
86+ let u = fromBase64String(getStringValue(this, n(k, o)))
87+ if ((u == h))
88+ then unit
89+ else u
90+ }
91+
92+
93+func C (k,D) = {
94+ let E = Address(fromBase58String(getStringValue(this, l(k))))
95+ let F = B(k, 0)
96+ let G = s(p(k, 0))
97+[IntegerEntry(j(k), D), ScriptTransfer(E, G, F)]
98+ }
99+
100+
101+@Callable(H)
102+func createOffer (I,J) = {
103+ let k = (s(a) + 1)
104+ let K = value(H.payments[0])
105+ if (!(isDefined(K)))
74106 then throw("no payment")
75- else [IntegerEntry(a, i), IntegerEntry(h(i), c), StringEntry(j(i), toBase58String(B.caller.bytes)), StringEntry(k(i), C), StringEntry(l(i, 0), toBase64String(valueOrElse(E.assetId, g))), IntegerEntry(n(i, 0), E.amount), StringEntry(l(i, 0), toBase64String(valueOrElse(E.assetId, g))), IntegerEntry(n(i, 0), E.amount)]
107+ else [IntegerEntry(a, k), IntegerEntry(j(k), c), StringEntry(l(k), toBase58String(H.caller.bytes)), StringEntry(m(k), I), StringEntry(n(k, 0), toBase64String(valueOrElse(K.assetId, h))), IntegerEntry(p(k, 0), K.amount), StringEntry(q(k, 0), toBase64String(x(J))), IntegerEntry(r(k, 0), A(J))]
76108 }
77109
78110
79111
80-@Callable(B)
81-func cancelOffer (i) = {
82- let F = q(h(i))
83- if ((F != c))
112+@Callable(H)
113+func cancelOffer (k) = {
114+ let L = s(j(k))
115+ if ((L != c))
84116 then throw("offer status must be open")
85117 else {
86- let y = getStringValue(this, j(i))
87- let G = toBase58String(B.caller.bytes)
88- if ((y != G))
118+ let E = getStringValue(this, l(k))
119+ let M = toBase58String(H.caller.bytes)
120+ if ((E != M))
89121 then throw("offer must be made by caller")
90- else w(i, d)
122+ else C(k, d)
91123 }
92124 }
93125
94126
95127
96-@Callable(B)
97-func acceptOffer (i) = {
98- let F = q(h(i))
99- if ((F != c))
128+@Callable(H)
129+func acceptOffer (k) = {
130+ let L = s(j(k))
131+ if ((L != c))
100132 then throw("offer status must be open")
101133 else {
102- let H = getStringValue(this, k(i))
103- let G = toBase58String(B.caller.bytes)
104- if ((H != G))
134+ let N = getStringValue(this, m(k))
135+ let M = toBase58String(H.caller.bytes)
136+ if ((N != M))
105137 then throw("offer must be made to caller")
106- else [IntegerEntry(h(i), e)]
138+ else [IntegerEntry(j(k), e)]
107139 }
108140 }
109141
110142
111143
112-@Callable(B)
113-func rejectOffer (i) = {
114- let F = q(h(i))
115- if ((F != c))
144+@Callable(H)
145+func rejectOffer (k) = {
146+ let L = s(j(k))
147+ if ((L != c))
116148 then throw("offer status must be open")
117149 else {
118- let H = getStringValue(this, k(i))
119- let G = toBase58String(B.caller.bytes)
120- if ((H != G))
150+ let N = getStringValue(this, m(k))
151+ let M = toBase58String(H.caller.bytes)
152+ if ((N != M))
121153 then throw("offer must be made to caller")
122- else w(i, f)
154+ else C(k, f)
123155 }
124156 }
125157
126158

github/deemru/w8io/169f3d6 
133.30 ms