tx · 5fJ5Msi8gDUn22jXYqvjWvAnCJjZAibhe4ecFn117vN8 3P9UwbKGJmcnsgzc7mJ5zXG2FF8citDGdhK: -0.00300000 Waves 2022.12.25 17:17 [3441405] smart account 3P9UwbKGJmcnsgzc7mJ5zXG2FF8citDGdhK > SELF 0.00000000 Waves
{ "type": 13, "id": "5fJ5Msi8gDUn22jXYqvjWvAnCJjZAibhe4ecFn117vN8", "fee": 300000, "feeAssetId": null, "timestamp": 1671977895301, "version": 1, "sender": "3P9UwbKGJmcnsgzc7mJ5zXG2FF8citDGdhK", "senderPublicKey": "GWMm4c52Zgspcs2fYCEimg1AVi1rfWudsKYqBXQG9NwB", "proofs": [ "3VkTKfGTxSpLbiJctc7rTqUA8JPtUwGKamXEmAXVX3ekP5PYX3XBrGUgQJxqq2GBahZrhi7tjwKY1RqFeA5tpK8c" ], "script": "base64:BgIECAISAAYADGFkbWluQWRkcmVzcwkBB0FkZHJlc3MBARoBVzQU33FERt8wVNH3uJxzRQyrOiubTY4mYQAFYWRkcjEJAQdBZGRyZXNzAQEaAVfNFprIZeL4yL2MFfnSuE1dckuhaamsHIIABWFkZHIyCQEHQWRkcmVzcwEBGgFXzkoVMgt9Rpi53uA36bKyO8zTh8s47iprAAVhZGRyMwkBB0FkZHJlc3MBARoBV7b3U5YHZjaaXUh2rNcEmbRcKa0TAETeNQAFYWRkcjQJAQdBZGRyZXNzAQEaAVeBBK8hUd/BZdLD1SNqEOMG10+OjadI41kABWFkZHI1CQEHQWRkcmVzcwEBGgFXsraj2mr8AiGZxddH9uxpHpxGBP/qcC8KAQFpAQdkZWZhdWx0AAMDCQECIT0CCAUBaQxvcmlnaW5DYWxsZXIFDGFkbWluQWRkcmVzcwkBAiE9AggFAWkMb3JpZ2luQ2FsbGVyBQR0aGlzBwkAAgECEW9ubHkgYWRtaW4gY2FuIGRvBAFoBQZoZWlnaHQEBWVwb2NoCQBoAgkAaQIFAWgAoAsAoAsEBHdLZXkJAKwCAgICd18JAKQDAQUFZXBvY2gDCQEJaXNEZWZpbmVkAQkAmwgCBQR0aGlzBQR3S2V5CQACAQUEd0tleQQDa2V5CQCsAgIJAKwCAgIzdG90YWxfREcyeEZrUGREd0tVb0JrekdBaFF0THBTR3pmWExpQ1lQRXplS0gyQWQyNHBfCQCkAwEFBWVwb2NoAhdfd2l0aGRyYXduX3dpdGhpbl9lcG9jaAQJd2l0aGRyYXduCQELdmFsdWVPckVsc2UCCQCaCAIJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQS1prNVRkUENMUDJHWnZpaXBMRmZLNDZFeFRud2tSQ0JkBQNrZXkAAAQLbWF4V2l0aGRyYXcJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEdGhpcwIDbWF4AIDIr6AlAwkAZgIFC21heFdpdGhkcmF3CQBkAgUJd2l0aGRyYXduAIDh6xcEBGludjEJAPwHBAUFYWRkcjECCHVzZG5fMTAwCQDMCAIAAQUDbmlsBQNuaWwDCQAAAgUEaW52MQUEaW52MQQEaW52MgkA/AcEBQVhZGRyMgIIdXNkbl8xMDAJAMwIAgACBQNuaWwFA25pbAMJAAACBQRpbnYyBQRpbnYyBARpbnYzCQD8BwQFBWFkZHIzAgh1c2RuXzEwMAkAzAgCAAMFA25pbAUDbmlsAwkAAAIFBGludjMFBGludjMEBGludjQJAPwHBAUFYWRkcjQCCHVzZG5fMTAwCQDMCAIABAUDbmlsBQNuaWwDCQAAAgUEaW52NAUEaW52NAQEaW52NQkA/AcEBQVhZGRyNQIIdXNkbl8xMDAJAMwIAgAFBQNuaWwFA25pbAMJAAACBQRpbnY1BQRpbnY1CQDMCAIJAQxCb29sZWFuRW50cnkCBQR3S2V5BgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQkArAICAgt3aXRoZHJhd246IAkApAMBBQl3aXRoZHJhd24BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAhdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQDaW52BQckbWF0Y2gwAwMJAAACCQCkCAEIBQNpbnYEZEFwcAUEdGhpcwkAZwIAwbqZBggFA2ludgNmZWUHBgkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleQZ5i14=", "chainId": 87, "height": 3441405, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5DeJ5socNt8apgSjXfprEQvQE6v34THFJYN9oAtykp46 Next: 3ZMCrDryBhPg2NWvYo7F5yUwmms4rBbn4dcnuE3qvyTS Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = base58' | |
4 | + | let a = Address(base58'3P6gGsVQbD2xgmaNxN7Rj3arohPsBxvo5GC') | |
5 | 5 | ||
6 | - | let b = Address(base58' | |
6 | + | let b = Address(base58'3PLdJLAhj2B1KNXoo7scwMGmV2F7UqhCEjs') | |
7 | 7 | ||
8 | - | let c = Address(base58' | |
8 | + | let c = Address(base58'3PLjeg8GnLkePTHKVu6zYXY4aQZVJou3Ci6') | |
9 | 9 | ||
10 | - | let d = base58' | |
10 | + | let d = Address(base58'3PJcKzhvrpnV7P3idRxV568yhKjra4xoCwn') | |
11 | 11 | ||
12 | - | let e = Address(base58' | |
12 | + | let e = Address(base58'3PDh5WT2YmPHA4ThWUFEuEHL2RDMgqwrN3i') | |
13 | 13 | ||
14 | - | func f () = !(isDefined(getBoolean(this, "3PAZv9tgX1PX7dKR7b4kchq5qdpUS3G5sYT"))) | |
15 | - | ||
14 | + | let f = Address(base58'3PJDqoSnUz4EHeDbRkG3UpGeeohUPUFFW17') | |
16 | 15 | ||
17 | 16 | @Callable(g) | |
18 | - | func i () = if ((g.originCaller != b)) | |
17 | + | func default () = if (if ((g.originCaller != a)) | |
18 | + | then (g.originCaller != this) | |
19 | + | else false) | |
19 | 20 | then throw("only admin can do") | |
20 | 21 | else { | |
21 | - | let h = g.payments[0].amount | |
22 | - | let j = invoke(c, "replenishWithAtoken", nil, [AttachedPayment(d, h)]) | |
23 | - | if ((j == j)) | |
24 | - | then nil | |
25 | - | else throw("Strict value is not equal to itself.") | |
26 | - | } | |
27 | - | ||
28 | - | ||
29 | - | ||
30 | - | @Callable(g) | |
31 | - | func usdn_100 (h) = if ((g.caller != b)) | |
32 | - | then throw("only admin can do") | |
33 | - | else { | |
34 | - | let k = assetBalance(this, a) | |
35 | - | if ((k == k)) | |
36 | - | then { | |
37 | - | let l = invoke(addressFromStringValue("3PCbvPVQfSvVu88ip8Fm5YjwJhjEYk1Txhk"), "convertToUSDN", nil, nil) | |
38 | - | if ((l == l)) | |
22 | + | let h = height | |
23 | + | let i = ((h / 1440) * 1440) | |
24 | + | let j = ("w_" + toString(i)) | |
25 | + | if (isDefined(getBoolean(this, j))) | |
26 | + | then throw(j) | |
27 | + | else { | |
28 | + | let k = (("total_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_" + toString(i)) + "_withdrawn_within_epoch") | |
29 | + | let l = valueOrElse(getInteger(addressFromStringValue("3PKZk5TdPCLP2GZviipLFfK46ExTnwkRCBd"), k), 0) | |
30 | + | let m = valueOrElse(getInteger(this, "max"), 10000000000) | |
31 | + | if ((m > (l + 50000000))) | |
39 | 32 | then { | |
40 | - | let | |
41 | - | if (( | |
33 | + | let n = invoke(b, "usdn_100", [1], nil) | |
34 | + | if ((n == n)) | |
42 | 35 | then { | |
43 | - | let n = assetBalance(this, a) | |
44 | - | if ((n == n)) | |
45 | - | then [ScriptTransfer(e, n, a)] | |
36 | + | let o = invoke(c, "usdn_100", [2], nil) | |
37 | + | if ((o == o)) | |
38 | + | then { | |
39 | + | let p = invoke(d, "usdn_100", [3], nil) | |
40 | + | if ((p == p)) | |
41 | + | then { | |
42 | + | let q = invoke(e, "usdn_100", [4], nil) | |
43 | + | if ((q == q)) | |
44 | + | then { | |
45 | + | let r = invoke(f, "usdn_100", [5], nil) | |
46 | + | if ((r == r)) | |
47 | + | then [BooleanEntry(j, true)] | |
48 | + | else throw("Strict value is not equal to itself.") | |
49 | + | } | |
50 | + | else throw("Strict value is not equal to itself.") | |
51 | + | } | |
52 | + | else throw("Strict value is not equal to itself.") | |
53 | + | } | |
46 | 54 | else throw("Strict value is not equal to itself.") | |
47 | 55 | } | |
48 | 56 | else throw("Strict value is not equal to itself.") | |
49 | 57 | } | |
50 | - | else throw(" | |
58 | + | else throw(("withdrawn: " + toString(l))) | |
51 | 59 | } | |
52 | - | else throw("Strict value is not equal to itself.") | |
53 | 60 | } | |
54 | 61 | ||
55 | 62 | ||
56 | - | @Verifier(o) | |
57 | - | func p () = if (f()) | |
58 | - | then true | |
59 | - | else sigVerify(o.bodyBytes, o.proofs[0], o.senderPublicKey) | |
63 | + | @Verifier(s) | |
64 | + | func t () = { | |
65 | + | let u = s | |
66 | + | if ($isInstanceOf(u, "InvokeScriptTransaction")) | |
67 | + | then { | |
68 | + | let v = u | |
69 | + | if (if ((addressFromRecipient(v.dApp) == this)) | |
70 | + | then (13000001 >= v.fee) | |
71 | + | else false) | |
72 | + | then true | |
73 | + | else sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey) | |
74 | + | } | |
75 | + | else sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey) | |
76 | + | } | |
60 | 77 |
github/deemru/w8io/0e76f2f 34.80 ms ◑