tx · 2A8tU5AXsf5vVhQnwHJ5X4FJTZfsb4ND73Gknkurqnaj 3N5YzdqDE6FDdsLNGXU4G4yrmirb2oiifEc: -0.01000000 Waves 2022.10.21 11:08 [2281910] smart account 3N5YzdqDE6FDdsLNGXU4G4yrmirb2oiifEc > SELF 0.00000000 Waves
{ "type": 13, "id": "2A8tU5AXsf5vVhQnwHJ5X4FJTZfsb4ND73Gknkurqnaj", "fee": 1000000, "feeAssetId": null, "timestamp": 1666339708155, "version": 2, "chainId": 84, "sender": "3N5YzdqDE6FDdsLNGXU4G4yrmirb2oiifEc", "senderPublicKey": "E3rsNDJ7CyVzRYUkm1k4GYLuZYYxzQioRgWedzPYXTSL", "proofs": [ "4fgeQAuzW7pb5qRgQBfvb3tpGRwGBj6Xx1nocqT88hghhi8L6oWFBTbjgGrVWgGk4SFbdPB38ZTXDcjVrfvyQigw" ], "script": "base64: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", "height": 2281910, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9tuUdbBR7tbAzRv6ZQCayo4wQPV51ehYozhLhUEHXfXo Next: CwKnpEMwVKg5B4gCdryW29Ju92F6eCPErhdKaWEKoYN5 Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS' | |
5 | 5 | ||
6 | - | let b = | |
6 | + | let b = base58'AkU3DaDKndbWSVaw4LmxuduVQBXkwkKZ7mV5dxrAqLvT' | |
7 | 7 | ||
8 | - | let c = | |
8 | + | let c = "43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS" | |
9 | 9 | ||
10 | - | let d = " | |
10 | + | let d = "AkU3DaDKndbWSVaw4LmxuduVQBXkwkKZ7mV5dxrAqLvT" | |
11 | 11 | ||
12 | - | let e = | |
12 | + | let e = 10000000000 | |
13 | 13 | ||
14 | - | func f (g) = { | |
15 | - | let h = a | |
16 | - | if ((size(g.payments) == 0)) | |
14 | + | let f = (7 * 1440) | |
15 | + | ||
16 | + | let g = "purpose" | |
17 | + | ||
18 | + | let h = "purposeId" | |
19 | + | ||
20 | + | let i = 2 | |
21 | + | ||
22 | + | func j (k) = { | |
23 | + | let l = a | |
24 | + | if ((size(k.payments) == 0)) | |
17 | 25 | then throw("payment not attached") | |
18 | 26 | else { | |
19 | - | let | |
20 | - | let | |
21 | - | if ($isInstanceOf( | |
27 | + | let m = k.payments[0] | |
28 | + | let n = m.assetId | |
29 | + | if ($isInstanceOf(n, "ByteVector")) | |
22 | 30 | then { | |
23 | - | let | |
24 | - | if (( | |
25 | - | then ( | |
31 | + | let o = n | |
32 | + | if ((o == l)) | |
33 | + | then (m.amount == e) | |
26 | 34 | else false | |
27 | 35 | } | |
28 | 36 | else throw("wrong payment asset") | |
30 | 38 | } | |
31 | 39 | ||
32 | 40 | ||
33 | - | @Callable( | |
34 | - | func newPurpose ( | |
35 | - | let | |
36 | - | let | |
37 | - | let | |
38 | - | if (if (( | |
41 | + | @Callable(k) | |
42 | + | func newPurpose (p) = { | |
43 | + | let q = size(toBytes(p)) | |
44 | + | let r = toBase58String(k.caller.bytes) | |
45 | + | let s = valueOrElse(getInteger(this, h), 0) | |
46 | + | if (if ((q > 200)) | |
39 | 47 | then true | |
40 | - | else (10 > | |
48 | + | else (10 > q)) | |
41 | 49 | then throw("purpose text cannot be more than 200") | |
42 | - | else if (!( | |
43 | - | then throw(("you have to pay " + toString( | |
50 | + | else if (!(j(k))) | |
51 | + | then throw(("you have to pay " + toString(e))) | |
44 | 52 | else { | |
45 | - | let | |
46 | - | let | |
47 | - | let | |
48 | - | let | |
49 | - | [StringEntry(((( | |
53 | + | let t = height | |
54 | + | let u = (height + f) | |
55 | + | let v = toBase64String(toBytes(p)) | |
56 | + | let w = (s + 1) | |
57 | + | [StringEntry((((g + "_") + toString(w)) + "_text"), v), IntegerEntry(h, w), StringEntry((((g + "_") + toString(w)) + "_duration"), ((toString(t) + "_") + toString(u))), StringEntry((((g + "_") + toString(w)) + "_owner"), r)] | |
50 | 58 | } | |
51 | 59 | } | |
52 | 60 | ||
53 | 61 | ||
54 | 62 | ||
55 | - | @Callable( | |
56 | - | func vote4EnnoDAO ( | |
57 | - | let | |
58 | - | let | |
59 | - | let | |
60 | - | let | |
61 | - | let | |
62 | - | if (if (( | |
63 | + | @Callable(k) | |
64 | + | func vote4EnnoDAO (s,x) = { | |
65 | + | let y = valueOrErrorMessage(getString(this, (((g + "_") + toString(s)) + "_duration")), "purpose not found") | |
66 | + | let z = split(y, "_") | |
67 | + | let t = valueOrElse(parseInt(z[0]), 0) | |
68 | + | let u = valueOrElse(parseInt(z[1]), 0) | |
69 | + | let r = toBase58String(k.caller.bytes) | |
70 | + | if (if ((t > height)) | |
63 | 71 | then true | |
64 | - | else (height > | |
65 | - | then throw(("voting period is over for | |
66 | - | else if (if ((0 >= | |
72 | + | else (height > u)) | |
73 | + | then throw(("voting period is over for purposal: " + toString(s))) | |
74 | + | else if (if ((0 >= x)) | |
67 | 75 | then true | |
68 | - | else ( | |
76 | + | else (x > 2)) | |
69 | 77 | then throw("vote must be yes or no") | |
70 | 78 | else { | |
71 | - | let | |
72 | - | let | |
73 | - | if (if ((0 >= | |
79 | + | let A = k.payments[0].amount | |
80 | + | let B = (height + f) | |
81 | + | if (if (if ((0 >= A)) | |
74 | 82 | then true | |
75 | - | else (g.payments[0].assetId != a)) | |
83 | + | else (k.payments[0].assetId != a)) | |
84 | + | then true | |
85 | + | else (k.payments[0].assetId != b)) | |
76 | 86 | then throw("invalid token attached") | |
77 | 87 | else { | |
78 | - | let | |
79 | - | let | |
80 | - | let | |
81 | - | if (( | |
88 | + | let C = valueOrElse(getInteger(this, (((g + "_") + toString(s)) + "_totalVote")), 0) | |
89 | + | let D = valueOrElse(getInteger(this, ((((g + "_") + toString(s)) + r) + "_walletTotalVote")), 0) | |
90 | + | let E = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock")), height) | |
91 | + | if ((x == 1)) | |
82 | 92 | then { | |
83 | - | let | |
84 | - | let | |
85 | - | let | |
86 | - | [IntegerEntry(((((( | |
93 | + | let F = valueOrElse(getInteger(this, (((g + "_") + toString(s)) + "_yes")), 0) | |
94 | + | let G = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_yes")), 0) | |
95 | + | let H = (F + A) | |
96 | + | [IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_yes"), (G + A)), IntegerEntry((((g + "_") + toString(s)) + "_yes"), H), IntegerEntry((((g + "_") + toString(s)) + "_totalVote"), (A + C)), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock"), E), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_walletTotalVote"), (A + D))] | |
87 | 97 | } | |
88 | - | else if (( | |
98 | + | else if ((x == 2)) | |
89 | 99 | then { | |
90 | - | let | |
91 | - | let | |
92 | - | let | |
93 | - | [IntegerEntry(((((( | |
100 | + | let I = valueOrElse(getInteger(this, (((g + "_") + toString(s)) + "_no")), 0) | |
101 | + | let J = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_no")), 0) | |
102 | + | let H = (I + A) | |
103 | + | [IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_no"), (J + A)), IntegerEntry((((g + "_") + toString(s)) + "_no"), H), IntegerEntry((((g + "_") + toString(s)) + "_totalVote"), (A + C)), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock"), E), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_walletTotalVote"), (A + D))] | |
94 | 104 | } | |
95 | 105 | else throw("nothing to do my friend") | |
96 | 106 | } | |
99 | 109 | ||
100 | 110 | ||
101 | 111 | ||
102 | - | @Callable( | |
103 | - | func claimBack ( | |
104 | - | let | |
105 | - | let | |
106 | - | let | |
107 | - | let | |
108 | - | let | |
109 | - | let | |
110 | - | if ((height > | |
111 | - | then if (( | |
112 | - | then [ScriptTransfer( | |
112 | + | @Callable(k) | |
113 | + | func claimBack (s) = { | |
114 | + | let r = toBase58String(k.caller.bytes) | |
115 | + | let G = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_yes")), 0) | |
116 | + | let J = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_no")), 0) | |
117 | + | let K = valueOrErrorMessage(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock")), "something went wrong. probably you did not vote for this!") | |
118 | + | let L = (K + f) | |
119 | + | let H = (G + J) | |
120 | + | if ((height > L)) | |
121 | + | then if ((H > 0)) | |
122 | + | then [ScriptTransfer(k.caller, H, a)] | |
113 | 123 | else throw("nothing to claim!") | |
114 | - | else throw(("still locked! will be available at: " + toString( | |
124 | + | else throw(("still locked! will be available at: " + toString(K))) | |
115 | 125 | } | |
116 | 126 | ||
117 | 127 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = base58'43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS' | |
5 | 5 | ||
6 | - | let b = | |
6 | + | let b = base58'AkU3DaDKndbWSVaw4LmxuduVQBXkwkKZ7mV5dxrAqLvT' | |
7 | 7 | ||
8 | - | let c = | |
8 | + | let c = "43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS" | |
9 | 9 | ||
10 | - | let d = " | |
10 | + | let d = "AkU3DaDKndbWSVaw4LmxuduVQBXkwkKZ7mV5dxrAqLvT" | |
11 | 11 | ||
12 | - | let e = | |
12 | + | let e = 10000000000 | |
13 | 13 | ||
14 | - | func f (g) = { | |
15 | - | let h = a | |
16 | - | if ((size(g.payments) == 0)) | |
14 | + | let f = (7 * 1440) | |
15 | + | ||
16 | + | let g = "purpose" | |
17 | + | ||
18 | + | let h = "purposeId" | |
19 | + | ||
20 | + | let i = 2 | |
21 | + | ||
22 | + | func j (k) = { | |
23 | + | let l = a | |
24 | + | if ((size(k.payments) == 0)) | |
17 | 25 | then throw("payment not attached") | |
18 | 26 | else { | |
19 | - | let | |
20 | - | let | |
21 | - | if ($isInstanceOf( | |
27 | + | let m = k.payments[0] | |
28 | + | let n = m.assetId | |
29 | + | if ($isInstanceOf(n, "ByteVector")) | |
22 | 30 | then { | |
23 | - | let | |
24 | - | if (( | |
25 | - | then ( | |
31 | + | let o = n | |
32 | + | if ((o == l)) | |
33 | + | then (m.amount == e) | |
26 | 34 | else false | |
27 | 35 | } | |
28 | 36 | else throw("wrong payment asset") | |
29 | 37 | } | |
30 | 38 | } | |
31 | 39 | ||
32 | 40 | ||
33 | - | @Callable( | |
34 | - | func newPurpose ( | |
35 | - | let | |
36 | - | let | |
37 | - | let | |
38 | - | if (if (( | |
41 | + | @Callable(k) | |
42 | + | func newPurpose (p) = { | |
43 | + | let q = size(toBytes(p)) | |
44 | + | let r = toBase58String(k.caller.bytes) | |
45 | + | let s = valueOrElse(getInteger(this, h), 0) | |
46 | + | if (if ((q > 200)) | |
39 | 47 | then true | |
40 | - | else (10 > | |
48 | + | else (10 > q)) | |
41 | 49 | then throw("purpose text cannot be more than 200") | |
42 | - | else if (!( | |
43 | - | then throw(("you have to pay " + toString( | |
50 | + | else if (!(j(k))) | |
51 | + | then throw(("you have to pay " + toString(e))) | |
44 | 52 | else { | |
45 | - | let | |
46 | - | let | |
47 | - | let | |
48 | - | let | |
49 | - | [StringEntry(((( | |
53 | + | let t = height | |
54 | + | let u = (height + f) | |
55 | + | let v = toBase64String(toBytes(p)) | |
56 | + | let w = (s + 1) | |
57 | + | [StringEntry((((g + "_") + toString(w)) + "_text"), v), IntegerEntry(h, w), StringEntry((((g + "_") + toString(w)) + "_duration"), ((toString(t) + "_") + toString(u))), StringEntry((((g + "_") + toString(w)) + "_owner"), r)] | |
50 | 58 | } | |
51 | 59 | } | |
52 | 60 | ||
53 | 61 | ||
54 | 62 | ||
55 | - | @Callable( | |
56 | - | func vote4EnnoDAO ( | |
57 | - | let | |
58 | - | let | |
59 | - | let | |
60 | - | let | |
61 | - | let | |
62 | - | if (if (( | |
63 | + | @Callable(k) | |
64 | + | func vote4EnnoDAO (s,x) = { | |
65 | + | let y = valueOrErrorMessage(getString(this, (((g + "_") + toString(s)) + "_duration")), "purpose not found") | |
66 | + | let z = split(y, "_") | |
67 | + | let t = valueOrElse(parseInt(z[0]), 0) | |
68 | + | let u = valueOrElse(parseInt(z[1]), 0) | |
69 | + | let r = toBase58String(k.caller.bytes) | |
70 | + | if (if ((t > height)) | |
63 | 71 | then true | |
64 | - | else (height > | |
65 | - | then throw(("voting period is over for | |
66 | - | else if (if ((0 >= | |
72 | + | else (height > u)) | |
73 | + | then throw(("voting period is over for purposal: " + toString(s))) | |
74 | + | else if (if ((0 >= x)) | |
67 | 75 | then true | |
68 | - | else ( | |
76 | + | else (x > 2)) | |
69 | 77 | then throw("vote must be yes or no") | |
70 | 78 | else { | |
71 | - | let | |
72 | - | let | |
73 | - | if (if ((0 >= | |
79 | + | let A = k.payments[0].amount | |
80 | + | let B = (height + f) | |
81 | + | if (if (if ((0 >= A)) | |
74 | 82 | then true | |
75 | - | else (g.payments[0].assetId != a)) | |
83 | + | else (k.payments[0].assetId != a)) | |
84 | + | then true | |
85 | + | else (k.payments[0].assetId != b)) | |
76 | 86 | then throw("invalid token attached") | |
77 | 87 | else { | |
78 | - | let | |
79 | - | let | |
80 | - | let | |
81 | - | if (( | |
88 | + | let C = valueOrElse(getInteger(this, (((g + "_") + toString(s)) + "_totalVote")), 0) | |
89 | + | let D = valueOrElse(getInteger(this, ((((g + "_") + toString(s)) + r) + "_walletTotalVote")), 0) | |
90 | + | let E = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock")), height) | |
91 | + | if ((x == 1)) | |
82 | 92 | then { | |
83 | - | let | |
84 | - | let | |
85 | - | let | |
86 | - | [IntegerEntry(((((( | |
93 | + | let F = valueOrElse(getInteger(this, (((g + "_") + toString(s)) + "_yes")), 0) | |
94 | + | let G = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_yes")), 0) | |
95 | + | let H = (F + A) | |
96 | + | [IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_yes"), (G + A)), IntegerEntry((((g + "_") + toString(s)) + "_yes"), H), IntegerEntry((((g + "_") + toString(s)) + "_totalVote"), (A + C)), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock"), E), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_walletTotalVote"), (A + D))] | |
87 | 97 | } | |
88 | - | else if (( | |
98 | + | else if ((x == 2)) | |
89 | 99 | then { | |
90 | - | let | |
91 | - | let | |
92 | - | let | |
93 | - | [IntegerEntry(((((( | |
100 | + | let I = valueOrElse(getInteger(this, (((g + "_") + toString(s)) + "_no")), 0) | |
101 | + | let J = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_no")), 0) | |
102 | + | let H = (I + A) | |
103 | + | [IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_no"), (J + A)), IntegerEntry((((g + "_") + toString(s)) + "_no"), H), IntegerEntry((((g + "_") + toString(s)) + "_totalVote"), (A + C)), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock"), E), IntegerEntry((((((g + "_") + toString(s)) + "_") + r) + "_walletTotalVote"), (A + D))] | |
94 | 104 | } | |
95 | 105 | else throw("nothing to do my friend") | |
96 | 106 | } | |
97 | 107 | } | |
98 | 108 | } | |
99 | 109 | ||
100 | 110 | ||
101 | 111 | ||
102 | - | @Callable( | |
103 | - | func claimBack ( | |
104 | - | let | |
105 | - | let | |
106 | - | let | |
107 | - | let | |
108 | - | let | |
109 | - | let | |
110 | - | if ((height > | |
111 | - | then if (( | |
112 | - | then [ScriptTransfer( | |
112 | + | @Callable(k) | |
113 | + | func claimBack (s) = { | |
114 | + | let r = toBase58String(k.caller.bytes) | |
115 | + | let G = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_yes")), 0) | |
116 | + | let J = valueOrElse(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_no")), 0) | |
117 | + | let K = valueOrErrorMessage(getInteger(this, (((((g + "_") + toString(s)) + "_") + r) + "_firstVoteBlock")), "something went wrong. probably you did not vote for this!") | |
118 | + | let L = (K + f) | |
119 | + | let H = (G + J) | |
120 | + | if ((height > L)) | |
121 | + | then if ((H > 0)) | |
122 | + | then [ScriptTransfer(k.caller, H, a)] | |
113 | 123 | else throw("nothing to claim!") | |
114 | - | else throw(("still locked! will be available at: " + toString( | |
124 | + | else throw(("still locked! will be available at: " + toString(K))) | |
115 | 125 | } | |
116 | 126 | ||
117 | 127 |
github/deemru/w8io/169f3d6 76.67 ms ◑![]()