tx · 48efv1TpfzhnXjMiFrRV49iyFePySZ9ogH6MSd7Bck6z
3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV: -0.01400000 Waves
2021.12.10 14:59 [1828112] smart account 3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV > SELF 0.00000000 Waves
{
"type": 13,
"id": "48efv1TpfzhnXjMiFrRV49iyFePySZ9ogH6MSd7Bck6z",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1639137523410,
"version": 2,
"chainId": 84,
"sender": "3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV",
"senderPublicKey": "5amLtMwixiEesBDKPy9dkFWntG2fNxhTs5n69JbQE9F7",
"proofs": [
"3mgArwHENMWE3emskX1d3wuuZn9mtvAiga1iZ2ANu6WQtyKhwSXJwzv39fJ1m8fatBjC82yyqMXeoqqw3DYWmZm4"
],
"script": "base64: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",
"height": 1828112,
"applicationStatus": "succeeded",
"spentComplexity": 0
}
View: original | compacted
Prev: 2RrhLdF3EkWedR1ViV8qJJtNKQ8fL3HgB1Ps8VVYcLvn
Next: Hmji9iEkLZnTxTZFjbMzwfRBDfE6oaQ5G1sndtKEDWWf
Diff:
Old | New | | Differences |
---|
4 | 4 | | let a = base58'GZc7eKnq2KJwqetRmUzSqr2ZaCGseDZufSocz83sUNoo' |
---|
5 | 5 | | |
---|
6 | 6 | | let b = Address(base58'3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV') |
---|
| 7 | + | |
---|
| 8 | + | @Callable(c) |
---|
| 9 | + | func reset () = [DeleteEntry(toBase58String(c.caller.bytes))] |
---|
| 10 | + | |
---|
| 11 | + | |
---|
7 | 12 | | |
---|
8 | 13 | | @Callable(c) |
---|
9 | 14 | | func call (d) = { |
---|
|
44 | 49 | | } |
---|
45 | 50 | | else true |
---|
46 | 51 | | } |
---|
47 | | - | let q = if (if (if ((k > j)) |
---|
| 52 | + | let q = { |
---|
| 53 | + | let l = blockInfoByHeight(height) |
---|
| 54 | + | if ($isInstanceOf(l, "BlockInfo")) |
---|
| 55 | + | then { |
---|
| 56 | + | let r = l |
---|
| 57 | + | r.timestamp |
---|
| 58 | + | } |
---|
| 59 | + | else throw("Can't find block") |
---|
| 60 | + | } |
---|
| 61 | + | let s = if (if (if ((k > j)) |
---|
48 | 62 | | then true |
---|
49 | 63 | | else (i != n)) |
---|
50 | 64 | | then true |
---|
51 | 65 | | else o) |
---|
52 | 66 | | then false |
---|
53 | 67 | | else true |
---|
54 | | - | let r = if ((k > j)) |
---|
| 68 | + | let t = if ((k > j)) |
---|
55 | 69 | | then ("overtime: " + toString(k)) |
---|
56 | 70 | | else if ((i != n)) |
---|
57 | 71 | | then ((("incorrect sender: " + toString(i)) + " / ") + toString(n)) |
---|
58 | 72 | | else if (o) |
---|
59 | 73 | | then "received" |
---|
60 | 74 | | else "prooved" |
---|
61 | | - | if (q) |
---|
62 | | - | then [StringEntry(toBase58String(c.caller.bytes), r)] |
---|
| 75 | + | if (s) |
---|
| 76 | + | then [StringEntry(toBase58String(c.caller.bytes), toString(q))] |
---|
63 | 77 | | else throw("not prooved") |
---|
64 | 78 | | } |
---|
65 | 79 | | else throw("Strict value is not equal to itself.") |
---|
66 | 80 | | } |
---|
67 | 81 | | |
---|
68 | 82 | | |
---|
69 | | - | @Verifier(s) |
---|
70 | | - | func t () = sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey) |
---|
| 83 | + | @Verifier(u) |
---|
| 84 | + | func v () = sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey) |
---|
71 | 85 | | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 5 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | let a = base58'GZc7eKnq2KJwqetRmUzSqr2ZaCGseDZufSocz83sUNoo' |
---|
5 | 5 | | |
---|
6 | 6 | | let b = Address(base58'3N7Gg64FJ3ESaqn41qu1ete7zmzbmoP1AAV') |
---|
| 7 | + | |
---|
| 8 | + | @Callable(c) |
---|
| 9 | + | func reset () = [DeleteEntry(toBase58String(c.caller.bytes))] |
---|
| 10 | + | |
---|
| 11 | + | |
---|
7 | 12 | | |
---|
8 | 13 | | @Callable(c) |
---|
9 | 14 | | func call (d) = { |
---|
10 | 15 | | let e = assetBalance(b, a) |
---|
11 | 16 | | let f = 100 |
---|
12 | 17 | | let g = if ((e > f)) |
---|
13 | 18 | | then true |
---|
14 | 19 | | else throw("not enough") |
---|
15 | 20 | | if ((g == g)) |
---|
16 | 21 | | then { |
---|
17 | 22 | | let h = fromBase58String(d) |
---|
18 | 23 | | let i = Address(c.caller.bytes) |
---|
19 | 24 | | let j = 1639131654752 |
---|
20 | 25 | | let k = { |
---|
21 | 26 | | let l = transferTransactionById(h) |
---|
22 | 27 | | if ($isInstanceOf(l, "TransferTransaction")) |
---|
23 | 28 | | then { |
---|
24 | 29 | | let m = l |
---|
25 | 30 | | m.timestamp |
---|
26 | 31 | | } |
---|
27 | 32 | | else throw("Can't find transaction") |
---|
28 | 33 | | } |
---|
29 | 34 | | let n = { |
---|
30 | 35 | | let l = transferTransactionById(h) |
---|
31 | 36 | | if ($isInstanceOf(l, "TransferTransaction")) |
---|
32 | 37 | | then { |
---|
33 | 38 | | let m = l |
---|
34 | 39 | | m.sender |
---|
35 | 40 | | } |
---|
36 | 41 | | else throw("Can't find transaction") |
---|
37 | 42 | | } |
---|
38 | 43 | | let o = { |
---|
39 | 44 | | let l = getString(toBase58String(c.caller.bytes)) |
---|
40 | 45 | | if ($isInstanceOf(l, "String")) |
---|
41 | 46 | | then { |
---|
42 | 47 | | let p = l |
---|
43 | 48 | | false |
---|
44 | 49 | | } |
---|
45 | 50 | | else true |
---|
46 | 51 | | } |
---|
47 | | - | let q = if (if (if ((k > j)) |
---|
| 52 | + | let q = { |
---|
| 53 | + | let l = blockInfoByHeight(height) |
---|
| 54 | + | if ($isInstanceOf(l, "BlockInfo")) |
---|
| 55 | + | then { |
---|
| 56 | + | let r = l |
---|
| 57 | + | r.timestamp |
---|
| 58 | + | } |
---|
| 59 | + | else throw("Can't find block") |
---|
| 60 | + | } |
---|
| 61 | + | let s = if (if (if ((k > j)) |
---|
48 | 62 | | then true |
---|
49 | 63 | | else (i != n)) |
---|
50 | 64 | | then true |
---|
51 | 65 | | else o) |
---|
52 | 66 | | then false |
---|
53 | 67 | | else true |
---|
54 | | - | let r = if ((k > j)) |
---|
| 68 | + | let t = if ((k > j)) |
---|
55 | 69 | | then ("overtime: " + toString(k)) |
---|
56 | 70 | | else if ((i != n)) |
---|
57 | 71 | | then ((("incorrect sender: " + toString(i)) + " / ") + toString(n)) |
---|
58 | 72 | | else if (o) |
---|
59 | 73 | | then "received" |
---|
60 | 74 | | else "prooved" |
---|
61 | | - | if (q) |
---|
62 | | - | then [StringEntry(toBase58String(c.caller.bytes), r)] |
---|
| 75 | + | if (s) |
---|
| 76 | + | then [StringEntry(toBase58String(c.caller.bytes), toString(q))] |
---|
63 | 77 | | else throw("not prooved") |
---|
64 | 78 | | } |
---|
65 | 79 | | else throw("Strict value is not equal to itself.") |
---|
66 | 80 | | } |
---|
67 | 81 | | |
---|
68 | 82 | | |
---|
69 | | - | @Verifier(s) |
---|
70 | | - | func t () = sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey) |
---|
| 83 | + | @Verifier(u) |
---|
| 84 | + | func v () = sigVerify(u.bodyBytes, u.proofs[0], u.senderPublicKey) |
---|
71 | 85 | | |
---|