tx · 4uHDb3EuvF2Rm3NezEQv6EdJNyRYCDQPcQFMtz6YxDB6
3MvJMBxdrVAf1nCHiarJcQVnKy91HhBKe6w: -0.01400000 Waves
2019.11.18 17:52 [770710] smart account 3MvJMBxdrVAf1nCHiarJcQVnKy91HhBKe6w > SELF 0.00000000 Waves
{
"type": 13,
"id": "4uHDb3EuvF2Rm3NezEQv6EdJNyRYCDQPcQFMtz6YxDB6",
"fee": 1400000,
"feeAssetId": null,
"timestamp": 1574088627687,
"version": 1,
"sender": "3MvJMBxdrVAf1nCHiarJcQVnKy91HhBKe6w",
"senderPublicKey": "99YVxEETpC8daMuVD1HFjz4KEx66SMyjjnCtNmptDa2u",
"proofs": [
"3HBJ681dE2hbM52BvPZgRzEpapUgiyAp9ttdNnDzaMaduA3EPJfPKuabHBoYJ83VRPkwQG6UUWKoJ1abvj4JajPD"
],
"script": "base64:AAIDAAAAAAAAAAgIARIECgIICAAAAAwBAAAAHGdldEV4dEtleUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAABAAAAB2FjY291bnQJAAEsAAAAAgIAAAAQdmVyaWZpZXJfc3RhdHVzXwUAAAAHYWNjb3VudAEAAAAeZ2V0RXh0VmFsdWVJdGVtV2hpdGVMaXN0U3RhdHVzAAAAAQAAAAZzdGF0dXMFAAAABnN0YXR1cwAAAAAIdmVyaWZpZXICAAAAIzNOQ0tvRlF4UmY3enNETmJpdkxGdzFvSjd5OHFKekxtRXM0AAAAABR0aGlzQWRkcmVzc1B1YmxpY0tleQEAAAAgeQ3CE9gMIb37oMo9b2d/nRpvVmKT4DiFAWcrnu2xIwIAAAAAC1dISVRFTElTVEVEAgAAAAtXSElURUxJU1RFRAAAAAALQkxBQ0tMSVNURUQCAAAAC0JMQUNLTElTVEVEAAAAAAdJTlZJVEVEAgAAAAdJTlZJVEVEAAAAABBJTlZJVEVETU9ERVJBVE9SAgAAABBJTlZJVEVETU9ERVJBVE9SAAAAAAxJTlZJVEVEQURNSU4CAAAADElOVklURURBRE1JTgAAAAALU1BFTkRJTlZJVEUCAAAADFNQRU5EX0lOVklURQAAAAAFQURNSU4CAAAABUFETUlOAAAAAAlNT0RFUkFUT1ICAAAACU1PREVSQVRPUgAAAAEAAAABaQEAAAAJc2V0c3RhdHVzAAAAAgAAAAdhY2NvdW50AAAABnN0YXR1cwQAAAAGY2FsbGVyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMDAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyBQAAAAh2ZXJpZmllcgMJAQAAAAIhPQAAAAIJAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAABBQAAAAZjYWxsZXIFAAAACU1PREVSQVRPUgYJAQAAAAIhPQAAAAIJAQAAAB5nZXRFeHRWYWx1ZUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAABBQAAAAZjYWxsZXIFAAAABUFETUlOBwkAAAIAAAABAgAAADhvbmx5IEtvbGluIEFETUlOUyBvciBNT0RFUkFUT1JTIGNhbiBtYW5hZ2UgdGhlIHdoaXRlbGlzdAMDCQEAAAACIT0AAAACBQAAAAZjYWxsZXIFAAAACHZlcmlmaWVyAwMDAwMDAwkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAtXSElURUxJU1RFRAYJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAALQkxBQ0tMSVNURUQGCQEAAAACIT0AAAACBQAAAAZzdGF0dXMFAAAAB0lOVklURUQGCQEAAAACIT0AAAACBQAAAAZzdGF0dXMFAAAAEElOVklURURNT0RFUkFUT1IGCQEAAAACIT0AAAACBQAAAAZzdGF0dXMFAAAADElOVklURURBRE1JTgYJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAAJTU9ERVJBVE9SBgkBAAAAAiE9AAAAAgUAAAAGc3RhdHVzBQAAAAVBRE1JTgYJAQAAAAIhPQAAAAIFAAAABnN0YXR1cwUAAAALU1BFTkRJTlZJVEUHCQAAAgAAAAECAAAAFXN0YXR1cyBub3QgcmVjb2duaXNlZAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAHGdldEV4dEtleUl0ZW1XaGl0ZUxpc3RTdGF0dXMAAAABBQAAAAdhY2NvdW50BQAAAAZzdGF0dXMFAAAAA25pbAAAAAEAAAABaQEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAABaQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXMFAAAAByRtYXRjaDAJAAH0AAAAAwkAAZEAAAACCAUAAAABaQAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAFpAAAACWJvZHlCeXRlcwgFAAAAAWkAAAAPc2VuZGVyUHVibGljS2V5B6fFC5o=",
"chainId": 84,
"height": 770710,
"spentComplexity": 0
}
View: original | compacted
Prev: 2u9aiPHfkxQk28ini5g15xLz7RpUmxAzb1PBfBioFv23
Next: none
Diff:
Old | New | | Differences |
---|
9 | 9 | | |
---|
10 | 10 | | let e = "3NCKoFQxRf7zsDNbivLFw1oJ7y8qJzLmEs4" |
---|
11 | 11 | | |
---|
12 | | - | let f = "WHITELISTED" |
---|
| 12 | + | let f = base58'99YVxEETpC8daMuVD1HFjz4KEx66SMyjjnCtNmptDa2u' |
---|
13 | 13 | | |
---|
14 | | - | let g = "BLACKLISTED" |
---|
| 14 | + | let g = "WHITELISTED" |
---|
15 | 15 | | |
---|
16 | | - | let h = "INVITED" |
---|
| 16 | + | let h = "BLACKLISTED" |
---|
17 | 17 | | |
---|
18 | | - | let i = "INVITEDMODERATOR" |
---|
| 18 | + | let i = "INVITED" |
---|
19 | 19 | | |
---|
20 | | - | let j = "INVITEDADMIN" |
---|
| 20 | + | let j = "INVITEDMODERATOR" |
---|
21 | 21 | | |
---|
22 | | - | let k = "SPEND_INVITE" |
---|
| 22 | + | let k = "INVITEDADMIN" |
---|
23 | 23 | | |
---|
24 | | - | let l = "ADMIN" |
---|
| 24 | + | let l = "SPEND_INVITE" |
---|
25 | 25 | | |
---|
26 | | - | let m = "MODERATOR" |
---|
| 26 | + | let m = "ADMIN" |
---|
27 | 27 | | |
---|
28 | | - | @Callable(n) |
---|
| 28 | + | let n = "MODERATOR" |
---|
| 29 | + | |
---|
| 30 | + | @Callable(o) |
---|
29 | 31 | | func setstatus (b,d) = { |
---|
30 | | - | let o = toBase58String(n.caller.bytes) |
---|
31 | | - | if (if ((o != e)) |
---|
32 | | - | then if ((c(o) != m)) |
---|
| 32 | + | let p = toBase58String(o.caller.bytes) |
---|
| 33 | + | if (if ((p != e)) |
---|
| 34 | + | then if ((c(p) != n)) |
---|
33 | 35 | | then true |
---|
34 | | - | else (c(o) != l) |
---|
| 36 | + | else (c(p) != m) |
---|
35 | 37 | | else false) |
---|
36 | 38 | | then throw("only Kolin ADMINS or MODERATORS can manage the whitelist") |
---|
37 | | - | else if (if ((o != e)) |
---|
38 | | - | then if (if (if (if (if (if (if ((d != f)) |
---|
39 | | - | then true |
---|
40 | | - | else (d != g)) |
---|
| 39 | + | else if (if ((p != e)) |
---|
| 40 | + | then if (if (if (if (if (if (if ((d != g)) |
---|
41 | 41 | | then true |
---|
42 | 42 | | else (d != h)) |
---|
43 | 43 | | then true |
---|
|
45 | 45 | | then true |
---|
46 | 46 | | else (d != j)) |
---|
47 | 47 | | then true |
---|
| 48 | + | else (d != k)) |
---|
| 49 | + | then true |
---|
| 50 | + | else (d != n)) |
---|
| 51 | + | then true |
---|
48 | 52 | | else (d != m)) |
---|
49 | 53 | | then true |
---|
50 | | - | else (d != l)) |
---|
51 | | - | then true |
---|
52 | | - | else (d != k) |
---|
| 54 | + | else (d != l) |
---|
53 | 55 | | else false) |
---|
54 | 56 | | then throw("status not recognised") |
---|
55 | 57 | | else WriteSet([DataEntry(a(b), d)]) |
---|
56 | 58 | | } |
---|
57 | 59 | | |
---|
58 | 60 | | |
---|
| 61 | + | @Verifier(o) |
---|
| 62 | + | func q () = { |
---|
| 63 | + | let r = o |
---|
| 64 | + | if ($isInstanceOf(r, "SetScriptTransaction")) |
---|
| 65 | + | then { |
---|
| 66 | + | let s = r |
---|
| 67 | + | sigVerify(o.proofs[0], o.bodyBytes, o.senderPublicKey) |
---|
| 68 | + | } |
---|
| 69 | + | else false |
---|
| 70 | + | } |
---|
| 71 | + | |
---|
Full:
Old | New | | Differences |
---|
1 | 1 | | {-# STDLIB_VERSION 3 #-} |
---|
2 | 2 | | {-# SCRIPT_TYPE ACCOUNT #-} |
---|
3 | 3 | | {-# CONTENT_TYPE DAPP #-} |
---|
4 | 4 | | func a (b) = ("verifier_status_" + b) |
---|
5 | 5 | | |
---|
6 | 6 | | |
---|
7 | 7 | | func c (d) = d |
---|
8 | 8 | | |
---|
9 | 9 | | |
---|
10 | 10 | | let e = "3NCKoFQxRf7zsDNbivLFw1oJ7y8qJzLmEs4" |
---|
11 | 11 | | |
---|
12 | | - | let f = "WHITELISTED" |
---|
| 12 | + | let f = base58'99YVxEETpC8daMuVD1HFjz4KEx66SMyjjnCtNmptDa2u' |
---|
13 | 13 | | |
---|
14 | | - | let g = "BLACKLISTED" |
---|
| 14 | + | let g = "WHITELISTED" |
---|
15 | 15 | | |
---|
16 | | - | let h = "INVITED" |
---|
| 16 | + | let h = "BLACKLISTED" |
---|
17 | 17 | | |
---|
18 | | - | let i = "INVITEDMODERATOR" |
---|
| 18 | + | let i = "INVITED" |
---|
19 | 19 | | |
---|
20 | | - | let j = "INVITEDADMIN" |
---|
| 20 | + | let j = "INVITEDMODERATOR" |
---|
21 | 21 | | |
---|
22 | | - | let k = "SPEND_INVITE" |
---|
| 22 | + | let k = "INVITEDADMIN" |
---|
23 | 23 | | |
---|
24 | | - | let l = "ADMIN" |
---|
| 24 | + | let l = "SPEND_INVITE" |
---|
25 | 25 | | |
---|
26 | | - | let m = "MODERATOR" |
---|
| 26 | + | let m = "ADMIN" |
---|
27 | 27 | | |
---|
28 | | - | @Callable(n) |
---|
| 28 | + | let n = "MODERATOR" |
---|
| 29 | + | |
---|
| 30 | + | @Callable(o) |
---|
29 | 31 | | func setstatus (b,d) = { |
---|
30 | | - | let o = toBase58String(n.caller.bytes) |
---|
31 | | - | if (if ((o != e)) |
---|
32 | | - | then if ((c(o) != m)) |
---|
| 32 | + | let p = toBase58String(o.caller.bytes) |
---|
| 33 | + | if (if ((p != e)) |
---|
| 34 | + | then if ((c(p) != n)) |
---|
33 | 35 | | then true |
---|
34 | | - | else (c(o) != l) |
---|
| 36 | + | else (c(p) != m) |
---|
35 | 37 | | else false) |
---|
36 | 38 | | then throw("only Kolin ADMINS or MODERATORS can manage the whitelist") |
---|
37 | | - | else if (if ((o != e)) |
---|
38 | | - | then if (if (if (if (if (if (if ((d != f)) |
---|
39 | | - | then true |
---|
40 | | - | else (d != g)) |
---|
| 39 | + | else if (if ((p != e)) |
---|
| 40 | + | then if (if (if (if (if (if (if ((d != g)) |
---|
41 | 41 | | then true |
---|
42 | 42 | | else (d != h)) |
---|
43 | 43 | | then true |
---|
44 | 44 | | else (d != i)) |
---|
45 | 45 | | then true |
---|
46 | 46 | | else (d != j)) |
---|
47 | 47 | | then true |
---|
| 48 | + | else (d != k)) |
---|
| 49 | + | then true |
---|
| 50 | + | else (d != n)) |
---|
| 51 | + | then true |
---|
48 | 52 | | else (d != m)) |
---|
49 | 53 | | then true |
---|
50 | | - | else (d != l)) |
---|
51 | | - | then true |
---|
52 | | - | else (d != k) |
---|
| 54 | + | else (d != l) |
---|
53 | 55 | | else false) |
---|
54 | 56 | | then throw("status not recognised") |
---|
55 | 57 | | else WriteSet([DataEntry(a(b), d)]) |
---|
56 | 58 | | } |
---|
57 | 59 | | |
---|
58 | 60 | | |
---|
| 61 | + | @Verifier(o) |
---|
| 62 | + | func q () = { |
---|
| 63 | + | let r = o |
---|
| 64 | + | if ($isInstanceOf(r, "SetScriptTransaction")) |
---|
| 65 | + | then { |
---|
| 66 | + | let s = r |
---|
| 67 | + | sigVerify(o.proofs[0], o.bodyBytes, o.senderPublicKey) |
---|
| 68 | + | } |
---|
| 69 | + | else false |
---|
| 70 | + | } |
---|
| 71 | + | |
---|