tx · 5QnrPNj3XpWY6MobQruy1WQfvxywGkTr6UXPTN6mM4ot 3PEwRcYNAUtoFvKpBhKoiwajnZfdoDR6h4h: -0.00700000 Waves 2023.07.12 18:16 [3728472] smart account 3PEwRcYNAUtoFvKpBhKoiwajnZfdoDR6h4h > SELF 0.00000000 Waves
{ "type": 13, "id": "5QnrPNj3XpWY6MobQruy1WQfvxywGkTr6UXPTN6mM4ot", "fee": 700000, "feeAssetId": null, "timestamp": 1689175079023, "version": 1, "sender": "3PEwRcYNAUtoFvKpBhKoiwajnZfdoDR6h4h", "senderPublicKey": "GDPfYHA6NUZCmin3J7LWZhCvSjBcna8HebyvQyrw17v", "proofs": [ "4Eqr729SPxTxH9K3AwYfUxGa2WsDbLpY3U3y9GrtwrAYSyQjsB5p5Z4oAthBDkAqTPxsXa1XsTVX26HeopBqNdmv" ], "script": "base64:BgIKCAISBAoCAQgSAAUBFXdhdmVsZXRzUGVyQmxvY2tTdG9yZQEHYWRkcmVzcwkArAICBQdhZGRyZXNzAhNfd2F2ZWxldHNfcGVyX2Jsb2NrARBzdGFydEhlaWdodFN0b3JlAQdhZGRyZXNzCQCsAgIFB2FkZHJlc3MCDV9zdGFydF9oZWlnaHQBDGNsYWltZWRTdG9yZQEHYWRkcmVzcwkArAICBQdhZGRyZXNzAhB3YXZlbGV0c19jbGFpbWVkAAhzdW1TdG9yZQIWd2F2ZWxldHNfcGVyX2Jsb2NrX3N1bQAHbWF4aW11bQkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzAhZ3YXZlbGV0c19wZXJfYmxvY2tfbWF4AICEr18CAWkBCnNldFNjZWR1bGUCEHdhdmVsZXRzUGVyQmxvY2sHYWRkcmVzcwMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECDmludmFsaWQgY2FsbGVyAwkAZgIAAAUQd2F2ZWxldHNQZXJCbG9jawkAAgECH3dhdmVsZXRzUGVyQmxvY2sgc2hvdWxkIGJlID49IDAEDXBlckJsb2NrU3RvcmUJARV3YXZlbGV0c1BlckJsb2NrU3RvcmUBBQdhZGRyZXNzBAtvbGRQZXJCbG9jawkBC3ZhbHVlT3JFbHNlAgkAnwgBBQ1wZXJCbG9ja1N0b3JlAAAEA3N1bQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQhzdW1TdG9yZQAABAZuZXdTdW0JAGQCCQBlAgUDc3VtBQtvbGRQZXJCbG9jawUQd2F2ZWxldHNQZXJCbG9jawMJAGYCBQZuZXdTdW0FB21heGltdW0JAAIBAhBtYXhpbXVtIGV4Y2VlZGVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ1wZXJCbG9ja1N0b3JlBRB3YXZlbGV0c1BlckJsb2NrCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEQc3RhcnRIZWlnaHRTdG9yZQEFB2FkZHJlc3MFBmhlaWdodAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBDGNsYWltZWRTdG9yZQEFB2FkZHJlc3MAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUIc3VtU3RvcmUFBm5ld1N1bQUDbmlsAWkBBWNsYWltAAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIECHBlckJsb2NrCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJoIAgUEdGhpcwkBFXdhdmVsZXRzUGVyQmxvY2tTdG9yZQEFB2FkZHJlc3MCG2FkZHJlc3MgcGVyIGJsb2NrIG5vdCBmb3VuZAQLc3RhcnRIZWlnaHQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAmggCBQR0aGlzCQEQc3RhcnRIZWlnaHRTdG9yZQEFB2FkZHJlc3MCHmFkZHJlc3Mgc3RhcnQgaGVpZ2h0IG5vdCBmb3VuZAQHY2xhaW1lZAkBC3ZhbHVlT3JFbHNlAgkAmggCBQR0aGlzCQEMY2xhaW1lZFN0b3JlAQUHYWRkcmVzcwAABAZibG9ja3MJAGUCBQZoZWlnaHQFC3N0YXJ0SGVpZ2h0BAZhbW91bnQJAGUCCQBoAgUIcGVyQmxvY2sFBmJsb2NrcwUHY2xhaW1lZAQHcGF5bWVudAkAlwMBCQDMCAIICQDvBwEFBHRoaXMHcmVndWxhcgkAzAgCBQZhbW91bnQFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFB3BheW1lbnQFBHVuaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAQxjbGFpbWVkU3RvcmUBBQdhZGRyZXNzCQBkAgUHY2xhaW1lZAUHcGF5bWVudAUDbmlsAQJ0eAEGdmVyaWZ5AAQIYnlWb3RpbmcEDWNvbmZpZ0FkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNQR1dodHZDU3oxVFJKaGUzQkpTcnZRaWdydEt1eVhzZ21hBA12b3RpbmdSZXN1bHRzCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFDWNvbmZpZ0FkZHJlc3MCFmNvbnRyYWN0X3ZvdGluZ19yZXN1bHQCGW5vIGNvbnRyYWN0X3ZvdGluZ19yZXN1bHQCHmludmFsaWQgY29udHJhY3Rfdm90aW5nX3Jlc3VsdAoBDm9wQWxsb3dlZFN0b3JlAQJvcAkArAICCQCsAgICA29wXwUCb3ACCF9hbGxvd2VkBAdlbmFibGVkCQELdmFsdWVPckVsc2UCCQCbCAIFDWNvbmZpZ0FkZHJlc3MJAQ5vcEFsbG93ZWRTdG9yZQECGWNoaWxkX2dvdmVybmFuY2VfYXBwbHlfdHgGAwkBASEBBQdlbmFibGVkCQACAQIrdHggYXBwbGljYXRpb24gdGhyb3cgZ292ZXJuYW5jZSBub3QgZW5hYmxlZAkAZwIFBmhlaWdodAkBEUBleHRyTmF0aXZlKDEwNTApAgUNdm90aW5nUmVzdWx0cwkArAICCQCsAgIJAKwCAgIZcHJvcG9zYWxfYWxsb3dfYnJvYWRjYXN0XwkApQgBBQR0aGlzAgFfCQDYBAEIBQJ0eAJpZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkGBQhieVZvdGluZ+cSjDU=", "chainId": 87, "height": 3728472, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DxzVZ5pnMYtAv2eyHinXwgtexsFg7bFGFaxMB7jxYSRi Next: 54eLdMmLT8BDDcDsNuey9HsP7aGVgFPZiBEgRAgutQaB Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | + | func a (b) = (b + "_wavelets_per_block") | |
5 | + | ||
6 | + | ||
7 | + | func c (b) = (b + "_start_height") | |
8 | + | ||
9 | + | ||
10 | + | func d (b) = (b + "wavelets_claimed") | |
11 | + | ||
12 | + | ||
13 | + | let e = "wavelets_per_block_sum" | |
14 | + | ||
15 | + | let f = valueOrElse(getInteger(this, "wavelets_per_block_max"), 200000000) | |
16 | + | ||
17 | + | @Callable(g) | |
18 | + | func setScedule (h,b) = if ((g.caller != this)) | |
19 | + | then throw("invalid caller") | |
20 | + | else if ((0 > h)) | |
21 | + | then throw("waveletsPerBlock should be >= 0") | |
22 | + | else { | |
23 | + | let i = a(b) | |
24 | + | let j = valueOrElse(getInteger(i), 0) | |
25 | + | let k = valueOrElse(getInteger(e), 0) | |
26 | + | let l = ((k - j) + h) | |
27 | + | if ((l > f)) | |
28 | + | then throw("maximum exceeded") | |
29 | + | else [IntegerEntry(i, h), IntegerEntry(c(b), height), IntegerEntry(d(b), 0), IntegerEntry(e, l)] | |
30 | + | } | |
4 | 31 | ||
5 | 32 | ||
6 | 33 | ||
7 | - | @Verifier(a) | |
8 | - | func b () = { | |
9 | - | let c = { | |
10 | - | let d = addressFromStringValue("3PGWhtvCSz1TRJhe3BJSrvQigrtKuyXsgma") | |
11 | - | let e = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(d, "contract_voting_result"), "no contract_voting_result")), "invalid contract_voting_result") | |
12 | - | func f (g) = (("op_" + g) + "_allowed") | |
34 | + | @Callable(g) | |
35 | + | func claim () = { | |
36 | + | let b = toString(g.caller) | |
37 | + | let m = valueOrErrorMessage(getInteger(this, a(b)), "address per block not found") | |
38 | + | let n = valueOrErrorMessage(getInteger(this, c(b)), "address start height not found") | |
39 | + | let o = valueOrElse(getInteger(this, d(b)), 0) | |
40 | + | let p = (height - n) | |
41 | + | let q = ((m * p) - o) | |
42 | + | let r = min([wavesBalance(this).regular, q]) | |
43 | + | [ScriptTransfer(g.caller, r, unit), IntegerEntry(d(b), (o + r))] | |
44 | + | } | |
13 | 45 | ||
14 | - | let h = valueOrElse(getBoolean(d, f("child_governance_apply_tx")), true) | |
15 | - | if (!(h)) | |
46 | + | ||
47 | + | @Verifier(s) | |
48 | + | func t () = { | |
49 | + | let u = { | |
50 | + | let v = addressFromStringValue("3PGWhtvCSz1TRJhe3BJSrvQigrtKuyXsgma") | |
51 | + | let w = valueOrErrorMessage(addressFromString(valueOrErrorMessage(getString(v, "contract_voting_result"), "no contract_voting_result")), "invalid contract_voting_result") | |
52 | + | func x (y) = (("op_" + y) + "_allowed") | |
53 | + | ||
54 | + | let z = valueOrElse(getBoolean(v, x("child_governance_apply_tx")), true) | |
55 | + | if (!(z)) | |
16 | 56 | then throw("tx application throw governance not enabled") | |
17 | - | else (height >= getIntegerValue( | |
57 | + | else (height >= getIntegerValue(w, ((("proposal_allow_broadcast_" + toString(this)) + "_") + toBase58String(s.id)))) | |
18 | 58 | } | |
19 | - | if (sigVerify( | |
59 | + | if (sigVerify(s.bodyBytes, s.proofs[0], s.senderPublicKey)) | |
20 | 60 | then true | |
21 | - | else | |
61 | + | else u | |
22 | 62 | } | |
23 | 63 |
github/deemru/w8io/0e76f2f 31.70 ms ◑