tx · 5rYS7akgsToDJxRmuPcYW66bfqptVESH1eSWEsn6qcdK

3MsAdLsHFmArSyEuYFG9xRRbsutUBovzBhn:  -0.00200000 Waves

2024.04.28 20:55 [3083029] smart account 3MsAdLsHFmArSyEuYFG9xRRbsutUBovzBhn > SELF 0.00000000 Waves

{ "type": 13, "id": "5rYS7akgsToDJxRmuPcYW66bfqptVESH1eSWEsn6qcdK", "fee": 200000, "feeAssetId": null, "timestamp": 1714326937792, "version": 1, "sender": "3MsAdLsHFmArSyEuYFG9xRRbsutUBovzBhn", "senderPublicKey": "DYkCWKFho9N7rw3PcdgaRtsA18qdjXsRGSXS831MBXdA", "proofs": [ "2U7osN39UbciRebvcsYXbEHkMzSFHGXob2ArpvoeScDoCi9nUgypvXF7BnKjCVcBwrANYX6MLF4sh4uC7LVdBv5N" ], "script": "base64:BgIbCAISAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEIAQAJZGVsZWdhdGVzCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMCD3NldHVwX2RlbGVnYXRlcwIjM01zS2E1aW9BZ2hpZFczQ0ZZV1R1WmVhNTlqYlV6c2hUelcFAWkBEnJlcXVlc3RSZWJhbGFuY2luZwEFcmViSWQEB3Bvb2xTdHIJAKUIAQgFAWkGY2FsbGVyAwkBAiE9AgkAmggCBQR0aGlzCQCsAgICE3JlYmFsYW5jaW5nX3N0YXR1c18FBXJlYklkBQR1bml0CQACAQIacmViYWxhbmNpbmcgYWxyZWFkeSBleGlzdHMJAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICAhVwb29sX2xhc3RSZWJhbGFuY2luZ18FB3Bvb2xTdHIFBXJlYklkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICE3JlYmFsYW5jaW5nX3N0YXR1c18FBXJlYklkAAEFA25pbAFpARJhcHByb3ZlUmViYWxhbmNpbmcBBXJlYklkAwkAAAIJALMJAgUJZGVsZWdhdGVzCQClCAEIBQFpBmNhbGxlcgUEdW5pdAkAAgECHGF2YWlsYWJsZSBvbmx5IGZvciBkZWxlZ2F0ZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgITcmViYWxhbmNpbmdfc3RhdHVzXwUFcmViSWQAAgUDbmlsAWkBEmRlY2xpbmVSZWJhbGFuY2luZwEFcmViSWQDCQAAAgkAswkCBQlkZWxlZ2F0ZXMJAKUIAQgFAWkGY2FsbGVyBQR1bml0CQACAQIcYXZhaWxhYmxlIG9ubHkgZm9yIGRlbGVnYXRlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICAhNyZWJhbGFuY2luZ19zdGF0dXNfBQVyZWJJZAAABQNuaWwBaQEVbm90aWZ5UmViYWxhbmNpbmdEb25lAQVyZWJJZAQHcG9vbFN0cgkApQgBCAUBaQZjYWxsZXIDCQECIT0CCQCaCAIFBHRoaXMJAKwCAgITcmViYWxhbmNpbmdfc3RhdHVzXwUFcmViSWQAAgkAAgECHXJlYmFsYW5jaW5nIGlzIG5vdCBpbiBwcm9jZXNzAwkBAiE9AgkAnQgCBQR0aGlzCQCsAgICFXBvb2xfbGFzdFJlYmFsYW5jaW5nXwUHcG9vbFN0cgUFcmViSWQJAAIBAiF0aGlzIHBvb2wgZG9lc24ndCBydW4gcmViYWxhbmNpbmcJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgITcmViYWxhbmNpbmdfc3RhdHVzXwUFcmViSWQAAwUDbmlsAWkBC2FkZERlbGVnYXRlAQdhZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIiYXZhaWxhYmxlIG9ubHkgZm9yIHNlbGYgaW52b2NhdGlvbgkAzAgCCQELU3RyaW5nRW50cnkCAg9zZXR1cF9kZWxlZ2F0ZXMJAKwCAgkArAICBQlkZWxlZ2F0ZXMCASwFB2FkZHJlc3MFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXnYjNcB", "chainId": 84, "height": 3083029, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let delegates = valueOrElse(getString(this, "setup_delegates"), "3MsKa5ioAghidW3CFYWTuZea59jbUzshTzW")
5+
6+@Callable(i)
7+func requestRebalancing (rebId) = {
8+ let poolStr = toString(i.caller)
9+ if ((getInteger(this, ("rebalancing_status_" + rebId)) != unit))
10+ then throw("rebalancing already exists")
11+ else [StringEntry(("pool_lastRebalancing_" + poolStr), rebId), IntegerEntry(("rebalancing_status_" + rebId), 1)]
12+ }
13+
14+
15+
16+@Callable(i)
17+func approveRebalancing (rebId) = if ((indexOf(delegates, toString(i.caller)) == unit))
18+ then throw("available only for delegates")
19+ else [IntegerEntry(("rebalancing_status_" + rebId), 2)]
20+
21+
22+
23+@Callable(i)
24+func declineRebalancing (rebId) = if ((indexOf(delegates, toString(i.caller)) == unit))
25+ then throw("available only for delegates")
26+ else [IntegerEntry(("rebalancing_status_" + rebId), 0)]
27+
28+
29+
30+@Callable(i)
31+func notifyRebalancingDone (rebId) = {
32+ let poolStr = toString(i.caller)
33+ if ((getInteger(this, ("rebalancing_status_" + rebId)) != 2))
34+ then throw("rebalancing is not in process")
35+ else if ((getString(this, ("pool_lastRebalancing_" + poolStr)) != rebId))
36+ then throw("this pool doesn't run rebalancing")
37+ else [IntegerEntry(("rebalancing_status_" + rebId), 3)]
38+ }
39+
40+
41+
42+@Callable(i)
43+func addDelegate (address) = if ((i.caller != this))
44+ then throw("available only for self invocation")
45+ else [StringEntry("setup_delegates", ((delegates + ",") + address))]
46+
47+
48+@Verifier(tx)
49+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
50+

github/deemru/w8io/3ef1775 
18.31 ms