tx · 7eAjJ3ctykx3WyM2rLbfb13vDd1gYDtjRzYSkvFUCmfu 3P6V4fJpdqfvnT3i67JJhLpEP7HhFVDvDmY: -0.01400000 Waves 2021.03.12 13:33 [2499025] smart account 3P6V4fJpdqfvnT3i67JJhLpEP7HhFVDvDmY > SELF 0.00000000 Waves
{ "type": 13, "id": "7eAjJ3ctykx3WyM2rLbfb13vDd1gYDtjRzYSkvFUCmfu", "fee": 1400000, "feeAssetId": null, "timestamp": 1615545210310, "version": 2, "chainId": 87, "sender": "3P6V4fJpdqfvnT3i67JJhLpEP7HhFVDvDmY", "senderPublicKey": "GNk7C7Py9Wc53W6bLQULjKe6QKSQsdvS7jpKqM1r9NN2", "proofs": [ "4drnpqX1zTQ8ZdUM7PmmXWhVEynZp7uH7fjYzQjrudFdE59cA6aEFryDraVE4wh8KU7crLWaLwWCfiW9srNQB9Gc" ], "script": "base64:AAIEAAAAAAAAAAgIAhIECgIIAQAAAAcAAAAAEWtVc2VyUG9vbFZvdGVTV09QAgAAAAVfdm90ZQAAAAATa1VzZXJUb3RhbFZvdGVTV1BPUAIAAAAVX3VzZXJfdG90YWxfU1dPUF92b3RlAAAAAA1rUG9vbFZvdGVTV09QAgAAAApfdm90ZV9TV09QAAAAAA5rVG90YWxWb3RlU1dPUAIAAAAKdG90YWxfU1dPUAAAAAAHZ292QWRkcgkBAAAAB0FkZHJlc3MAAAABAQAAABoBV8xCrV/hZJJyhXQdPGpHq8UYNfvcWxn8mAEAAAAUaXNDYWxsZXJJbkdvdmVybmFuY2UAAAABAAAABHVzZXIDAwkAAGYAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAB2dvdkFkZHIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyAgAAAAxfU1dPUF9hbW91bnQAAAAAAAAAAAAAAAAAAAAAAAAGCQAAZgAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAAE2tVc2VyVG90YWxWb3RlU1dQT1AAAAAAAAAAAAAAAAAAAAAAAAAGBwEAAAASaXNQb29sSW5Hb3Zlcm5hbmNlAAAAAQAAAAtwb29sQWRkcmVzcwMJAABmAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAdnb3ZBZGRyCQABLAAAAAIFAAAAC3Bvb2xBZGRyZXNzAgAAAAxfc3RhcnRIZWlnaHQAAAAAAAAAAAAAAAAAAAAAAAAGBwAAAAEAAAABaQEAAAAOdm90ZVBvb2xXZWlnaHQAAAACAAAAC3Bvb2xBZGRyZXNzAAAAD3Bvb2xWb3RlU1dPUE5ldwMJAQAAAAEhAAAAAQkBAAAAFGlzQ2FsbGVySW5Hb3Zlcm5hbmNlAAAAAQgFAAAAAWkAAAAGY2FsbGVyCQAAAgAAAAECAAAAKlRoaXMgYWRkcmVzcyBoYXMgMCBTV09QIGluIEdvdmVybmFuY2UgZEFwcAMJAQAAAAEhAAAAAQkBAAAAEmlzUG9vbEluR292ZXJuYW5jZQAAAAEFAAAAC3Bvb2xBZGRyZXNzCQAAAgAAAAECAAAAMFRoaXMgcG9vbCBoYXMgbm8gX3N0YXJ0SGVpZ2h0IGluIEdvdmVybmFuY2UgZEFwcAQAAAATdXNlclRvdGFsVm90ZVdlaWdodAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrVXNlclRvdGFsVm90ZVNXUE9QAAAAAAAAAAAABAAAABJ1c2VyUG9vbFZvdGVXZWlnaHQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtVc2VyUG9vbFZvdGVTV09QAgAAAAFfBQAAAAtwb29sQWRkcmVzcwAAAAAAAAAAAAQAAAAMcG9vbFZvdGVTV09QCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAALcG9vbEFkZHJlc3MFAAAADWtQb29sVm90ZVNXT1AAAAAAAAAAAAAEAAAADXRvdGFsVm90ZVNXT1AJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOa1RvdGFsVm90ZVNXT1AAAAAAAAAAAAAEAAAAFHVzZXJTV09QaW5Hb3Zlcm5hbmNlCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAdnb3ZBZGRyCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAgAAAAxfU1dPUF9hbW91bnQEAAAAEnBvb2xWb3RlV2VpZ2h0RGlmZgkAAGUAAAACBQAAAA9wb29sVm90ZVNXT1BOZXcFAAAAEnVzZXJQb29sVm90ZVdlaWdodAQAAAAUdXNlclRvdGFsVm90ZVNXT1BOZXcJAABkAAAAAgUAAAATdXNlclRvdGFsVm90ZVdlaWdodAUAAAAScG9vbFZvdGVXZWlnaHREaWZmBAAAAA9wb29sVm90ZVNXT1BuZXcJAABkAAAAAgUAAAAMcG9vbFZvdGVTV09QBQAAABJwb29sVm90ZVdlaWdodERpZmYEAAAAEHRvdGFsVm90ZVNXT1BuZXcJAABkAAAAAgUAAAAMcG9vbFZvdGVTV09QBQAAABJwb29sVm90ZVdlaWdodERpZmYDCQAAZgAAAAIFAAAAFHVzZXJTV09QaW5Hb3Zlcm5hbmNlBQAAABR1c2VyVG90YWxWb3RlU1dPUE5ldwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAQlAAAAAQUAAAAEdGhpcwIAAAAFIGhhcyAJAAGkAAAAAQUAAAAUdXNlclNXT1BpbkdvdmVybmFuY2UCAAAAJ1NXT1AgaW4gZ292ZXJuYW5jZS4gTmV3IFNXT1AgaW4gdm90aW5nIAkAAaQAAAABBQAAABR1c2VyVG90YWxWb3RlU1dPUE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAEWtVc2VyUG9vbFZvdGVTV09QAgAAAAFfBQAAAAtwb29sQWRkcmVzcwUAAAAPcG9vbFZvdGVTV09QTmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAABNrVXNlclRvdGFsVm90ZVNXUE9QBQAAABR1c2VyVG90YWxWb3RlU1dPUE5ldwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAtwb29sQWRkcmVzcwUAAAANa1Bvb2xWb3RlU1dPUAUAAAAPcG9vbFZvdGVTV09QbmV3CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA5rVG90YWxWb3RlU1dPUAUAAAAQdG90YWxWb3RlU1dPUG5ldwUAAAADbmlsAAAAABZEoZs=", "height": 2499025, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8cdWqnpp84L58LreXTPmqh5Jz7LgF6xneFuHmSD3c9tv Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let | |
4 | + | let kUserPoolVoteSWOP = "_vote" | |
5 | 5 | ||
6 | - | let kUserTotalVoteWeight = "_user_total_vote" | |
6 | + | let kUserTotalVoteSWPOP = "_user_total_SWOP_vote" | |
7 | + | ||
8 | + | let kPoolVoteSWOP = "_vote_SWOP" | |
9 | + | ||
10 | + | let kTotalVoteSWOP = "total_SWOP" | |
7 | 11 | ||
8 | 12 | let govAddr = Address(base58'3PLYvTCK8LTRt87EqUULt428zTLteWWyf4b') | |
9 | 13 | ||
10 | - | let userTotalVoteWeightMax = 1000000 | |
11 | - | ||
12 | 14 | func isCallerInGovernance (user) = if (if ((valueOrElse(getInteger(govAddr, (toString(user) + "_SWOP_amount")), 0) > 0)) | |
13 | 15 | then true | |
14 | - | else (valueOrElse(getInteger(this, (toString(user) + | |
16 | + | else (valueOrElse(getInteger(this, (toString(user) + kUserTotalVoteSWPOP)), 0) > 0)) | |
15 | 17 | then true | |
16 | 18 | else false | |
17 | 19 | ||
18 | 20 | ||
19 | - | func isPoolInGovernance (poolAddress) = if ((valueOrElse(getInteger(govAddr, (poolAddress + "_ | |
21 | + | func isPoolInGovernance (poolAddress) = if ((valueOrElse(getInteger(govAddr, (poolAddress + "_startHeight")), 0) > 0)) | |
20 | 22 | then true | |
21 | 23 | else false | |
22 | 24 | ||
23 | 25 | ||
24 | 26 | @Callable(i) | |
25 | - | func votePoolWeight (poolAddress, | |
27 | + | func votePoolWeight (poolAddress,poolVoteSWOPNew) = if (!(isCallerInGovernance(i.caller))) | |
26 | 28 | then throw("This address has 0 SWOP in Governance dApp") | |
27 | 29 | else if (!(isPoolInGovernance(poolAddress))) | |
28 | - | then throw("This pool has no | |
30 | + | then throw("This pool has no _startHeight in Governance dApp") | |
29 | 31 | else { | |
30 | - | let userTotalVoteWeight = valueOrElse(getInteger(this, (toString(i.caller) + kUserTotalVoteWeight)), 0) | |
31 | - | let userPoolVoteWeight = valueOrElse(getInteger(this, (((toString(i.caller) + kUserPoolVoteWeight) + "_") + poolAddress)), 0) | |
32 | - | let poolVoteWeightDiff = (poolVoteWeightNew - userPoolVoteWeight) | |
33 | - | let userTotalVoteWeightNew = (userTotalVoteWeight + poolVoteWeightDiff) | |
34 | - | if ((userTotalVoteWeightNew > userTotalVoteWeightMax)) | |
35 | - | then throw(((("New total vote " + toString(userTotalVoteWeightNew)) + " should be less then ") + toString(userTotalVoteWeightMax))) | |
36 | - | else [IntegerEntry((((toString(i.caller) + kUserPoolVoteWeight) + "_") + poolAddress), poolVoteWeightNew), IntegerEntry((toString(i.caller) + kUserTotalVoteWeight), userTotalVoteWeightNew)] | |
32 | + | let userTotalVoteWeight = valueOrElse(getInteger(this, (toString(i.caller) + kUserTotalVoteSWPOP)), 0) | |
33 | + | let userPoolVoteWeight = valueOrElse(getInteger(this, (((toString(i.caller) + kUserPoolVoteSWOP) + "_") + poolAddress)), 0) | |
34 | + | let poolVoteSWOP = valueOrElse(getInteger(this, (poolAddress + kPoolVoteSWOP)), 0) | |
35 | + | let totalVoteSWOP = valueOrElse(getInteger(this, kTotalVoteSWOP), 0) | |
36 | + | let userSWOPinGovernance = getIntegerValue(govAddr, (toString(i.caller) + "_SWOP_amount")) | |
37 | + | let poolVoteWeightDiff = (poolVoteSWOPNew - userPoolVoteWeight) | |
38 | + | let userTotalVoteSWOPNew = (userTotalVoteWeight + poolVoteWeightDiff) | |
39 | + | let poolVoteSWOPnew = (poolVoteSWOP + poolVoteWeightDiff) | |
40 | + | let totalVoteSWOPnew = (poolVoteSWOP + poolVoteWeightDiff) | |
41 | + | if ((userSWOPinGovernance > userTotalVoteSWOPNew)) | |
42 | + | then throw(((((toString(this) + " has ") + toString(userSWOPinGovernance)) + "SWOP in governance. New SWOP in voting ") + toString(userTotalVoteSWOPNew))) | |
43 | + | else [IntegerEntry((((toString(i.caller) + kUserPoolVoteSWOP) + "_") + poolAddress), poolVoteSWOPNew), IntegerEntry((toString(i.caller) + kUserTotalVoteSWPOP), userTotalVoteSWOPNew), IntegerEntry((poolAddress + kPoolVoteSWOP), poolVoteSWOPnew), IntegerEntry(kTotalVoteSWOP, totalVoteSWOPnew)] | |
37 | 44 | } | |
38 | 45 | ||
39 | 46 |
github/deemru/w8io/6500d08 123.88 ms ◑