tx · Fh5fKNodeoLXetthR3tF65bzzduz2NdnPVXRyhyLeEyD

3N8WxMD723WNbLNF6xhbBw2Nmq5mwtYdAwq:  -0.02000000 Waves

2020.11.27 18:03 [1283994] smart account 3N8WxMD723WNbLNF6xhbBw2Nmq5mwtYdAwq > SELF 0.00000000 Waves

{ "type": 13, "id": "Fh5fKNodeoLXetthR3tF65bzzduz2NdnPVXRyhyLeEyD", "fee": 2000000, "feeAssetId": null, "timestamp": 1606489457082, "version": 1, "sender": "3N8WxMD723WNbLNF6xhbBw2Nmq5mwtYdAwq", "senderPublicKey": "9DNsZT846MHG4j3B7Kmm2SqLP9jXQSYQ24HSnvaqrBWB", "proofs": [ "3Hq7iyWAaEtoxmns5fCC5ABf2gEQzt2CMtXmYS3bi5dbpHnxAiopxXqt4GVniLRfnswCU6sk8PYRLKJ7ZXnN4u6s", "fzSJ9VaKwByXpxX3b7nZPfh29dvLZFkpDiqZsFPkUgc2T3rh2a31REBAzMfi4TJZLY4KGsXTQ3D1UJSfZqw6ycN", "BuDcudrpAKS6vUGPud8gMM1WL96bqy7xHFgCazX1NUscW2ipUpkSd1xpDFHDPdid28P5WNcuipG4c35JnyQUjvx" ], "script": "base64:AAIEAAAAAAAAABwIAhIECgIIARIAEgQKAgEIEgQKAggBEgQKAggBAAAAIgEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkAAAAAAAAAAAABAAAADmdldFN0cmluZ0J5S2V5AAAAAQAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwUAAAADa2V5AgAAAAABAAAADGdldEJvb2xCeUtleQAAAAEAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAAA2tleQcBAAAAGGdldE51bWJlckJ5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQUAAAAHYWRkcmVzcwUAAAADa2V5AAAAAAAAAAAAAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACAAAAB2FkZHJlc3MAAAADa2V5CQEAAAALdmFsdWVPckVsc2UAAAACCQAEHQAAAAIFAAAAB2FkZHJlc3MFAAAAA2tleQIAAAAAAAAAABJOZXV0cmlub0Fzc2V0SWRLZXkCAAAAEW5ldXRyaW5vX2Fzc2V0X2lkAAAAABNOZXV0cmlub0NvbnRyYWN0S2V5AgAAABFuZXV0cmlub19jb250cmFjdAAAAAAKQmFsYW5jZUtleQIAAAALcnBkX2JhbGFuY2UAAAAAEkNvbnRyb2xDb250cmFjdEtleQIAAAAQY29udHJvbF9jb250cmFjdAAAAAAOTnNidEFzc2V0SWRLZXkCAAAADWJvbmRfYXNzZXRfaWQAAAAACUFkbWluc0tleQIAAAAGYWRtaW5zAQAAABFnZXRVc2VyQmFsYW5jZUtleQAAAAIAAAAFb3duZXIAAAAHYXNzZXRJZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAApCYWxhbmNlS2V5AgAAAAFfBQAAAAdhc3NldElkAgAAAAFfBQAAAAVvd25lcgEAAAAVZ2V0Q29udHJhY3RCYWxhbmNlS2V5AAAAAQAAAAdhc3NldElkCQABLAAAAAIJAAEsAAAAAgUAAAAKQmFsYW5jZUtleQIAAAABXwUAAAAHYXNzZXRJZAEAAAAUZ2V0RXhwaXJlUHJvcG9zYWxLZXkAAAABAAAABGhhc2gJAAEsAAAAAgkAASwAAAACAgAAAA9wcm9wb3NhbF9leHBpcmUCAAAAAV8FAAAABGhhc2gBAAAAE2dldE93bmVyUHJvcG9zYWxLZXkAAAABAAAABGhhc2gJAAEsAAAAAgkAASwAAAACAgAAAA5wcm9wb3NhbF9vd25lcgIAAAABXwUAAAAEaGFzaAEAAAAXZ2V0QXJndW1lbnRzUHJvcG9zYWxLZXkAAAABAAAABGhhc2gJAAEsAAAAAgkAASwAAAACAgAAABJwcm9wb3NhbF9hcmd1bWVudHMCAAAAAV8FAAAABGhhc2gBAAAACmdldFZvdGVLZXkAAAACAAAABW93bmVyAAAABGhhc2gJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAANcHJvcG9zYWxfdm90ZQIAAAABXwUAAAAFb3duZXICAAAAAV8FAAAABGhhc2gBAAAAFmNvbnZlcnRKc29uQXJyYXlUb0xpc3QAAAABAAAACWpzb25BcnJheQkABLUAAAACBQAAAAlqc29uQXJyYXkCAAAAASwAAAAAEG5ldXRyaW5vQ29udHJhY3QJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAEJAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEFAAAAE05ldXRyaW5vQ29udHJhY3RLZXkAAAAAD2NvbnRyb2xDb250cmFjdAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQkBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIFAAAAEG5ldXRyaW5vQ29udHJhY3QFAAAAEkNvbnRyb2xDb250cmFjdEtleQAAAAAPbmV1dHJpbm9Bc3NldElkCQACWQAAAAEJAQAAABhnZXRTdHJpbmdCeUFkZHJlc3NBbmRLZXkAAAACBQAAABBuZXV0cmlub0NvbnRyYWN0BQAAABJOZXV0cmlub0Fzc2V0SWRLZXkAAAAADm5zYnRBc3NldElkU3RyCQEAAAAYZ2V0U3RyaW5nQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAQbmV1dHJpbm9Db250cmFjdAUAAAAOTnNidEFzc2V0SWRLZXkAAAAAC25zYnRBc3NldElkCQACWQAAAAEFAAAADm5zYnRBc3NldElkU3RyAQAAABJnZXRDb250cmFjdEJhbGFuY2UAAAABAAAAB2Fzc2V0SWQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABVnZXRDb250cmFjdEJhbGFuY2VLZXkAAAABBQAAAAdhc3NldElkAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIAAAAFb3duZXIAAAAHYXNzZXRJZAkBAAAADmdldE51bWJlckJ5S2V5AAAAAQkBAAAAEWdldFVzZXJCYWxhbmNlS2V5AAAAAgUAAAAFb3duZXIFAAAAB2Fzc2V0SWQBAAAAEWdldEV4cGlyZVByb3Bvc2FsAAAAAQAAAARoYXNoCQEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABCQEAAAAUZ2V0RXhwaXJlUHJvcG9zYWxLZXkAAAABBQAAAARoYXNoAQAAABBnZXRPd25lclByb3Bvc2FsAAAAAQAAAARoYXNoCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAATZ2V0T3duZXJQcm9wb3NhbEtleQAAAAEFAAAABGhhc2gBAAAAFGdldEFyZ3VtZW50c1Byb3Bvc2FsAAAAAQAAAARoYXNoCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAXZ2V0QXJndW1lbnRzUHJvcG9zYWxLZXkAAAABBQAAAARoYXNoAQAAAAdnZXRWb3RlAAAAAgAAAAVvd25lcgAAAARoYXNoCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAKZ2V0Vm90ZUtleQAAAAIFAAAABW93bmVyBQAAAARoYXNoAQAAABNnZXRSZXdhcmRzQ29uZmlnS2V5AAAAAwAAAAVvd25lcgAAAAVzaGFyZQAAAAhyZWNlaXZlcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAADnN0YWtpbmdjb25maWdfBQAAAAVvd25lcgIAAAABXwkAAaQAAAABBQAAAAVzaGFyZQIAAAABXwUAAAAIcmVjZWl2ZXIBAAAAGmdldEN1cnJlbnRSZXdhcmRzQ29uZmlnS2V5AAAAAQAAAAVvd25lcgkAASwAAAACAgAAABZzdGFraW5nY29uZmlnX2N1cnJlbnRfBQAAAAVvd25lcgEAAAAYZ2V0UmV3YXJkc0NvbmZpZ1N0YXJ0S2V5AAAAAgAAAAljb25maWdLZXkAAAAHaXNTdGFydAkAASwAAAACBQAAAAljb25maWdLZXkDBQAAAAdpc1N0YXJ0AgAAAAZfc3RhcnQCAAAABF9lbmQBAAAAG2dldFJld2FyZENvbmZpZ0luaXRpYWxTaGFyZQAAAAEAAAAFb3duZXIJAAEsAAAAAgUAAAAFb3duZXICAAAADV9pbml0aWFsU2hhcmUBAAAAFGludGVybmFsbG9ja05ldXRyaW5vAAAAAwAAAAFpAAAACHJlY2VpdmVyAAAABXNoYXJlBAAAAANwbXQJAQAAAAV2YWx1ZQAAAAEJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCQAEJgAAAAEFAAAACHJlY2VpdmVyCQAAAgAAAAEJAAEsAAAAAgIAAAAXSW52YWxpZCBhZGRyZXNzIGZvcm1hdCAFAAAACHJlY2VpdmVyAwMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAUAAAAPbmV1dHJpbm9Bc3NldElkCQEAAAACIT0AAAACCAUAAAADcG10AAAAB2Fzc2V0SWQFAAAAC25zYnRBc3NldElkBwkAAAIAAAABAgAAABljYW4gdXNlIFVTRE4gb3IgTlNCVCBvbmx5AwkAAGYAAAACBQAAAAVzaGFyZQAAAAAAAAAAZAkAAAIAAAABAgAAADBzdGFraW5nIHJld2FyZHMgc2hhcmUgY2Fubm90IGJlIGhpZ2hlciB0aGFuIDEwMCUDCQAAZgAAAAIAAAAAAAAAAAEFAAAABXNoYXJlCQAAAgAAAAECAAAALXN0YWtpbmcgcmV3YXJkcyBzaGFyZSBjYW5ub3QgYmUgbG93ZXIgdGhhbiAxJQQAAAAHYWNjb3VudAkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAADWFzc2V0SWRTdHJpbmcJAAJYAAAAAQkBAAAABXZhbHVlAAAAAQgFAAAAA3BtdAAAAAdhc3NldElkBAAAAA1jdXJyZW50Q29uZmlnCQEAAAAOZ2V0U3RyaW5nQnlLZXkAAAABCQEAAAAaZ2V0Q3VycmVudFJld2FyZHNDb25maWdLZXkAAAABBQAAAAdhY2NvdW50BAAAAAtjb3JyZWN0RGF0YQMJAQAAAAIhPQAAAAIFAAAADWN1cnJlbnRDb25maWcCAAAAAAQAAAARY3VycmVudENvbmZpZ0RhdGEJAAS1AAAAAgUAAAANY3VycmVudENvbmZpZwIAAAABXwQAAAAJY3VyclNoYXJlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAARY3VycmVudENvbmZpZ0RhdGEAAAAAAAAAAAIEAAAADGN1cnJSZWNlaXZlcgkAAZEAAAACBQAAABFjdXJyZW50Q29uZmlnRGF0YQAAAAAAAAAAAwQAAAAXbm90TWlncmF0ZWRJbml0aWFsU2hhcmUJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABtnZXRSZXdhcmRDb25maWdJbml0aWFsU2hhcmUAAAABBQAAAAdhY2NvdW50BAAAABJhY3R1YWxJbml0aWFsU2hhcmUDCQAAAAAAAAIFAAAAF25vdE1pZ3JhdGVkSW5pdGlhbFNoYXJlAAAAAAAAAAAABQAAAAljdXJyU2hhcmUFAAAAF25vdE1pZ3JhdGVkSW5pdGlhbFNoYXJlBAAAAAhuZXdTaGFyZQMDCQAAZgAAAAIFAAAAEmFjdHVhbEluaXRpYWxTaGFyZQUAAAAFc2hhcmUGCQEAAAACIT0AAAACBQAAAAxjdXJyUmVjZWl2ZXIFAAAACHJlY2VpdmVyBQAAABJhY3R1YWxJbml0aWFsU2hhcmUFAAAABXNoYXJlCQAETAAAAAIJAAGkAAAAAQUAAAASYWN0dWFsSW5pdGlhbFNoYXJlCQAETAAAAAIJAAGkAAAAAQUAAAAIbmV3U2hhcmUJAARMAAAAAgUAAAAMY3VyclJlY2VpdmVyBQAAAANuaWwJAARMAAAAAgkAAaQAAAABBQAAAAVzaGFyZQkABEwAAAACCQABpAAAAAEFAAAABXNoYXJlCQAETAAAAAIFAAAACHJlY2VpdmVyBQAAAANuaWwEAAAAE2NvcnJlY3RJbml0aWFsU2hhcmUJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAtjb3JyZWN0RGF0YQAAAAAAAAAAAAQAAAAMY29ycmVjdFNoYXJlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAALY29ycmVjdERhdGEAAAAAAAAAAAEEAAAAD2NvcnJlY3RSZWNlaXZlcgkAAZEAAAACBQAAAAtjb3JyZWN0RGF0YQAAAAAAAAAAAgQAAAAQbmV3Q3VycmVudENvbmZpZwkBAAAAE2dldFJld2FyZHNDb25maWdLZXkAAAADBQAAAAdhY2NvdW50BQAAAAxjb3JyZWN0U2hhcmUFAAAAD2NvcnJlY3RSZWNlaXZlcgQAAAALaXNOZXdDb25maWcJAQAAAAEhAAAAAQkAAAAAAAACBQAAAA1jdXJyZW50Q29uZmlnBQAAABBuZXdDdXJyZW50Q29uZmlnBAAAAANlbmQDBQAAAAtpc05ld0NvbmZpZwUAAAAGaGVpZ2h0AAAAAAAAAAAABAAAAAVzdGFydAMFAAAAC2lzTmV3Q29uZmlnBQAAAAZoZWlnaHQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEJAQAAABhnZXRSZXdhcmRzQ29uZmlnU3RhcnRLZXkAAAACBQAAABBuZXdDdXJyZW50Q29uZmlnBgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFWdldENvbnRyYWN0QmFsYW5jZUtleQAAAAEFAAAADWFzc2V0SWRTdHJpbmcJAABkAAAAAgkBAAAAEmdldENvbnRyYWN0QmFsYW5jZQAAAAEFAAAADWFzc2V0SWRTdHJpbmcIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAARZ2V0VXNlckJhbGFuY2VLZXkAAAACBQAAAAdhY2NvdW50BQAAAA1hc3NldElkU3RyaW5nCQAAZAAAAAIJAQAAAA5nZXRVc2VyQmFsYW5jZQAAAAIFAAAAB2FjY291bnQFAAAADWFzc2V0SWRTdHJpbmcIBQAAAANwbXQAAAAGYW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAYZ2V0UmV3YXJkc0NvbmZpZ1N0YXJ0S2V5AAAAAgUAAAANY3VycmVudENvbmZpZwcFAAAAA2VuZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAGGdldFJld2FyZHNDb25maWdTdGFydEtleQAAAAIFAAAAEG5ld0N1cnJlbnRDb25maWcGBQAAAAVzdGFydAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAG2dldFJld2FyZENvbmZpZ0luaXRpYWxTaGFyZQAAAAEFAAAAB2FjY291bnQFAAAAE2NvcnJlY3RJbml0aWFsU2hhcmUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGmdldEN1cnJlbnRSZXdhcmRzQ29uZmlnS2V5AAAAAQUAAAAHYWNjb3VudAUAAAAQbmV3Q3VycmVudENvbmZpZwUAAAADbmlsAAAABQAAAAFpAQAAAA5sb2NrTmV1dHJpbm9TUAAAAAIAAAAIcmVjZWl2ZXIAAAAFc2hhcmUJAQAAABRpbnRlcm5hbGxvY2tOZXV0cmlubwAAAAMFAAAAAWkFAAAACHJlY2VpdmVyBQAAAAVzaGFyZQAAAAFpAQAAAAxsb2NrTmV1dHJpbm8AAAAACQEAAAAUaW50ZXJuYWxsb2NrTmV1dHJpbm8AAAADBQAAAAFpCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgAAAAAAAAAAZAAAAAFpAQAAAA51bmxvY2tOZXV0cmlubwAAAAIAAAAMdW5sb2NrQW1vdW50AAAADWFzc2V0SWRTdHJpbmcEAAAAB2FjY291bnQJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAAdhc3NldElkCQACWQAAAAEFAAAADWFzc2V0SWRTdHJpbmcEAAAAB2JhbGFuY2UJAABlAAAAAgkBAAAADmdldFVzZXJCYWxhbmNlAAAAAgUAAAAHYWNjb3VudAUAAAANYXNzZXRJZFN0cmluZwUAAAAMdW5sb2NrQW1vdW50AwkAAGYAAAACAAAAAAAAAAAABQAAAAdiYWxhbmNlCQAAAgAAAAECAAAADmludmFsaWQgYW1vdW50AwkBAAAAAiE9AAAAAgUAAAAHYXNzZXRJZAUAAAAPbmV1dHJpbm9Bc3NldElkCQAAAgAAAAECAAAAEGNhbiB1c2UgbmV1dHJpbm8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJ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", "chainId": 84, "height": 1283994, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: HTtb5e81YPeffXk8dDBFQVa6G3okczaShFmUQNx81iz7 Next: uMmrNjeJg6ckA2anUDeeAtVt6a5ivW4EBdkFZVHz8Pn Diff:
OldNewDifferences
2424
2525 let k = "control_contract"
2626
27-let l = "admins"
27+let l = "bond_asset_id"
2828
29-func m (n,o) = ((((j + "_") + o) + "_") + n)
29+let m = "admins"
30+
31+func n (o,p) = ((((j + "_") + p) + "_") + o)
3032
3133
32-func p (o) = ((j + "_") + o)
34+func q (p) = ((j + "_") + p)
3335
3436
35-func q (r) = (("proposal_expire" + "_") + r)
37+func r (s) = (("proposal_expire" + "_") + s)
3638
3739
38-func s (r) = (("proposal_owner" + "_") + r)
40+func t (s) = (("proposal_owner" + "_") + s)
3941
4042
41-func t (r) = (("proposal_arguments" + "_") + r)
43+func u (s) = (("proposal_arguments" + "_") + s)
4244
4345
44-func u (n,r) = (((("proposal_vote" + "_") + n) + "_") + r)
46+func v (o,s) = (((("proposal_vote" + "_") + o) + "_") + s)
4547
4648
47-func v (w) = split(w, ",")
49+func w (x) = split(x, ",")
4850
4951
50-let x = addressFromStringValue(c(i))
52+let y = addressFromStringValue(c(i))
5153
52-let y = addressFromStringValue(g(x, k))
54+let z = addressFromStringValue(g(y, k))
5355
54-let z = fromBase58String(g(x, h))
56+let A = fromBase58String(g(y, h))
5557
56-func A (o) = a(p(o))
58+let B = g(y, l)
59+
60+let C = fromBase58String(B)
61+
62+func D (p) = a(q(p))
5763
5864
59-func B (n,o) = a(m(n, o))
65+func E (o,p) = a(n(o, p))
6066
6167
62-func C (r) = a(q(r))
68+func F (s) = a(r(s))
6369
6470
65-func D (r) = c(s(r))
71+func G (s) = c(t(s))
6672
6773
68-func E (r) = c(t(r))
74+func H (s) = c(u(s))
6975
7076
71-func F (n,r) = c(u(n, r))
77+func I (o,s) = c(v(o, s))
7278
7379
74-func G (n,H,I) = ((((("stakingconfig_" + n) + "_") + toString(H)) + "_") + I)
80+func J (o,K,L) = ((((("stakingconfig_" + o) + "_") + toString(K)) + "_") + L)
7581
7682
77-func J (n) = ("stakingconfig_current_" + n)
83+func M (o) = ("stakingconfig_current_" + o)
7884
7985
80-func K (L,M) = (L + (if (M)
86+func N (O,P) = (O + (if (P)
8187 then "_start"
8288 else "_end"))
8389
8490
85-func N (n) = (n + "_initialShare")
91+func Q (o) = (o + "_initialShare")
8692
8793
88-func O (P,I,H) = {
89- let Q = value(P.payments[0])
90- if (!(isDefined(addressFromString(I))))
91- then throw(("Invalid address format " + I))
92- else if ((Q.assetId != z))
93- then throw("can use usd only")
94- else if ((H > 100))
94+func R (S,L,K) = {
95+ let T = value(S.payments[0])
96+ if (!(isDefined(addressFromString(L))))
97+ then throw(("Invalid address format " + L))
98+ else if (if ((T.assetId != A))
99+ then (T.assetId != C)
100+ else false)
101+ then throw("can use USDN or NSBT only")
102+ else if ((K > 100))
95103 then throw("staking rewards share cannot be higher than 100%")
96- else if ((1 > H))
104+ else if ((1 > K))
97105 then throw("staking rewards share cannot be lower than 1%")
98106 else {
99- let R = toString(P.caller)
100- let S = toBase58String(value(Q.assetId))
101- let T = c(J(R))
102- let U = if ((T != ""))
107+ let U = toString(S.caller)
108+ let V = toBase58String(value(T.assetId))
109+ let W = c(M(U))
110+ let X = if ((W != ""))
103111 then {
104- let V = split(T, "_")
105- let W = parseIntValue(V[2])
106- let X = V[3]
107- let Y = a(N(R))
108- let Z = if ((Y == 0))
109- then W
110- else Y
111- let aa = if (if ((Z > H))
112+ let Y = split(W, "_")
113+ let Z = parseIntValue(Y[2])
114+ let aa = Y[3]
115+ let ab = a(Q(U))
116+ let ac = if ((ab == 0))
117+ then Z
118+ else ab
119+ let ad = if (if ((ac > K))
112120 then true
113- else (X != I))
114- then Z
115- else H
116-[toString(Z), toString(aa), X]
121+ else (aa != L))
122+ then ac
123+ else K
124+[toString(ac), toString(ad), aa]
117125 }
118- else [toString(H), toString(H), I]
119- let ab = parseIntValue(U[0])
120- let ac = parseIntValue(U[1])
121- let ad = U[2]
122- let ae = G(R, ac, ad)
123- let af = !((T == ae))
124- let ag = if (af)
126+ else [toString(K), toString(K), L]
127+ let ae = parseIntValue(X[0])
128+ let af = parseIntValue(X[1])
129+ let ag = X[2]
130+ let ah = J(U, af, ag)
131+ let ai = !((W == ah))
132+ let aj = if (ai)
125133 then height
126134 else 0
127- let ah = if (af)
135+ let ak = if (ai)
128136 then height
129- else a(K(ae, true))
130-[IntegerEntry(p(S), (A(S) + Q.amount)), IntegerEntry(m(R, S), (B(R, S) + Q.amount)), IntegerEntry(K(T, false), ag), IntegerEntry(K(ae, true), ah), IntegerEntry(N(R), ab), StringEntry(J(R), ae)]
137+ else a(N(ah, true))
138+[IntegerEntry(q(V), (D(V) + T.amount)), IntegerEntry(n(U, V), (E(U, V) + T.amount)), IntegerEntry(N(W, false), aj), IntegerEntry(N(ah, true), ak), IntegerEntry(Q(U), ae), StringEntry(M(U), ah)]
131139 }
132140 }
133141
134142
135-@Callable(P)
136-func lockNeutrinoSP (I,H) = O(P, I, H)
143+@Callable(S)
144+func lockNeutrinoSP (L,K) = R(S, L, K)
137145
138146
139147
140-@Callable(P)
141-func lockNeutrino () = O(P, toString(P.caller), 100)
148+@Callable(S)
149+func lockNeutrino () = R(S, toString(S.caller), 100)
142150
143151
144152
145-@Callable(P)
146-func unlockNeutrino (ai,S) = {
147- let R = toString(P.caller)
148- let o = fromBase58String(S)
149- let aj = (B(R, S) - ai)
150- if ((0 > aj))
153+@Callable(S)
154+func unlockNeutrino (al,V) = {
155+ let U = toString(S.caller)
156+ let p = fromBase58String(V)
157+ let am = (E(U, V) - al)
158+ if ((0 > am))
151159 then throw("invalid amount")
152- else if ((o != z))
160+ else if ((p != A))
153161 then throw("can use neutrino")
154- else [IntegerEntry(p(S), (A(S) - ai)), IntegerEntry(m(R, S), aj), ScriptTransfer(addressFromStringValue(R), ai, z)]
162+ else [IntegerEntry(q(V), (D(V) - al)), IntegerEntry(n(U, V), am), ScriptTransfer(addressFromStringValue(U), al, A)]
155163 }
156164
157165
158166
159-@Callable(P)
160-func vote (r,ak) = {
161- let al = split(E(r), ",")
162- let am = al[ak]
163- if ((height > C(r)))
167+@Callable(S)
168+func vote (s,an) = {
169+ let ao = split(H(s), ",")
170+ let ap = ao[an]
171+ if ((height > F(s)))
164172 then throw("proposal is expired")
165- else [StringEntry(u(toString(P.caller), r), am)]
173+ else [StringEntry(v(toString(S.caller), s), ap)]
166174 }
167175
168176
169177
170-@Callable(P)
171-func createProposal (al,an) = {
172- let r = toBase58String(keccak256(((toBytes(al) + toBytes(an)) + P.callerPublicKey)))
173- if ((D(r) != ""))
178+@Callable(S)
179+func createProposal (ao,aq) = {
180+ let s = toBase58String(keccak256(((toBytes(ao) + toBytes(aq)) + S.callerPublicKey)))
181+ if ((G(s) != ""))
174182 then throw("proposal is exist")
175- else [IntegerEntry(q(r), an), StringEntry(s(r), toString(P.caller)), StringEntry(t(r), al)]
183+ else [IntegerEntry(r(s), aq), StringEntry(t(s), toString(S.caller)), StringEntry(u(s), ao)]
176184 }
177185
178186
179-@Verifier(ao)
180-func ap () = {
181- let aq = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
182- let ar = ((((if (sigVerify(ao.bodyBytes, ao.proofs[0], fromBase58String(aq[0])))
187+@Verifier(ar)
188+func as () = {
189+ let at = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
190+ let au = ((((if (sigVerify(ar.bodyBytes, ar.proofs[0], fromBase58String(at[0])))
183191 then 1
184- else 0) + (if (sigVerify(ao.bodyBytes, ao.proofs[1], fromBase58String(aq[1])))
192+ else 0) + (if (sigVerify(ar.bodyBytes, ar.proofs[1], fromBase58String(at[1])))
185193 then 1
186- else 0)) + (if (sigVerify(ao.bodyBytes, ao.proofs[2], fromBase58String(aq[2])))
194+ else 0)) + (if (sigVerify(ar.bodyBytes, ar.proofs[2], fromBase58String(at[2])))
187195 then 1
188- else 0)) + (if (sigVerify(ao.bodyBytes, ao.proofs[3], fromBase58String(aq[3])))
196+ else 0)) + (if (sigVerify(ar.bodyBytes, ar.proofs[3], fromBase58String(at[3])))
189197 then 2
190198 else 0))
191- (ar >= 3)
199+ (au >= 3)
192200 }
193201
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b) = valueOrElse(getInteger(this, b), 0)
55
66
77 func c (b) = valueOrElse(getString(this, b), "")
88
99
1010 func d (b) = valueOrElse(getBoolean(this, b), false)
1111
1212
1313 func e (f,b) = valueOrElse(getInteger(addressFromStringValue(f), b), 0)
1414
1515
1616 func g (f,b) = valueOrElse(getString(f, b), "")
1717
1818
1919 let h = "neutrino_asset_id"
2020
2121 let i = "neutrino_contract"
2222
2323 let j = "rpd_balance"
2424
2525 let k = "control_contract"
2626
27-let l = "admins"
27+let l = "bond_asset_id"
2828
29-func m (n,o) = ((((j + "_") + o) + "_") + n)
29+let m = "admins"
30+
31+func n (o,p) = ((((j + "_") + p) + "_") + o)
3032
3133
32-func p (o) = ((j + "_") + o)
34+func q (p) = ((j + "_") + p)
3335
3436
35-func q (r) = (("proposal_expire" + "_") + r)
37+func r (s) = (("proposal_expire" + "_") + s)
3638
3739
38-func s (r) = (("proposal_owner" + "_") + r)
40+func t (s) = (("proposal_owner" + "_") + s)
3941
4042
41-func t (r) = (("proposal_arguments" + "_") + r)
43+func u (s) = (("proposal_arguments" + "_") + s)
4244
4345
44-func u (n,r) = (((("proposal_vote" + "_") + n) + "_") + r)
46+func v (o,s) = (((("proposal_vote" + "_") + o) + "_") + s)
4547
4648
47-func v (w) = split(w, ",")
49+func w (x) = split(x, ",")
4850
4951
50-let x = addressFromStringValue(c(i))
52+let y = addressFromStringValue(c(i))
5153
52-let y = addressFromStringValue(g(x, k))
54+let z = addressFromStringValue(g(y, k))
5355
54-let z = fromBase58String(g(x, h))
56+let A = fromBase58String(g(y, h))
5557
56-func A (o) = a(p(o))
58+let B = g(y, l)
59+
60+let C = fromBase58String(B)
61+
62+func D (p) = a(q(p))
5763
5864
59-func B (n,o) = a(m(n, o))
65+func E (o,p) = a(n(o, p))
6066
6167
62-func C (r) = a(q(r))
68+func F (s) = a(r(s))
6369
6470
65-func D (r) = c(s(r))
71+func G (s) = c(t(s))
6672
6773
68-func E (r) = c(t(r))
74+func H (s) = c(u(s))
6975
7076
71-func F (n,r) = c(u(n, r))
77+func I (o,s) = c(v(o, s))
7278
7379
74-func G (n,H,I) = ((((("stakingconfig_" + n) + "_") + toString(H)) + "_") + I)
80+func J (o,K,L) = ((((("stakingconfig_" + o) + "_") + toString(K)) + "_") + L)
7581
7682
77-func J (n) = ("stakingconfig_current_" + n)
83+func M (o) = ("stakingconfig_current_" + o)
7884
7985
80-func K (L,M) = (L + (if (M)
86+func N (O,P) = (O + (if (P)
8187 then "_start"
8288 else "_end"))
8389
8490
85-func N (n) = (n + "_initialShare")
91+func Q (o) = (o + "_initialShare")
8692
8793
88-func O (P,I,H) = {
89- let Q = value(P.payments[0])
90- if (!(isDefined(addressFromString(I))))
91- then throw(("Invalid address format " + I))
92- else if ((Q.assetId != z))
93- then throw("can use usd only")
94- else if ((H > 100))
94+func R (S,L,K) = {
95+ let T = value(S.payments[0])
96+ if (!(isDefined(addressFromString(L))))
97+ then throw(("Invalid address format " + L))
98+ else if (if ((T.assetId != A))
99+ then (T.assetId != C)
100+ else false)
101+ then throw("can use USDN or NSBT only")
102+ else if ((K > 100))
95103 then throw("staking rewards share cannot be higher than 100%")
96- else if ((1 > H))
104+ else if ((1 > K))
97105 then throw("staking rewards share cannot be lower than 1%")
98106 else {
99- let R = toString(P.caller)
100- let S = toBase58String(value(Q.assetId))
101- let T = c(J(R))
102- let U = if ((T != ""))
107+ let U = toString(S.caller)
108+ let V = toBase58String(value(T.assetId))
109+ let W = c(M(U))
110+ let X = if ((W != ""))
103111 then {
104- let V = split(T, "_")
105- let W = parseIntValue(V[2])
106- let X = V[3]
107- let Y = a(N(R))
108- let Z = if ((Y == 0))
109- then W
110- else Y
111- let aa = if (if ((Z > H))
112+ let Y = split(W, "_")
113+ let Z = parseIntValue(Y[2])
114+ let aa = Y[3]
115+ let ab = a(Q(U))
116+ let ac = if ((ab == 0))
117+ then Z
118+ else ab
119+ let ad = if (if ((ac > K))
112120 then true
113- else (X != I))
114- then Z
115- else H
116-[toString(Z), toString(aa), X]
121+ else (aa != L))
122+ then ac
123+ else K
124+[toString(ac), toString(ad), aa]
117125 }
118- else [toString(H), toString(H), I]
119- let ab = parseIntValue(U[0])
120- let ac = parseIntValue(U[1])
121- let ad = U[2]
122- let ae = G(R, ac, ad)
123- let af = !((T == ae))
124- let ag = if (af)
126+ else [toString(K), toString(K), L]
127+ let ae = parseIntValue(X[0])
128+ let af = parseIntValue(X[1])
129+ let ag = X[2]
130+ let ah = J(U, af, ag)
131+ let ai = !((W == ah))
132+ let aj = if (ai)
125133 then height
126134 else 0
127- let ah = if (af)
135+ let ak = if (ai)
128136 then height
129- else a(K(ae, true))
130-[IntegerEntry(p(S), (A(S) + Q.amount)), IntegerEntry(m(R, S), (B(R, S) + Q.amount)), IntegerEntry(K(T, false), ag), IntegerEntry(K(ae, true), ah), IntegerEntry(N(R), ab), StringEntry(J(R), ae)]
137+ else a(N(ah, true))
138+[IntegerEntry(q(V), (D(V) + T.amount)), IntegerEntry(n(U, V), (E(U, V) + T.amount)), IntegerEntry(N(W, false), aj), IntegerEntry(N(ah, true), ak), IntegerEntry(Q(U), ae), StringEntry(M(U), ah)]
131139 }
132140 }
133141
134142
135-@Callable(P)
136-func lockNeutrinoSP (I,H) = O(P, I, H)
143+@Callable(S)
144+func lockNeutrinoSP (L,K) = R(S, L, K)
137145
138146
139147
140-@Callable(P)
141-func lockNeutrino () = O(P, toString(P.caller), 100)
148+@Callable(S)
149+func lockNeutrino () = R(S, toString(S.caller), 100)
142150
143151
144152
145-@Callable(P)
146-func unlockNeutrino (ai,S) = {
147- let R = toString(P.caller)
148- let o = fromBase58String(S)
149- let aj = (B(R, S) - ai)
150- if ((0 > aj))
153+@Callable(S)
154+func unlockNeutrino (al,V) = {
155+ let U = toString(S.caller)
156+ let p = fromBase58String(V)
157+ let am = (E(U, V) - al)
158+ if ((0 > am))
151159 then throw("invalid amount")
152- else if ((o != z))
160+ else if ((p != A))
153161 then throw("can use neutrino")
154- else [IntegerEntry(p(S), (A(S) - ai)), IntegerEntry(m(R, S), aj), ScriptTransfer(addressFromStringValue(R), ai, z)]
162+ else [IntegerEntry(q(V), (D(V) - al)), IntegerEntry(n(U, V), am), ScriptTransfer(addressFromStringValue(U), al, A)]
155163 }
156164
157165
158166
159-@Callable(P)
160-func vote (r,ak) = {
161- let al = split(E(r), ",")
162- let am = al[ak]
163- if ((height > C(r)))
167+@Callable(S)
168+func vote (s,an) = {
169+ let ao = split(H(s), ",")
170+ let ap = ao[an]
171+ if ((height > F(s)))
164172 then throw("proposal is expired")
165- else [StringEntry(u(toString(P.caller), r), am)]
173+ else [StringEntry(v(toString(S.caller), s), ap)]
166174 }
167175
168176
169177
170-@Callable(P)
171-func createProposal (al,an) = {
172- let r = toBase58String(keccak256(((toBytes(al) + toBytes(an)) + P.callerPublicKey)))
173- if ((D(r) != ""))
178+@Callable(S)
179+func createProposal (ao,aq) = {
180+ let s = toBase58String(keccak256(((toBytes(ao) + toBytes(aq)) + S.callerPublicKey)))
181+ if ((G(s) != ""))
174182 then throw("proposal is exist")
175- else [IntegerEntry(q(r), an), StringEntry(s(r), toString(P.caller)), StringEntry(t(r), al)]
183+ else [IntegerEntry(r(s), aq), StringEntry(t(s), toString(S.caller)), StringEntry(u(s), ao)]
176184 }
177185
178186
179-@Verifier(ao)
180-func ap () = {
181- let aq = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
182- let ar = ((((if (sigVerify(ao.bodyBytes, ao.proofs[0], fromBase58String(aq[0])))
187+@Verifier(ar)
188+func as () = {
189+ let at = ["GXxmZaCigPgJsT6d1cLr8nUXA65nGX8V7FuAzzrY8wQE", "3xumx4hrPpeeoo79HLGbZCgfz95L39ZFdxxwWeSUC2Pu", "D4CqtK5fBsnzRo33ZMhrM7niLseDH2uRoK6weBq2JQ3A", "5WRXFSjwcTbNfKcJs8ZqXmSSWYsSVJUtMvMqZj5hH4Nc"]
190+ let au = ((((if (sigVerify(ar.bodyBytes, ar.proofs[0], fromBase58String(at[0])))
183191 then 1
184- else 0) + (if (sigVerify(ao.bodyBytes, ao.proofs[1], fromBase58String(aq[1])))
192+ else 0) + (if (sigVerify(ar.bodyBytes, ar.proofs[1], fromBase58String(at[1])))
185193 then 1
186- else 0)) + (if (sigVerify(ao.bodyBytes, ao.proofs[2], fromBase58String(aq[2])))
194+ else 0)) + (if (sigVerify(ar.bodyBytes, ar.proofs[2], fromBase58String(at[2])))
187195 then 1
188- else 0)) + (if (sigVerify(ao.bodyBytes, ao.proofs[3], fromBase58String(aq[3])))
196+ else 0)) + (if (sigVerify(ar.bodyBytes, ar.proofs[3], fromBase58String(at[3])))
189197 then 2
190198 else 0))
191- (ar >= 3)
199+ (au >= 3)
192200 }
193201

github/deemru/w8io/873ac7e 
92.25 ms