tx · HCJYc2aqPxoTmXtE9V8oJBGWpzSdHtBUwmHXydBGussM

3Mz3XPi4hQnfVK9ZaA27YwFfiPApPgFnCts:  -0.01400000 Waves

2019.12.27 18:05 [827597] smart account 3Mz3XPi4hQnfVK9ZaA27YwFfiPApPgFnCts > SELF 0.00000000 Waves

{ "type": 13, "id": "HCJYc2aqPxoTmXtE9V8oJBGWpzSdHtBUwmHXydBGussM", "fee": 1400000, "feeAssetId": null, "timestamp": 1577459186792, "version": 1, "sender": "3Mz3XPi4hQnfVK9ZaA27YwFfiPApPgFnCts", "senderPublicKey": "PuRPu7vRxThZUjyn7EuGuZyy6f77Sj87fnAzQC9Af4V", "proofs": [ "29xmAbqhGB4VJTfLqzqiEm7pMaRpooZXAr64TmHmArmNawNPMu7nVk3sjRbUo4qxE6wRBzqFuvQ7goRsX6vgbhHj" ], "script": "base64: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", "chainId": 84, "height": 827597, "spentComplexity": 0 } View: original | compacted Prev: none Next: 7hUQw4rFyVhA1ZwzkfM6agjCb9TzTswtQXwzziTtBkRJ Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = {
5+ let b = getBinary(this, "tokenPortInOtherChain")
6+ if ($isInstanceOf(b, "ByteVector"))
7+ then {
8+ let c = b
9+ c
10+ }
11+ else throw("tokenPortInOtherChain is not defined")
12+ }
13+
14+let d = {
15+ let b = getBinary(this, "chainCollector")
16+ if ($isInstanceOf(b, "ByteVector"))
17+ then {
18+ let c = b
19+ Address(c)
20+ }
21+ else throw("chainCollector is not defined")
22+ }
23+
24+func e (f) = {
25+ let b = getBinary(d, toString(f))
26+ if ($isInstanceOf(b, "ByteVector"))
27+ then {
28+ let c = b
29+ c
30+ }
31+ else throw("Block info not found")
32+ }
33+
34+
35+func g (h) = {
36+ let b = h
37+ if ($isInstanceOf(b, "ByteVector"))
38+ then {
39+ let h = b
40+ toBase58String(h)
41+ }
42+ else "WAVES"
43+ }
44+
45+
46+func i (j) = if ((j == "WAVES"))
47+ then unit
48+ else fromBase58String(j)
49+
50+
51+func k (l) = {
52+ let m = toInt(takeRightBytes(take(l, (((1 + 1) + 32) + 1)), 1))
53+ if ((m == 0))
54+ then unit
55+ else takeRightBytes(take(l, ((((1 + 1) + 32) + 1) + 32)), 32)
56+ }
57+
58+
59+func n (l) = blake2b256(l)
60+
61+
62+func o (l) = {
63+ let m = toInt(takeRightBytes(take(l, (((1 + 1) + 32) + 1)), 1))
64+ let p = if ((m == 0))
65+ then 0
66+ else 32
67+ let q = toInt(takeRightBytes(take(l, (((((1 + 1) + 32) + 1) + p) + 1)), 1))
68+ let r = if ((q == 0))
69+ then 0
70+ else 32
71+ takeRightBytes(take(l, ((((((((((1 + 1) + 32) + 1) + p) + 1) + r) + 8) + 8) + 8) + 32)), 32)
72+ }
73+
74+
75+func s (l) = {
76+ let m = toInt(takeRightBytes(take(l, (((1 + 1) + 32) + 1)), 1))
77+ let p = if ((m == 0))
78+ then 0
79+ else 32
80+ let q = toInt(takeRightBytes(take(l, (((((1 + 1) + 32) + 1) + p) + 1)), 1))
81+ let r = if ((q == 0))
82+ then 0
83+ else 32
84+ toInt(takeRightBytes(take(l, ((((((((1 + 1) + 32) + 1) + p) + 1) + r) + 8) + 8)), 8))
85+ }
86+
87+
88+func t (l) = {
89+ let m = toInt(takeRightBytes(take(l, (((1 + 1) + 32) + 1)), 1))
90+ let p = if ((m == 0))
91+ then 0
92+ else 32
93+ let q = toInt(takeRightBytes(take(l, (((((1 + 1) + 32) + 1) + p) + 1)), 1))
94+ let r = if ((q == 0))
95+ then 0
96+ else 32
97+ let u = toInt(takeRightBytes(take(l, (((((((((((1 + 1) + 32) + 1) + p) + 1) + r) + 8) + 8) + 8) + 32) + 2)), 2))
98+ takeRightBytes(take(l, ((((((((((((1 + 1) + 32) + 1) + p) + 1) + r) + 8) + 8) + 8) + 32) + 2) + u)), u)
99+ }
100+
101+
102+func v (l) = toInt(take(l, 1))
103+
104+
105+@Callable(w)
106+func withdraw (x,y,z) = {
107+ let A = e(y)
108+ let B = n(x)
109+ let C = o(x)
110+ let D = t(x)
111+ let E = s(x)
112+ let F = k(x)
113+ let G = v(x)
114+ let H = (toBase58String(B) + "_tx")
115+ let I = (g(F) + "_asset")
116+ let J = {
117+ let b = getString(this, I)
118+ if ($isInstanceOf(b, "String"))
119+ then {
120+ let K = b
121+ i(K)
122+ }
123+ else throw("incorrect asset")
124+ }
125+ if ((G != 4))
126+ then throw("incorrect transaction type")
127+ else if ((C != a))
128+ then throw("incorrect tx recipient")
129+ else {
130+ let L = Address(D)
131+ if (isDefined(getBoolean(this, H)))
132+ then throw("this tx has already been withdrawn")
133+ else if (!(checkMerkleProof(A, B, z)))
134+ then throw("incorrect Merkle proof")
135+ else ScriptResult(WriteSet([DataEntry(H, true)]), TransferSet([ScriptTransfer(L, E, J)]))
136+ }
137+ }
138+
139+
140+@Verifier(M)
141+func N () = sigVerify(M.bodyBytes, M.proofs[0], M.senderPublicKey)
142+

github/deemru/w8io/169f3d6 
22.82 ms