tx · 9UrYBHjBzPTYPKQnjFfbw5p1g9ao54FjQCxQYdwHy7JP

3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6:  -0.01000000 Waves

2021.04.21 13:25 [1492088] smart account 3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6 > SELF 0.00000000 Waves

{ "type": 13, "id": "9UrYBHjBzPTYPKQnjFfbw5p1g9ao54FjQCxQYdwHy7JP", "fee": 1000000, "feeAssetId": null, "timestamp": 1619000730723, "version": 2, "chainId": 84, "sender": "3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6", "senderPublicKey": "75SuvmjmHX6J7smVGHvWY6acr5mqyRQCYpFxeFQh8Cy3", "proofs": [ "49RtkfYgJA6Qy1KLZjqsycRTK4gpohPJgDDzyapbcCRWcHtZbfU4q8PnGLTuEooY7ULjUGfBpjWyeqFQ59CtsamK" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgQKAggIEgUKAwEEARIECgIBCBIAEgAAAAAbAAAAAAd2ZXJzaW9uAgAAAAUxLjAuMAAAAAAKa2V5VmVyc2lvbgIAAAAHdmVyc2lvbgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAAEWtleU51bWJlck9mVm90aW5nAgAAAA1udW1iZXJfdm90aW5nAAAAAA9rZXlIZWlnaHRPZlBvb2wCAAAAB19oZWlnaHQAAAAABWtleU5vAgAAAANfbm8AAAAABmtleVllcwIAAAAEX3llcwAAAAARa2V5U3RhdHVzT2ZWb3RpbmcCAAAAB19zdGF0dXMAAAAAEWtleUFtb3VudE9mVm90aW5nAgAAAA1hbW91bnRfdm90aW5nAAAAAA1rZXlDb21taXNzaW9uAgAAAApjb21taXNzaW9uAAAAABtrZXlDb21taXNzaW9uU2NhbGVEZWxpbWl0ZXICAAAAGmNvbW1pc3Npb25fc2NhbGVfZGVsaW1pdGVyAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADmtleUNhbmNlbENhdXNlAgAAAA1fY2FuY2VsX2NhdXNlAAAAAA5rVXNlclRvdGFsU1dPUAIAAAAMX1NXT1BfYW1vdW50AAAAAAhpc0FjdGl2ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTEpAAAAAgUAAAAEdGhpcwUAAAAJa2V5QWN0aXZlAAAAAA5udW1iZXJPZlZvdGluZwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAARa2V5TnVtYmVyT2ZWb3RpbmcAAAAADmFtb3VudE9mVm90aW5nCQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAR0aGlzBQAAABFrZXlBbW91bnRPZlZvdGluZwAAAAAhY29taXNzaW9uRm9ySW5pdGFsaXphdGlvbk9mVm90aW5nAAAAAAA7msoAAAAAAAtzY2FsZVZhbHVlMwAAAAAAAAAD6AAAAAALc2NhbGVWYWx1ZTgAAAAAAAX14QAAAAAAGnNsaXBwYWdlVG9sZXJhbmNlRGVsaW1pdGVyAAAAAAAAAAPoAAAAABFzY2FsZVZhbHVlOERpZ2l0cwAAAAAAAAAACAAAAAARbWF4QW1vdW50T2ZWb3RpbmcAAAAAAAAAAAUAAAAACGZpdmVEYXlzCQAAaAAAAAIAAAAAAAAABaAAAAAAAAAAAAUBAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABAAAACGFzc2V0U3RyAwkAAAAAAAACBQAAAAhhc3NldFN0cgIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAIYXNzZXRTdHIBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAACF0aHJvd0luc3VmZmljaWVudEF2YWlsYWJsZUJhbGFuY2UAAAACAAAABmFtb3VudAAAAAlhc3NldE5hbWUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAIUluc3VmZmljaWVudCBEQXBwIGJhbGFuY2UgdG8gcGF5IAkAAaQAAAABBQAAAAZhbW91bnQCAAAAASAFAAAACWFzc2V0TmFtZQIAAAAQIGR1ZSB0byBzdGFraW5nLgIAAABALiBQbGVhc2UgY29udGFjdCBzdXBwb3J0IGluIFRlbGVncmFtOiBodHRwczovL3QubWUvc3dvcGZpc3VwcG9ydAAAAAYAAAABaQEAAAAEaW5pdAAAAAAEAAAAEmluaXROdW1iZXJPZlZvdGluZwAAAAAAAAAAAAQAAAASaW5pdEFtb3VudE9mVm90aW5nAAAAAAAAAAAABAAAAA1pbml0S2V5QWN0aXZlBgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAprZXlWZXJzaW9uBQAAAAd2ZXJzaW9uCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUFAAAADWluaXRLZXlBY3RpdmUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleU51bWJlck9mVm90aW5nBQAAABJpbml0TnVtYmVyT2ZWb3RpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleUFtb3VudE9mVm90aW5nBQAAABJpbml0QW1vdW50T2ZWb3RpbmcFAAAAA25pbAAAAAFpAQAAABRpbml0Vm90aW5nRm9yTmV3UG9vbAAAAAIAAAAGYXNzZXRBAAAABmFzc2V0QgQAAAALJHQwMjk0MzMwNDIJAAUUAAAAAgkBAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABBQAAAAZhc3NldEEJAQAAABZnZXRBc3NldEluZm9Gcm9tU3RyaW5nAAAAAQUAAAAGYXNzZXRCBAAAAAxwb29sQXNzZXRJZEEIBQAAAAskdDAyOTQzMzA0MgAAAAJfMQQAAAAMcG9vbEFzc2V0SWRCCAUAAAALJHQwMjk0MzMwNDIAAAACXzIDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAAAAAAAIFAAAADHBvb2xBc3NldElkQQUAAAAMcG9vbEFzc2V0SWRCCQAAAgAAAAECAAAAGEFzc2V0cyBtdXN0IGJlIGRpZmZlcmVudAMJAABmAAAAAgUAAAAObnVtYmVyT2ZWb3RpbmcFAAAAEW1heEFtb3VudE9mVm90aW5nCQAAAgAAAAEJAAEsAAAAAgIAAAAiVG9vIG1hbnkgdm90ZXMuIE1heGltdW0gcXVhbnRpdHkgLQkAAaQAAAABBQAAABFtYXhBbW91bnRPZlZvdGluZwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZhc3NldEECAAAAAV8FAAAABmFzc2V0QgIAAAABXwkAAaQAAAABBQAAAA5hbW91bnRPZlZvdGluZwUAAAAOYW1vdW50T2ZWb3RpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA5hbW91bnRPZlZvdGluZwUAAAAPa2V5SGVpZ2h0T2ZQb29sCQAAZAAAAAIFAAAABmhlaWdodAUAAAAIZml2ZURheXMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAA5hbW91bnRPZlZv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", "height": 1492088, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 6CoSEKknwXX6jCdLtMWwA7tZEXvLQNNxZ9MsuBErQeYj Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 4 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let version = "1.0.0"
5+
6+let keyVersion = "version"
7+
8+let keyActive = "active"
9+
10+let keyNumberOfVoting = "number_voting"
11+
12+let keyHeightOfPool = "_height"
13+
14+let keyNo = "_no"
15+
16+let keyYes = "_yes"
17+
18+let keyStatusOfVoting = "_status"
19+
20+let keyAmountOfVoting = "amount_voting"
21+
22+let keyCommission = "commission"
23+
24+let keyCommissionScaleDelimiter = "commission_scale_delimiter"
25+
26+let keyCause = "shutdown_cause"
27+
28+let keyCancelCause = "_cancel_cause"
29+
30+let kUserTotalSWOP = "_SWOP_amount"
31+
32+let isActive = getBooleanValue(this, keyActive)
33+
34+let numberOfVoting = getIntegerValue(this, keyNumberOfVoting)
35+
36+let amountOfVoting = getIntegerValue(this, keyAmountOfVoting)
37+
38+let comissionForInitalizationOfVoting = 1000000000
39+
40+let scaleValue3 = 1000
41+
42+let scaleValue8 = 100000000
43+
44+let slippageToleranceDelimiter = 1000
45+
46+let scaleValue8Digits = 8
47+
48+let maxAmountOfVoting = 5
49+
50+let fiveDays = (1440 * 5)
51+
52+func getAssetInfoFromString (assetStr) = if ((assetStr == "WAVES"))
53+ then unit
54+ else fromBase58String(assetStr)
55+
56+
57+func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
58+
59+
60+func throwInsufficientAvailableBalance (amount,assetName) = throw(((((("Insufficient DApp balance to pay " + toString(amount)) + " ") + assetName) + " due to staking.") + ". Please contact support in Telegram: https://t.me/swopfisupport"))
61+
62+
63+@Callable(i)
64+func init () = {
65+ let initNumberOfVoting = 0
66+ let initAmountOfVoting = 0
67+ let initKeyActive = true
68+[StringEntry(keyVersion, version), BooleanEntry(keyActive, initKeyActive), IntegerEntry(keyNumberOfVoting, initNumberOfVoting), IntegerEntry(keyAmountOfVoting, initAmountOfVoting)]
69+ }
70+
71+
72+
73+@Callable(i)
74+func initVotingForNewPool (assetA,assetB) = {
75+ let $t029433042 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
76+ let poolAssetIdA = $t029433042._1
77+ let poolAssetIdB = $t029433042._2
78+ if (!(isActive))
79+ then throw("DApp is inactive at this moment")
80+ else if ((poolAssetIdA == poolAssetIdB))
81+ then throw("Assets must be different")
82+ else if ((numberOfVoting > maxAmountOfVoting))
83+ then throw(("Too many votes. Maximum quantity -" + toString(maxAmountOfVoting)))
84+ else [IntegerEntry(((((assetA + "_") + assetB) + "_") + toString(amountOfVoting)), amountOfVoting), IntegerEntry((toString(amountOfVoting) + keyHeightOfPool), (height + fiveDays)), BooleanEntry((toString(amountOfVoting) + keyStatusOfVoting), true), IntegerEntry(keyAmountOfVoting, (amountOfVoting + 1)), IntegerEntry(keyNumberOfVoting, (numberOfVoting + 1))]
85+ }
86+
87+
88+
89+@Callable(i)
90+func voteForPool (voting,yesOrNo,voteAmt) = {
91+ let currentHeight = height
92+ let poolInitHeight = valueOrErrorMessage(getIntegerValue(this, (toString(voting) + keyHeightOfPool)), ("Voting " + toString(voting)))
93+ if (yesOrNo)
94+ then {
95+ let newVote = (valueOrElse(getIntegerValue(this, (toString(voting) + keyYes)), 0) + voteAmt)
96+[IntegerEntry((toString(voting) + keyYes), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyYes), voteAmt)]
97+ }
98+ else {
99+ let newVote = (valueOrElse(getIntegerValue(this, (toString(voting) + keyNo)), 0) + voteAmt)
100+[IntegerEntry((toString(voting) + keyNo), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyNo), voteAmt)]
101+ }
102+ }
103+
104+
105+
106+@Callable(i)
107+func cancellationVoting (voting,cause) = [IntegerEntry(keyNumberOfVoting, (numberOfVoting - 1)), BooleanEntry((toString(voting) + keyStatusOfVoting), false), StringEntry((toString(voting) + keyCancelCause), cause)]
108+
109+
110+
111+@Callable(i)
112+func shutdown () = if (!(isActive))
113+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
114+ else suspend("Paused by admin")
115+
116+
117+
118+@Callable(i)
119+func activate () = if (isActive)
120+ then throw("DApp is already active")
121+ else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
122+
123+
124+@Verifier(tx)
125+func verify () = true
126+

github/deemru/w8io/c3f4982 
43.56 ms