tx · oHp7GqHK18WaD6JYYXadEMqcfHCyfjZpUs64Z3eDfrR

3NDCQyiA2gDuhSyA4J1ik69zNhLGfG6xr5g:  -0.01400000 Waves

2021.05.12 14:45 [1522417] smart account 3NDCQyiA2gDuhSyA4J1ik69zNhLGfG6xr5g > SELF 0.00000000 Waves

{ "type": 13, "id": "oHp7GqHK18WaD6JYYXadEMqcfHCyfjZpUs64Z3eDfrR", "fee": 1400000, "feeAssetId": null, "timestamp": 1620819909115, "version": 2, "chainId": 84, "sender": "3NDCQyiA2gDuhSyA4J1ik69zNhLGfG6xr5g", "senderPublicKey": "9voGZWtFHWiv3fytePgppGYLLiB3i6aFERAuU7kfps8c", "proofs": [ "5AniGFyMUj9KAkp9SLR11cQRNmYYqESRJrLZf4bZUH2Np4riN9C64jYJ45ujLbrDfBspP4UP7NaSQQ4zmpqTZxgN" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgQKAggIEgUKAwEEARIECgIBCBIAEgAAAAA7AAAAAAd2ZXJzaW9uAgAAAAUxLjAuMAAAAAAKa2V5VmVyc2lvbgIAAAAHdmVyc2lvbgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAAEWtleU51bWJlck9mVm90aW5nAgAAAA1udW1iZXJfdm90aW5nAAAAAA9rZXlIZWlnaHRPZlBvb2wCAAAAB19oZWlnaHQAAAAABWtleU5vAgAAAANfbm8AAAAABmtleVllcwIAAAAEX3llcwAAAAARa2V5U3RhdHVzT2ZWb3RpbmcCAAAAB19zdGF0dXMAAAAAEWtleUFtb3VudE9mVm90aW5nAgAAAA1hbW91bnRfdm90aW5nAAAAABRrZXlNYXhBbW91bnRPZlZvdGluZwIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAEWtleU1heERheU9mVm90aW5nAgAAAA5tYXhfZGF5X3ZvdGluZwAAAAANa2V5Q29tbWlzc2lvbgIAAAAKY29tbWlzc2lvbgAAAAAba2V5Q29tbWlzc2lvblNjYWxlRGVsaW1pdGVyAgAAABpjb21taXNzaW9uX3NjYWxlX2RlbGltaXRlcgAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA5rZXlDYW5jZWxDYXVzZQIAAAANX2NhbmNlbF9jYXVzZQAAAAAOa1VzZXJUb3RhbFNXT1ACAAAADF9TV09QX2Ftb3VudAAAAAAFa05hbWUCAAAABV9uYW1lAAAAAAh2b3RpbmdJZAIAAAAJX3ZvdGluZ0lkAAAAAA5wZXJpb2RPZlZvdGluZwIAAAANcGVyaW9kX3ZvdGluZwAAAAAPYWN0aXZlVm90ZUZpcnN0AgAAABFhY3RpdmVfdm90ZV9maXJzdAAAAAAQYWN0aXZlVm90ZVNlY29uZAIAAAASYWN0aXZlX3ZvdGVfc2Vjb25kAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAEWFjdGl2ZV92b3RlX3RoaXJkAAAAABBhY3RpdmVWb3RlRm91cnRoAgAAABJhY3RpdmVfdm90ZV9mb3VydGgAAAAAD2FjdGl2ZVZvdGVGaWZ0aAIAAAARYWN0aXZlX3ZvdGVfZmlmdGgAAAAADGFkbWluUHVi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RGVmaW5lCQEAAAACIT0AAAACBQAAAAVwb29scwIAAAAABwQAAAAGdm90aW5nCQABkQAAAAIFAAAACXBvb2xzRGF0YQAAAAAAAAAAAgQAAAAOaGVpZ2h0T2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZ2b3RpbmcFAAAAD2tleUhlaWdodE9mUG9vbAAAAAAAAAAAAAQAAAAOc3RhdHVzT2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAZ2b3RpbmcFAAAAEWtleVN0YXR1c09mVm90aW5nBgMJAABmAAAAAgUAAAAGaGVpZ2h0BQAAAA5oZWlnaHRPZlZvdGluZwMFAAAADnN0YXR1c09mVm90aW5nAgAAAAAFAAAABXBvb2xzBQAAAAVwb29scwUAAAAFcG9vbHMBAAAAGmlzTGFzdEZpdmVBY3RpdmVQb29sRXhpc3RzAAAAAgAAAAZhc3NldEEAAAAGYXNzZXRCAwMDAwkBAAAAEmlzQWN0aXZlUG9vbEV4aXN0cwAAAAMFAAAAD2ZpcnN0QWN0aXZlVm90ZQUAAAAGYXNzZXRBBQAAAAZhc3NldEIGCQEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwUAAAAQc2Vjb25kQWN0aXZlVm90ZQUAAAAGYXNzZXRBBQAAAAZhc3NldEIGCQEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwUAAAAPdGhpcmRBY3RpdmVWb3RlBQAAAAZhc3NldEEFAAAABmFzc2V0QgYJAQAAABJpc0FjdGl2ZVBvb2xFeGlzdHMAAAADBQAAABBmb3VydGhBY3RpdmVWb3RlBQAAAAZhc3NldEEFAAAABmFzc2V0QgYJAQAAABJpc0FjdGl2ZVBvb2xFeGlzdHMAAAADBQAAAA9maWZ0aEFjdGl2ZVZvdGUFAAAABmFzc2V0QQUAAAAGYXNzZXRCAQAAAA1nZXRBY3RpdmVQb29sAAAAAQAAAAZ2b3RpbmcEAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAD2tleUhlaWdodE9mUG9vbAAAAAAAAAAAAAQAAAAOc3RhdHVzT2ZWb3RpbmcJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQbAAAAAgUAAAAEdGhpcwkAASwAAAACCQABpAAAAAEFAAAABnZvdGluZwUAAAARa2V5U3RhdHVzT2ZWb3RpbmcGBAAAAA1jdXJyZW50SGVpZ2h0BQAAAAZoZWlnaHQDCQAAZgAAAAIAAAAAAAAAAAAFAAAABnZvdGluZwAAAAAAAAAAAAMJAQAAAAEhAAAAAQUAAAAOc3RhdHVzT2ZWb3RpbmcAAAAAAAAAAAADCQAAZgAAAAIFAAAADmhlaWdodE9mVm90aW5nBQAAAA1jdXJyZW50SGVpZ2h0AAAAAAAAAAABAAAAAAAAAAAAAQAAABlnZXRBY3RpdmVWb3RpbmdQb29sQW1vdW50AAAAAAkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgkAAGQAAAACCQEAAAANZ2V0QWN0aXZlUG9vbAAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPZmlyc3RBY3RpdmVWb3RlAP//////////CQEAAAANZ2V0QWN0aXZlUG9vbAAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAQc2Vjb25kQWN0aXZlVm90ZQD//////////wkBAAAADWdldEFjdGl2ZVBvb2wAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD3RoaXJkQWN0aXZlVm90ZQD//////////wkBAAAADWdldEFjdGl2ZVBvb2wAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAEGZvdXJ0aEFjdGl2ZVZvdGUA//////////8JAQAAAA1nZXRBY3RpdmVQb29sAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA9maWZ0aEFjdGl2ZVZvdGUA//////////8BAAAAFWdldFVuYWN0aXZlVm90aW5nUG9vbAAAAAADCQEAAAACIT0AAAACCQEAAAAUaXNVbmFjdGl2ZVBvb2xFeGlzdHMAAAABBQAAAA9maXJzdEFjdGl2ZVZvdGUCAAAAAAUAAAAPZmlyc3RBY3RpdmVWb3RlAwkBAAAAAiE9AAAAAgkBAAAAFGlzVW5hY3RpdmVQb29sRXhpc3RzAAAAAQUAAAAQc2Vjb25kQWN0aXZlVm90ZQIAAAAABQAAABBzZWNvbmRBY3RpdmVWb3RlAwkBAAAAAiE9AAAAAgkBAAAAFGlzVW5hY3RpdmVQb29sRXhpc3RzAAAAAQUAAAAPdGhpcmRBY3RpdmVWb3RlAgAAAAAFAAAAD3RoaXJkQWN0aXZlVm90ZQMJAQAAAAIhPQAAAAIJAQAAABRpc1VuYWN0aXZlUG9vbEV4aXN0cwAAAAEFAAAAEGZvdXJ0aEFjdGl2ZVZvdGUCAAAAAAUAAAAQZm91cnRoQWN0aXZlVm90ZQMJAQAAAAIhPQAAAAIJAQAAABRpc1VuYWN0aXZlUG9vbEV4aXN0cwAAAAEFAAAAD2ZpZnRoQWN0aXZlVm90ZQIAAAAABQAAAA9maWZ0aEFjdGl2ZVZvdGUCAAAAAAEAAAAWZ2V0QXNzZXRJbmZvRnJvbVN0cmluZwAAAAEAAAAIYXNzZXRTdHIDCQAAAAAAAAIFAAAACGFzc2V0U3RyAgAAAAVXQVZFUwUAAAAEdW5pdAkAAlkAAAABBQAAAAhhc3NldFN0cgEAAAAUaXNDYWxsZXJJbkdvdmVybmFuY2UAAAABAAAABHVzZXIDCQAAZgAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAHZ292QWRkcgkAASwAAAACCQAEJQAAAAEFAAAABHVzZXIFAAAADmtVc2VyVG90YWxTV09QAAAAAAAAAAAAAAAAAAAAAAAABgcBAAAAB3N1c3BlbmQAAAABAAAABWNhdXNlCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAlrZXlBY3RpdmUHCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAACGtleUNhdXNlBQAAAAVjYXVzZQUAAAADbmlsAQAAACF0aHJvd0luc3VmZmljaWVudEF2YWlsYWJsZUJhbGFuY2UAAAACAAAABmFtb3VudAAAAAlhc3NldE5hbWUJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAIUluc3VmZmljaWVudCBEQXBwIGJhbGFuY2UgdG8gcGF5IAkAAaQAAAABBQAAAAZhbW91bnQCAAAAASAFAAAACWFzc2V0TmFtZQIAAAAQIGR1ZSB0byBzdGFraW5nLgIAAABALiBQbGVhc2UgY29udGFjdCBzdXBwb3J0IGluIFRlbGVncmFtOiBodHRwczovL3QubWUvc3dvcGZpc3VwcG9ydAAAAAYAAAABaQEAAAAEaW5pdAAAAAADCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQQAAAASaW5pdE51bWJlck9mVm90aW5nAAAAAAAAAAAABAAAABJpbml0QW1vdW50T2ZWb3RpbmcAAAAAAAAAAAAEAAAADWluaXRLZXlBY3RpdmUGBAAAAAphY3RpdmVJbml0AgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAKa2V5VmVyc2lvbgUAAAAHdmVyc2lvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBQAAAA1pbml0S2V5QWN0aXZlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlOdW1iZXJPZlZvdGluZwUAAAASaW5pdE51bWJlck9mVm90aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlBbW91bnRPZlZvdGluZwUAAAASaW5pdEFtb3VudE9mVm90aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlNYXhBbW91bnRPZlZvdGluZwUAAAARbWF4QW1vdW50T2ZWb3RpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleU1heERheU9mVm90aW5nBQAAAA5tYXhEYXlPZlZvdGluZwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlRmlyc3QFAAAACmFjdGl2ZUluaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQYWN0aXZlVm90ZVNlY29uZAUAAAAKYWN0aXZlSW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlVGhpcmQFAAAACmFjdGl2ZUluaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQYWN0aXZlVm90ZUZvdXJ0aAUAAAAKYWN0aXZlSW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlRmlmdGgFAAAACmFjdGl2ZUluaXQFAAAAA25pbAAAAAFpAQAAABRpbml0Vm90aW5nRm9yTmV3UG9vbAAAAAIAAAAGYXNzZXRBAAAABmFzc2V0QgQAAAALJHQwNzYyNzc3MjYJAAUUAAAAAgkBAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABBQAAAAZhc3NldEEJAQAAABZnZXRBc3NldEluZm9Gcm9tU3RyaW5nAAAAAQUAAAAGYXNzZXRCBAAAAAxwb29sQXNzZXRJZEEIBQAAAAskdDA3NjI3NzcyNgAAAAJfMQQAAAAMcG9vbEFzc2V0SWRCCAUAAAALJHQwNzYyNzc3MjYAAAACXzIEAAAADHVuYWN0aXZlVm90ZQkBAAAAFWdldFVuYWN0aXZlVm90aW5nUG9vbAAAAAAEAAAAEW5ld051bWJlck9mVm90aW5nCQEAAAAZZ2V0QWN0aXZlVm90aW5nUG9vbEFtb3VudAAAAAAEAAAADGlzUG9vbEV4aXN0cwkBAAAAGmlzTGFzdEZpdmVBY3RpdmVQb29sRXhpc3RzAAAAAgUAAAAGYXNzZXRBBQAAAAZhc3NldEIEAAAACyR0MDc5MDA3OTc4CQEAAAAMZ2V0QXNzZXRJbmZvAAAAAQUAAAAMcG9vbEFzc2V0SWRBBAAAAA5wbXRTdHJBc3NldElkQQgFAAAACyR0MDc5MDA3OTc4AAAAAl8xBAAAAA1wbXRBc3NldE5hbWVBCAUAAAALJHQwNzkwMDc5NzgAAAACXzIEAAAADHBtdERlY2ltYWxzQQgFAAAACyR0MDc5MDA3OTc4AAAAAl8zBAAAAAskdDA3OTgzODA2MQkBAAAADGdldEFzc2V0SW5mbwAAAAEFAAAADHBvb2xBc3NldElkQgQAAAAOcG10U3Ry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", "height": 1522417, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2zXyvgpr2K1wkKFTTXPeyN2vgJMghcWXFCMJZno1xctp Next: DZoUdWSDjfpESHCYEMgGFLRoD3xWH7abdUwqqKtmLW9T Diff:
OldNewDifferences
186186
187187
188188 func getUnactiveVotingPool () = if ((isUnactivePoolExists(firstActiveVote) != ""))
189- then isUnactivePoolExists(firstActiveVote)
189+ then firstActiveVote
190190 else if ((isUnactivePoolExists(secondActiveVote) != ""))
191- then isUnactivePoolExists(secondActiveVote)
191+ then secondActiveVote
192192 else if ((isUnactivePoolExists(thirdActiveVote) != ""))
193- then isUnactivePoolExists(thirdActiveVote)
193+ then thirdActiveVote
194194 else if ((isUnactivePoolExists(fourthActiveVote) != ""))
195- then isUnactivePoolExists(fourthActiveVote)
195+ then fourthActiveVote
196196 else if ((isUnactivePoolExists(fifthActiveVote) != ""))
197- then isUnactivePoolExists(fifthActiveVote)
197+ then fifthActiveVote
198198 else ""
199199
200200
229229
230230 @Callable(i)
231231 func initVotingForNewPool (assetA,assetB) = {
232- let $t077427841 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
233- let poolAssetIdA = $t077427841._1
234- let poolAssetIdB = $t077427841._2
232+ let $t076277726 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
233+ let poolAssetIdA = $t076277726._1
234+ let poolAssetIdB = $t076277726._2
235235 let unactiveVote = getUnactiveVotingPool()
236236 let newNumberOfVoting = getActiveVotingPoolAmount()
237237 let isPoolExists = isLastFiveActivePoolExists(assetA, assetB)
238- let $t080158093 = getAssetInfo(poolAssetIdA)
239- let pmtStrAssetIdA = $t080158093._1
240- let pmtAssetNameA = $t080158093._2
241- let pmtDecimalsA = $t080158093._3
242- let $t080988176 = getAssetInfo(poolAssetIdB)
243- let pmtStrAssetIdB = $t080988176._1
244- let pmtAssetNameB = $t080988176._2
245- let pmtDecimalsB = $t080988176._3
238+ let $t079007978 = getAssetInfo(poolAssetIdA)
239+ let pmtStrAssetIdA = $t079007978._1
240+ let pmtAssetNameA = $t079007978._2
241+ let pmtDecimalsA = $t079007978._3
242+ let $t079838061 = getAssetInfo(poolAssetIdB)
243+ let pmtStrAssetIdB = $t079838061._1
244+ let pmtAssetNameB = $t079838061._2
245+ let pmtDecimalsB = $t079838061._3
246246 if (!(isActive))
247247 then throw("DApp is inactive at this moment")
248248 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 keyMaxAmountOfVoting = "max_amount_voting"
2323
2424 let keyMaxDayOfVoting = "max_day_voting"
2525
2626 let keyCommission = "commission"
2727
2828 let keyCommissionScaleDelimiter = "commission_scale_delimiter"
2929
3030 let keyCause = "shutdown_cause"
3131
3232 let keyCancelCause = "_cancel_cause"
3333
3434 let kUserTotalSWOP = "_SWOP_amount"
3535
3636 let kName = "_name"
3737
3838 let votingId = "_votingId"
3939
4040 let periodOfVoting = "period_voting"
4141
4242 let activeVoteFirst = "active_vote_first"
4343
4444 let activeVoteSecond = "active_vote_second"
4545
4646 let activeVoteThird = "active_vote_third"
4747
4848 let activeVoteFourth = "active_vote_fourth"
4949
5050 let activeVoteFifth = "active_vote_fifth"
5151
5252 let adminPubKey1 = base58'DXDY2itiEcYBtGkVLnkpHtDFyWQUkoLJz79uJ7ECbMrA'
5353
5454 let adminPubKey2 = base58'E6Wa1SGoktYcjHjsKrvjMiqJY3SWmGKcD8Q5L8kxSPS7'
5555
5656 let adminPubKey3 = base58'AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ'
5757
5858 let adminPubKeyStartStop = base58'AZmWJtuy4GeVrMmJH4hfFBRApe1StvhJSk4jcbT6bArQ'
5959
6060 let walletAddress = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
6161
6262 let govAddr = Address(base58'3PLHVWCqA9DJPDbadUofTohnCULLauiDWhS')
6363
6464 let USDN = base58'3DBbie1kWkspPEX1KTD6XDVGjofdKVBUURNfoS7hUpY9'
6565
6666 let SWOP = base58'3DBbie1kWkspPEX1KTD6XDVGjofdKVBUURNfoS7hUpY9'
6767
6868 let isActive = getBooleanValue(this, keyActive)
6969
7070 let numberOfVoting = getIntegerValue(this, keyNumberOfVoting)
7171
7272 let amountOfVoting = getIntegerValue(this, keyAmountOfVoting)
7373
7474 let firstActiveVote = valueOrElse(getString(this, activeVoteFirst), "")
7575
7676 let secondActiveVote = valueOrElse(getString(this, activeVoteSecond), "")
7777
7878 let thirdActiveVote = valueOrElse(getString(this, activeVoteThird), "")
7979
8080 let fourthActiveVote = valueOrElse(getString(this, activeVoteFourth), "")
8181
8282 let fifthActiveVote = valueOrElse(getString(this, activeVoteFifth), "")
8383
8484 let comissionForInitalizationOfVoting = 1000000000
8585
8686 let scaleValue3 = 1000
8787
8888 let scaleValue8 = 100000000
8989
9090 let slippageToleranceDelimiter = 1000
9191
9292 let scaleValue8Digits = 8
9393
9494 let maxAmountOfVoting = 5
9595
9696 let maxDayOfVoting = 5
9797
9898 let fiveDays = (1440 * maxDayOfVoting)
9999
100100 func getAssetInfo (assetId) = match assetId {
101101 case id: ByteVector =>
102102 if (isDefined(assetInfo(id)))
103103 then {
104104 let stringId = toBase58String(id)
105105 let info = valueOrErrorMessage(assetInfo(id), (("Asset " + stringId) + " doesn't exist"))
106106 $Tuple3(stringId, info.name, info.decimals)
107107 }
108108 else throw("Asset is not define")
109109 case waves: Unit =>
110110 $Tuple3("WAVES", "WAVES", 8)
111111 case _ =>
112112 throw("Match error")
113113 }
114114
115115
116116 func isActivePoolExists (pools,assetA,assetB) = {
117117 let poolsData = split(pools, "_")
118118 let isPoolDefine = isDefined(getInteger(this, pools))
119119 if (if (isPoolDefine)
120120 then (pools != "")
121121 else false)
122122 then {
123123 let voting = poolsData[2]
124124 let newPools = (((((assetA + "_") + assetB) + "_") + voting) + votingId)
125125 let isNewPoolDefine = isDefined(getInteger(this, newPools))
126126 let heightOfVoting = valueOrElse(getInteger(this, (voting + keyHeightOfPool)), 0)
127127 let statusOfVoting = valueOrElse(getBoolean(this, (voting + keyStatusOfVoting)), true)
128128 if (isNewPoolDefine)
129129 then if ((height > heightOfVoting))
130130 then if (statusOfVoting)
131131 then true
132132 else false
133133 else false
134134 else false
135135 }
136136 else false
137137 }
138138
139139
140140 func isUnactivePoolExists (pools) = {
141141 let poolsData = split(pools, "_")
142142 let isPoolDefine = isDefined(getInteger(this, pools))
143143 if (if (isPoolDefine)
144144 then (pools != "")
145145 else false)
146146 then {
147147 let voting = poolsData[2]
148148 let heightOfVoting = valueOrElse(getInteger(this, (voting + keyHeightOfPool)), 0)
149149 let statusOfVoting = valueOrElse(getBoolean(this, (voting + keyStatusOfVoting)), true)
150150 if ((height > heightOfVoting))
151151 then if (statusOfVoting)
152152 then ""
153153 else pools
154154 else pools
155155 }
156156 else pools
157157 }
158158
159159
160160 func isLastFiveActivePoolExists (assetA,assetB) = if (if (if (if (isActivePoolExists(firstActiveVote, assetA, assetB))
161161 then true
162162 else isActivePoolExists(secondActiveVote, assetA, assetB))
163163 then true
164164 else isActivePoolExists(thirdActiveVote, assetA, assetB))
165165 then true
166166 else isActivePoolExists(fourthActiveVote, assetA, assetB))
167167 then true
168168 else isActivePoolExists(fifthActiveVote, assetA, assetB)
169169
170170
171171 func getActivePool (voting) = {
172172 let heightOfVoting = valueOrElse(getInteger(this, (toString(voting) + keyHeightOfPool)), 0)
173173 let statusOfVoting = valueOrElse(getBoolean(this, (toString(voting) + keyStatusOfVoting)), true)
174174 let currentHeight = height
175175 if ((0 > voting))
176176 then 0
177177 else if (!(statusOfVoting))
178178 then 0
179179 else if ((heightOfVoting > currentHeight))
180180 then 1
181181 else 0
182182 }
183183
184184
185185 func getActiveVotingPoolAmount () = ((((getActivePool(valueOrElse(getInteger(this, firstActiveVote), -1)) + getActivePool(valueOrElse(getInteger(this, secondActiveVote), -1))) + getActivePool(valueOrElse(getInteger(this, thirdActiveVote), -1))) + getActivePool(valueOrElse(getInteger(this, fourthActiveVote), -1))) + getActivePool(valueOrElse(getInteger(this, fifthActiveVote), -1)))
186186
187187
188188 func getUnactiveVotingPool () = if ((isUnactivePoolExists(firstActiveVote) != ""))
189- then isUnactivePoolExists(firstActiveVote)
189+ then firstActiveVote
190190 else if ((isUnactivePoolExists(secondActiveVote) != ""))
191- then isUnactivePoolExists(secondActiveVote)
191+ then secondActiveVote
192192 else if ((isUnactivePoolExists(thirdActiveVote) != ""))
193- then isUnactivePoolExists(thirdActiveVote)
193+ then thirdActiveVote
194194 else if ((isUnactivePoolExists(fourthActiveVote) != ""))
195- then isUnactivePoolExists(fourthActiveVote)
195+ then fourthActiveVote
196196 else if ((isUnactivePoolExists(fifthActiveVote) != ""))
197- then isUnactivePoolExists(fifthActiveVote)
197+ then fifthActiveVote
198198 else ""
199199
200200
201201 func getAssetInfoFromString (assetStr) = if ((assetStr == "WAVES"))
202202 then unit
203203 else fromBase58String(assetStr)
204204
205205
206206 func isCallerInGovernance (user) = if ((valueOrElse(getInteger(govAddr, (toString(user) + kUserTotalSWOP)), 0) > 0))
207207 then true
208208 else false
209209
210210
211211 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
212212
213213
214214 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"))
215215
216216
217217 @Callable(i)
218218 func init () = if (isDefined(getBoolean(this, keyActive)))
219219 then throw("DApp is already active")
220220 else {
221221 let initNumberOfVoting = 0
222222 let initAmountOfVoting = 0
223223 let initKeyActive = true
224224 let activeInit = ""
225225 [StringEntry(keyVersion, version), BooleanEntry(keyActive, initKeyActive), IntegerEntry(keyNumberOfVoting, initNumberOfVoting), IntegerEntry(keyAmountOfVoting, initAmountOfVoting), IntegerEntry(keyMaxAmountOfVoting, maxAmountOfVoting), IntegerEntry(keyMaxDayOfVoting, maxDayOfVoting), StringEntry(activeVoteFirst, activeInit), StringEntry(activeVoteSecond, activeInit), StringEntry(activeVoteThird, activeInit), StringEntry(activeVoteFourth, activeInit), StringEntry(activeVoteFifth, activeInit)]
226226 }
227227
228228
229229
230230 @Callable(i)
231231 func initVotingForNewPool (assetA,assetB) = {
232- let $t077427841 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
233- let poolAssetIdA = $t077427841._1
234- let poolAssetIdB = $t077427841._2
232+ let $t076277726 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
233+ let poolAssetIdA = $t076277726._1
234+ let poolAssetIdB = $t076277726._2
235235 let unactiveVote = getUnactiveVotingPool()
236236 let newNumberOfVoting = getActiveVotingPoolAmount()
237237 let isPoolExists = isLastFiveActivePoolExists(assetA, assetB)
238- let $t080158093 = getAssetInfo(poolAssetIdA)
239- let pmtStrAssetIdA = $t080158093._1
240- let pmtAssetNameA = $t080158093._2
241- let pmtDecimalsA = $t080158093._3
242- let $t080988176 = getAssetInfo(poolAssetIdB)
243- let pmtStrAssetIdB = $t080988176._1
244- let pmtAssetNameB = $t080988176._2
245- let pmtDecimalsB = $t080988176._3
238+ let $t079007978 = getAssetInfo(poolAssetIdA)
239+ let pmtStrAssetIdA = $t079007978._1
240+ let pmtAssetNameA = $t079007978._2
241+ let pmtDecimalsA = $t079007978._3
242+ let $t079838061 = getAssetInfo(poolAssetIdB)
243+ let pmtStrAssetIdB = $t079838061._1
244+ let pmtAssetNameB = $t079838061._2
245+ let pmtDecimalsB = $t079838061._3
246246 if (!(isActive))
247247 then throw("DApp is inactive at this moment")
248248 else if ((poolAssetIdA == poolAssetIdB))
249249 then throw("Assets must be different")
250250 else if (if (((newNumberOfVoting + 1) > maxAmountOfVoting))
251251 then true
252252 else (unactiveVote == ""))
253253 then throw(((("Too many votes. Maximum quantity -" + toString(newNumberOfVoting)) + " ") + unactiveVote))
254254 else if ((size(i.payments) != 1))
255255 then throw("One attached assets expected")
256256 else if (isPoolExists)
257257 then throw("This pool already exists")
258258 else if (if ((assetA == ""))
259259 then true
260260 else (assetB == ""))
261261 then throw("Assets can't be empty")
262262 else if (!(if (if ((poolAssetIdB == USDN))
263263 then true
264264 else (poolAssetIdA == unit))
265265 then true
266266 else (poolAssetIdA == SWOP)))
267267 then throw("One of the assets must be USDN, WAVES, SWOP")
268268 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, (newNumberOfVoting + 1)), StringEntry((assetA + kName), pmtAssetNameA), StringEntry((assetB + kName), pmtAssetNameB), StringEntry(unactiveVote, (((((assetA + "_") + assetB) + "_") + toString(amountOfVoting)) + votingId))]
269269 }
270270
271271
272272
273273 @Callable(i)
274274 func voteForPool (voting,yesOrNo,voteAmt) = {
275275 let currentHeight = height
276276 let poolInitHeight = valueOrErrorMessage(getIntegerValue(this, (toString(voting) + keyHeightOfPool)), "Empty pool height")
277277 let statusOfVoting = valueOrElse(getBoolean(this, (toString(voting) + keyStatusOfVoting)), true)
278278 let userSWOPinGovernance = valueOrElse(getInteger(govAddr, (toString(i.caller) + kUserTotalSWOP)), 0)
279279 let totalVoteUser = ((valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyYes)), 0) + valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyNo)), 0)) + voteAmt)
280280 if (!(isCallerInGovernance(i.caller)))
281281 then throw("This address has 0 SWOP in Governance dApp")
282282 else if (!(statusOfVoting))
283283 then throw("This voting was canceled")
284284 else if ((currentHeight > poolInitHeight))
285285 then throw("This voting was expired")
286286 else if ((0 > voteAmt))
287287 then throw("The number of votes must be positive")
288288 else if ((totalVoteUser > userSWOPinGovernance))
289289 then throw((((toString(this) + " has ") + toString(userSWOPinGovernance)) + " SWOP in governance."))
290290 else if (yesOrNo)
291291 then {
292292 let oldVoteUser = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyYes)), 0)
293293 let newVote = ((valueOrElse(getInteger(this, (toString(voting) + keyYes)), 0) - oldVoteUser) + voteAmt)
294294 [IntegerEntry((toString(voting) + keyYes), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyYes), voteAmt)]
295295 }
296296 else {
297297 let oldVoteUser = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyNo)), 0)
298298 let newVote = ((valueOrElse(getInteger(this, (toString(voting) + keyNo)), 0) - oldVoteUser) + voteAmt)
299299 [IntegerEntry((toString(voting) + keyNo), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyNo), voteAmt)]
300300 }
301301 }
302302
303303
304304
305305 @Callable(i)
306306 func cancellationVoting (voting,cause) = {
307307 let statusOfVoting = valueOrElse(getBoolean(this, (toString(voting) + keyStatusOfVoting)), true)
308308 if (!(isActive))
309309 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
310310 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
311311 then throw("Only admin can call this function")
312312 else if (!(statusOfVoting))
313313 then throw((("Voting " + toString(voting)) + " has already been stopped"))
314314 else [IntegerEntry(keyNumberOfVoting, (numberOfVoting - 1)), BooleanEntry((toString(voting) + keyStatusOfVoting), false), StringEntry((toString(voting) + keyCancelCause), cause)]
315315 }
316316
317317
318318
319319 @Callable(i)
320320 func shutdown () = if (!(isActive))
321321 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
322322 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
323323 then throw("Only admin can call this function")
324324 else suspend("Paused by admin")
325325
326326
327327
328328 @Callable(i)
329329 func activate () = if (isActive)
330330 then throw("DApp is already active")
331331 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
332332 then throw("Only admin can call this function")
333333 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
334334
335335
336336 @Verifier(tx)
337337 func verify () = true
338338

github/deemru/w8io/873ac7e 
58.54 ms