tx · 47eDZUkAiuNcLSwkTddofjDPmwtya4arDEvXTdARE7pX

3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6:  -0.01400000 Waves

2021.04.27 02:42 [1500105] smart account 3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6 > SELF 0.00000000 Waves

{ "type": 13, "id": "47eDZUkAiuNcLSwkTddofjDPmwtya4arDEvXTdARE7pX", "fee": 1400000, "feeAssetId": null, "timestamp": 1619480615667, "version": 2, "chainId": 84, "sender": "3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6", "senderPublicKey": "75SuvmjmHX6J7smVGHvWY6acr5mqyRQCYpFxeFQh8Cy3", "proofs": [ "2Q1a5kB9d5uAvU9miT2FKbBq8uiNA6cbcFhndfyDgiMWfhPFcuyXkzXXoTpa3s9bvrw7uEiarY3wYEh25cbefQmR" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgQKAggIEgUKAwEEARIECgIBCBIAEgAAAAAnAAAAAAd2ZXJzaW9uAgAAAAUxLjAuMAAAAAAKa2V5VmVyc2lvbgIAAAAHdmVyc2lvbgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAAEWtleU51bWJlck9mVm90aW5nAgAAAA1udW1iZXJfdm90aW5nAAAAAA9rZXlIZWlnaHRPZlBvb2wCAAAAB19oZWlnaHQAAAAABWtleU5vAgAAAANfbm8AAAAABmtleVllcwIAAAAEX3llcwAAAAARa2V5U3RhdHVzT2ZWb3RpbmcCAAAAB19zdGF0dXMAAAAAEWtleUFtb3VudE9mVm90aW5nAgAAAA1hbW91bnRfdm90aW5nAAAAAA1rZXlDb21taXNzaW9uAgAAAApjb21taXNzaW9uAAAAABtrZXlDb21taXNzaW9uU2NhbGVEZWxpbWl0ZXICAAAAGmNvbW1pc3Npb25fc2NhbGVfZGVsaW1pdGVyAAAAAAhrZXlDYXVzZQIAAAAOc2h1dGRvd25fY2F1c2UAAAAADmtleUNhbmNlbENhdXNlAgAAAA1fY2FuY2VsX2NhdXNlAAAAAA5rVXNlclRvdGFsU1dPUAIAAAAMX1NXT1BfYW1vdW50AAAAAAVrTmFtZQIAAAAFX25hbWUAAAAACHZvdGluZ0lkAgAAAAlfdm90aW5nSWQAAAAADnBlcmlvZE9mVm90aW5nAgAAAA1wZXJpb2Rfdm90aW5nAAAAAAxhZG1pblB1YktleTEBAAAAIATPdeVk0MEPTme5HxNkxBoN6oQkQjF9M5BdQFgKnZNKAAAAAAxhZG1pblB1YktleTIBAAAAIATPdeVk0MEPTme5HxNkxBoN6oQkQjF9M5BdQFgKnZNKAAAAAAxhZG1pblB1YktleTMBAAAAIATPdeVk0MEPTme5HxNkxBoN6oQkQjF9M5BdQFgKnZNKAAAAABRhZG1pblB1YktleVN0YXJ0U3RvcAEAAAAgBM915WTQwQ9OZ7kfE2TEGg3qhCRCMX0zkF1AWAqdk0oAAAAADXdhbGxldEFkZHJlc3MJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTfPUuXiVhZ3hXg5FELVt09el+9tX+FIYkAAAAAB2dvdkFkZHIJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVRx8VWBtBMlxY2UcH5+sGzX5W+FwiwTPL8AAAAABFVTRE4BAAAAIG8ko8qrMNxSKZjoLGFa7lp/I03CLXW76Z2qVODS0AfBAAAAAARTV09QAQAAACAS/4EgkUhus0D2030TGEJX/W+h+zLTquzNaj+daX07+AAAAAAIaXNBY3RpdmUJAQAAABFAZXh0ck5hdGl2ZSgxMDUxKQAAAAIFAAAABHRoaXMFAAAACWtleUFjdGl2ZQAAAAAObnVtYmVyT2ZWb3RpbmcJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAEWtleU51bWJlck9mVm90aW5nAAAAAA5hbW91bnRPZlZvdGluZwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwUAAAARa2V5QW1vdW50T2ZWb3RpbmcAAAAAIWNvbWlzc2lvbkZvckluaXRhbGl6YXRpb25PZlZvdGluZwAAAAAAO5rKAAAAAAALc2NhbGVWYWx1ZTMAAAAAAAAAA+gAAAAAC3NjYWxlVmFsdWU4AAAAAAAF9eEAAAAAABpzbGlwcGFnZVRvbGVyYW5jZURlbGltaXRlcgAAAAAAAAAD6AAAAAARc2NhbGVWYWx1ZThEaWdpdHMAAAAAAAAAAAgAAAAAEW1heEFtb3VudE9mVm90aW5nAAAAAAAAAAAFAAAAAAhmaXZlRGF5cwAAAAAAAAAA8AEAAAAWZ2V0QXNzZXRJbmZvRnJvbVN0cmluZwAAAAEAAAAIYXNzZXRTdHIDCQAAAAAAAAIFAAAACGFzc2V0U3RyAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAAhhc3NldFN0cgEAAAAUaXNDYWxsZXJJbkdvdmVybmFuY2UAAAABAAAABHVzZXIDCQAAZgAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAHZ292QWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAADmtVc2VyVG90YWxTV09QAAAAAAAAAAAAAAAAAAAAAAAABgcBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAACF0aHJvd0luc3VmZmljaWVudEF2YWlsYWJsZUJhbGFuY2UAAAACAAAABmFtb3VudAAAAAlhc3NldE5hbWUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAIUluc3VmZmljaWVudCBEQXBwIGJhbGFuY2UgdG8gcGF5IAkAAaQAAAABBQAAAAZhbW91bnQCAAAAASAFAAAACWFzc2V0TmFtZQIAAAAQIGR1ZSB0byBzdGFraW5nLgIAAABALiBQbGVhc2UgY29udGFjdCBzdXBwb3J0IGluIFRlbGVncmFtOiBodHRwczovL3QubWUvc3dvcGZpc3VwcG9ydAAAAAYAAAABaQEAAAAEaW5pdAAAAAADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIFAAAABHRoaXMJAAACAAAAAQIAAAArT25seSB0aGUgREFwcCBpdHNlbGYgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAABHRoaXMFAAAACWtleUFjdGl2ZQkAAAIAAAABAgAAABZEQXBwIGlzIGFscmVhZHkgYWN0aXZlBAAAABJpbml0TnVtYmVyT2ZWb3RpbmcAAAAAAAAAAAAEAAAAEmluaXRBbW91bnRPZlZvdGluZwAAAAAAAAAAAAQAAAANaW5pdEtleUFjdGl2ZQYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAKa2V5VmVyc2lvbgUAAAAHdmVyc2lvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBQAAAA1pbml0S2V5QWN0aXZlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlOdW1iZXJPZlZvdGluZwUAAAASaW5pdE51bWJlck9mVm90aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlBbW91bnRPZlZvdGluZwUAAAASaW5pdEFtb3VudE9mVm90aW5nBQAAAANuaWwAAAABaQEAAAAUaW5pdFZvdGluZ0Zvck5ld1Bvb2wAAAACAAAABmFzc2V0QQAAAAZhc3NldEIEAAAACyR0MDI5MDkyOTg0CQAFFAAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAABmFtb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAHYXNzZXRJZAQAAAAJcG10QW1vdW50CAUAAAALJHQwMjkwOTI5ODQAAAACXzEEAAAACnBtdEFzc2V0SWQIBQAAAAskdDAyOTA5Mjk4NAAAAAJfMgQAAAALJHQwMjk4OTMwOTUJAAUUAAAAAgkBAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABBQAAAAZhc3NldEEJAQAAABZnZXRBc3NldEluZm9Gcm9tU3RyaW5nAAAAAQUAAAAGYXNzZXRCBAAAAAxwb29sQXNzZXRJZEEIBQAAAAskdDAyOTg5MzA5NQAAAAJfMQQAAAAMcG9vbEFzc2V0SWRCCAUAAAALJHQwMjk4OTMwOTUAAAACXzIDCQEAAAABIQAAAAEFAAAACGlzQWN0aXZlCQAAAgAAAAECAAAAH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQDCQAAAAAAAAIFAAAADHBvb2xBc3NldElkQQUAAAAMcG9vbEFzc2V0SWRCCQAAAgAAAAECAAAAGEFzc2V0cyBtdXN0IGJlIGRpZmZlcmVudAMJAQAAAAIhPQAAAAIFAAAACnBtdEFzc2V0SWQFAAAABFNXT1AJAAACAAAAAQIAAAAZWW91IG11c3QgdXNlIGEgU1dPUCB0b2tlbgMJAQAAAAIhPQAAAAIFAAAACXBtdEFtb3VudAUAAAAhY29taXNzaW9uRm9ySW5pdGFsaXphdGlvbk9mVm90aW5nCQAAAgAAAAECAAAAIVlvdSBuZWVkIHRvIGF0dGFjaCAxMCBTV09QIHRva2VucwMJAABmAAAAAgUAAAAObnVtYmVyT2ZWb3RpbmcFAAAAEW1heEFtb3VudE9mVm90aW5nCQAAAgAAAAEJAAEsAAAAAgIAAAAiVG9vIG1hbnkgdm90ZXMuIE1heGltdW0gcXVhbnRpdHkgLQkAAaQAAAABBQAAABFtYXhBbW91bnRPZlZvdGlu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", "height": 1500105, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BvTcyVAv1fY7gxFWJkKXdQhA68stt2JqjJdvMd2FmwjQ Next: 9JK3DqBbQGUoq7h5DJSH3m6Mbp89gG2TMBF3qpbpEzRA Diff:
OldNewDifferences
6969
7070 let maxAmountOfVoting = 5
7171
72-let fiveDays = (1440 * 5)
72+let fiveDays = 240
7373
7474 func getAssetInfoFromString (assetStr) = if ((assetStr == "WAVES"))
7575 then unit
103103
104104 @Callable(i)
105105 func initVotingForNewPool (assetA,assetB) = {
106- let $t028752950 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
107- let pmtAmount = $t028752950._1
108- let pmtAssetId = $t028752950._2
109- let $t029553061 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
110- let poolAssetIdA = $t029553061._1
111- let poolAssetIdB = $t029553061._2
106+ let $t029092984 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
107+ let pmtAmount = $t029092984._1
108+ let pmtAssetId = $t029092984._2
109+ let $t029893095 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
110+ let poolAssetIdA = $t029893095._1
111+ let poolAssetIdB = $t029893095._2
112112 if (!(isActive))
113113 then throw("DApp is inactive at this moment")
114114 else if ((poolAssetIdA == poolAssetIdB))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let version = "1.0.0"
55
66 let keyVersion = "version"
77
88 let keyActive = "active"
99
1010 let keyNumberOfVoting = "number_voting"
1111
1212 let keyHeightOfPool = "_height"
1313
1414 let keyNo = "_no"
1515
1616 let keyYes = "_yes"
1717
1818 let keyStatusOfVoting = "_status"
1919
2020 let keyAmountOfVoting = "amount_voting"
2121
2222 let keyCommission = "commission"
2323
2424 let keyCommissionScaleDelimiter = "commission_scale_delimiter"
2525
2626 let keyCause = "shutdown_cause"
2727
2828 let keyCancelCause = "_cancel_cause"
2929
3030 let kUserTotalSWOP = "_SWOP_amount"
3131
3232 let kName = "_name"
3333
3434 let votingId = "_votingId"
3535
3636 let periodOfVoting = "period_voting"
3737
3838 let adminPubKey1 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
3939
4040 let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
4141
4242 let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
4343
4444 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
4545
4646 let walletAddress = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
4747
4848 let govAddr = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
4949
5050 let USDN = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
5151
5252 let SWOP = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
5353
5454 let isActive = getBooleanValue(this, keyActive)
5555
5656 let numberOfVoting = getIntegerValue(this, keyNumberOfVoting)
5757
5858 let amountOfVoting = getIntegerValue(this, keyAmountOfVoting)
5959
6060 let comissionForInitalizationOfVoting = 1000000000
6161
6262 let scaleValue3 = 1000
6363
6464 let scaleValue8 = 100000000
6565
6666 let slippageToleranceDelimiter = 1000
6767
6868 let scaleValue8Digits = 8
6969
7070 let maxAmountOfVoting = 5
7171
72-let fiveDays = (1440 * 5)
72+let fiveDays = 240
7373
7474 func getAssetInfoFromString (assetStr) = if ((assetStr == "WAVES"))
7575 then unit
7676 else fromBase58String(assetStr)
7777
7878
7979 func isCallerInGovernance (user) = if ((valueOrElse(getInteger(govAddr, (toString(user) + kUserTotalSWOP)), 0) > 0))
8080 then true
8181 else false
8282
8383
8484 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
8585
8686
8787 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"))
8888
8989
9090 @Callable(i)
9191 func init () = if ((i.caller != this))
9292 then throw("Only the DApp itself can call this function")
9393 else if (isDefined(getBoolean(this, keyActive)))
9494 then throw("DApp is already active")
9595 else {
9696 let initNumberOfVoting = 0
9797 let initAmountOfVoting = 0
9898 let initKeyActive = true
9999 [StringEntry(keyVersion, version), BooleanEntry(keyActive, initKeyActive), IntegerEntry(keyNumberOfVoting, initNumberOfVoting), IntegerEntry(keyAmountOfVoting, initAmountOfVoting)]
100100 }
101101
102102
103103
104104 @Callable(i)
105105 func initVotingForNewPool (assetA,assetB) = {
106- let $t028752950 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
107- let pmtAmount = $t028752950._1
108- let pmtAssetId = $t028752950._2
109- let $t029553061 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
110- let poolAssetIdA = $t029553061._1
111- let poolAssetIdB = $t029553061._2
106+ let $t029092984 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
107+ let pmtAmount = $t029092984._1
108+ let pmtAssetId = $t029092984._2
109+ let $t029893095 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
110+ let poolAssetIdA = $t029893095._1
111+ let poolAssetIdB = $t029893095._2
112112 if (!(isActive))
113113 then throw("DApp is inactive at this moment")
114114 else if ((poolAssetIdA == poolAssetIdB))
115115 then throw("Assets must be different")
116116 else if ((pmtAssetId != SWOP))
117117 then throw("You must use a SWOP token")
118118 else if ((pmtAmount != comissionForInitalizationOfVoting))
119119 then throw("You need to attach 10 SWOP tokens")
120120 else if ((numberOfVoting > maxAmountOfVoting))
121121 then throw(("Too many votes. Maximum quantity -" + toString(maxAmountOfVoting)))
122122 else if (!(if (if (if (if (if ((poolAssetIdA == USDN))
123123 then true
124124 else (poolAssetIdB == USDN))
125125 then true
126126 else (poolAssetIdA == unit))
127127 then true
128128 else (poolAssetIdB == unit))
129129 then true
130130 else (poolAssetIdA == SWOP))
131131 then true
132132 else (poolAssetIdB == SWOP)))
133133 then throw("One of the assets must be USDN, WAVES, SWOP")
134134 else [IntegerEntry((((((assetA + "_") + assetB) + "_") + toString(amountOfVoting)) + votingId), amountOfVoting), IntegerEntry((toString(amountOfVoting) + keyHeightOfPool), (height + fiveDays)), BooleanEntry((toString(amountOfVoting) + keyStatusOfVoting), true), IntegerEntry(keyAmountOfVoting, (amountOfVoting + 1)), IntegerEntry(keyNumberOfVoting, (numberOfVoting + 1)), StringEntry((assetA + kName), assetA), StringEntry((assetB + kName), assetB), ScriptTransfer(walletAddress, pmtAmount, pmtAssetId)]
135135 }
136136
137137
138138
139139 @Callable(i)
140140 func voteForPool (voting,yesOrNo,voteAmt) = {
141141 let currentHeight = height
142142 let poolInitHeight = valueOrErrorMessage(getIntegerValue(this, (toString(voting) + keyHeightOfPool)), "Empty pool height")
143143 let userSWOPinGovernance = valueOrElse(getInteger(govAddr, (toString(i.caller) + kUserTotalSWOP)), 0)
144144 if (!(isCallerInGovernance(i.caller)))
145145 then throw("This address has 0 SWOP in Governance dApp")
146146 else if ((currentHeight > poolInitHeight))
147147 then [IntegerEntry(keyNumberOfVoting, (numberOfVoting - 1))]
148148 else if ((1 > voteAmt))
149149 then throw("The number of votes must be positive")
150150 else if ((voteAmt > userSWOPinGovernance))
151151 then throw((((toString(this) + " has ") + toString(userSWOPinGovernance)) + " SWOP in governance."))
152152 else if (yesOrNo)
153153 then {
154154 let newVote = (valueOrElse(getInteger(this, (toString(voting) + keyYes)), 0) + voteAmt)
155155 let newVoteUser = (valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyYes)), 0) + voteAmt)
156156 [IntegerEntry((toString(voting) + keyYes), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyYes), newVoteUser)]
157157 }
158158 else {
159159 let newVote = (valueOrElse(getInteger(this, (toString(voting) + keyNo)), 0) + voteAmt)
160160 let newVoteUser = (valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyNo)), 0) + voteAmt)
161161 [IntegerEntry((toString(voting) + keyNo), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyNo), newVoteUser)]
162162 }
163163 }
164164
165165
166166
167167 @Callable(i)
168168 func cancellationVoting (voting,cause) = if (!(isActive))
169169 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
170170 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
171171 then throw("Only admin can call this function")
172172 else [IntegerEntry(keyNumberOfVoting, (numberOfVoting - 1)), BooleanEntry((toString(voting) + keyStatusOfVoting), false), StringEntry((toString(voting) + keyCancelCause), cause)]
173173
174174
175175
176176 @Callable(i)
177177 func shutdown () = if (!(isActive))
178178 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
179179 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
180180 then throw("Only admin can call this function")
181181 else suspend("Paused by admin")
182182
183183
184184
185185 @Callable(i)
186186 func activate () = if (isActive)
187187 then throw("DApp is already active")
188188 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
189189 then throw("Only admin can call this function")
190190 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
191191
192192
193193 @Verifier(tx)
194194 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
195195

github/deemru/w8io/873ac7e 
51.80 ms