tx · 7s9rjJt3wjBhPvNiPD8nprCRbfVNQeKXgGMfoATB6Zs6 3MpZuKDPW9Hs8HypbAd7bLxNYULnCYhoXQ4: -0.01000000 Waves 2020.04.05 18:29 [941114] smart account 3MpZuKDPW9Hs8HypbAd7bLxNYULnCYhoXQ4 > SELF 0.00000000 Waves
{ "type": 13, "id": "7s9rjJt3wjBhPvNiPD8nprCRbfVNQeKXgGMfoATB6Zs6", "fee": 1000000, "feeAssetId": null, "timestamp": 1586100654224, "version": 1, "sender": "3MpZuKDPW9Hs8HypbAd7bLxNYULnCYhoXQ4", "senderPublicKey": "Eke9tanjCLXE23D8JJf61cqgdG7TSAH7vUbaiAyymfjT", "proofs": [ "2W4ywDVd1xzv6PuvLtPKQycNfuy6MfjGwPdyKQYjWUTQubSQUULoxTSzhiachXZK15MaXdX2BEbWAT9DQcP1xqfP" ], "script": "base64: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", "chainId": 84, "height": 941114, "spentComplexity": 0 } View: original | compacted Prev: none Next: CqJFaBQveL8gV74dKZkUfigd1cer1JE791xV2e9WgfkR Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 3 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | ||
5 | + | ||
6 | + | @Callable(a) | |
7 | + | func atomicDeposit (b,c,d,e) = { | |
8 | + | let f = toBase58String(a.caller.bytes) | |
9 | + | let g = extract(a.payment) | |
10 | + | let h = g.assetId | |
11 | + | let i = { | |
12 | + | let j = getInteger(this, ((b + e) + f)) | |
13 | + | if ($isInstanceOf(j, "Int")) | |
14 | + | then { | |
15 | + | let k = j | |
16 | + | k | |
17 | + | } | |
18 | + | else 0 | |
19 | + | } | |
20 | + | let l = (i + g.amount) | |
21 | + | WriteSet([DataEntry(((f + e) + b), l), DataEntry(((f + c) + b), d), DataEntry(((("F_" + f) + c) + b), true)]) | |
22 | + | } | |
23 | + | ||
24 | + | ||
25 | + | ||
26 | + | @Callable(a) | |
27 | + | func atomicWithdraw (b,c,d,e) = { | |
28 | + | let f = toBase58String(a.caller.bytes) | |
29 | + | let m = fromBase58String(c) | |
30 | + | let n = { | |
31 | + | let j = getInteger(this, ((f + e) + b)) | |
32 | + | if ($isInstanceOf(j, "Int")) | |
33 | + | then { | |
34 | + | let k = j | |
35 | + | k | |
36 | + | } | |
37 | + | else 0 | |
38 | + | } | |
39 | + | let o = { | |
40 | + | let j = getInteger(this, ((f + c) + b)) | |
41 | + | if ($isInstanceOf(j, "Int")) | |
42 | + | then { | |
43 | + | let k = j | |
44 | + | k | |
45 | + | } | |
46 | + | else 0 | |
47 | + | } | |
48 | + | let p = { | |
49 | + | let j = getInteger(this, ((b + c) + f)) | |
50 | + | if ($isInstanceOf(j, "Int")) | |
51 | + | then { | |
52 | + | let k = j | |
53 | + | k | |
54 | + | } | |
55 | + | else 0 | |
56 | + | } | |
57 | + | let q = { | |
58 | + | let j = getInteger(this, ((b + e) + f)) | |
59 | + | if ($isInstanceOf(j, "Int")) | |
60 | + | then { | |
61 | + | let k = j | |
62 | + | k | |
63 | + | } | |
64 | + | else 0 | |
65 | + | } | |
66 | + | let r = { | |
67 | + | let j = getBoolean(this, ((("F_" + f) + c) + b)) | |
68 | + | if ($isInstanceOf(j, "Boolean")) | |
69 | + | then { | |
70 | + | let k = j | |
71 | + | k | |
72 | + | } | |
73 | + | else false | |
74 | + | } | |
75 | + | if (if (if (if ((n == q)) | |
76 | + | then (p == o) | |
77 | + | else false) | |
78 | + | then (r == true) | |
79 | + | else false) | |
80 | + | then (c == "WAVES") | |
81 | + | else false) | |
82 | + | then ScriptResult(WriteSet([DataEntry(((("F_" + f) + c) + b), false)]), TransferSet([ScriptTransfer(a.caller, d, unit)])) | |
83 | + | else if (if (if (if ((n == q)) | |
84 | + | then (p == o) | |
85 | + | else false) | |
86 | + | then (r == true) | |
87 | + | else false) | |
88 | + | then (c != "WAVES") | |
89 | + | else false) | |
90 | + | then ScriptResult(WriteSet([DataEntry(((("F_" + f) + c) + b), false)]), TransferSet([ScriptTransfer(a.caller, d, m)])) | |
91 | + | else throw("Not Atomic Swap") | |
92 | + | } | |
93 | + | ||
94 | + | ||
95 | + | @Verifier(s) | |
96 | + | func t () = { | |
97 | + | let j = s | |
98 | + | if ($isInstanceOf(j, "TransferTransaction")) | |
99 | + | then { | |
100 | + | let u = j | |
101 | + | sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey) | |
102 | + | } | |
103 | + | else if ($isInstanceOf(j, "SetScriptTransaction")) | |
104 | + | then { | |
105 | + | let v = j | |
106 | + | sigVerify(v.bodyBytes, v.proofs[0], v.senderPublicKey) | |
107 | + | } | |
108 | + | else true | |
109 | + | } | |
110 | + |
github/deemru/w8io/169f3d6 14.49 ms ◑