tx · Cmm7bLApvHwiokRmHyF2CsLAus8mRdCuvhbbtx5rY5QE

3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6:  -0.01400000 Waves

2021.05.13 18:46 [1524092] smart account 3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6 > SELF 0.00000000 Waves

{ "type": 13, "id": "Cmm7bLApvHwiokRmHyF2CsLAus8mRdCuvhbbtx5rY5QE", "fee": 1400000, "feeAssetId": null, "timestamp": 1620920856169, "version": 2, "chainId": 84, "sender": "3N8DijjUMpYq512vvE9GHnCTUBUd4AZwhH6", "senderPublicKey": "75SuvmjmHX6J7smVGHvWY6acr5mqyRQCYpFxeFQh8Cy3", "proofs": [ "rWafSZaN9F1wb8SVjJxW3Qsr7FHyxrCfeEotP6ZGw9yzYZGR4xXhG68wC9EshVMg8gKMvae2uUe5yEbyDChTPTU" ], "script": "base64:AAIEAAAAAAAAABsIAhIAEgQKAggIEgUKAwEEARIECgIBCBIAEgAAAAA7AAAAAAd2ZXJzaW9uAgAAAAUxLjAuMAAAAAAKa2V5VmVyc2lvbgIAAAAHdmVyc2lvbgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAAEWtleU51bWJlck9mVm90aW5nAgAAAA1udW1iZXJfdm90aW5nAAAAAA9rZXlIZWlnaHRPZlBvb2wCAAAAB19oZWlnaHQAAAAABWtleU5vAgAAAANfbm8AAAAABmtleVllcwIAAAAEX3llcwAAAAARa2V5U3RhdHVzT2ZWb3RpbmcCAAAAB19zdGF0dXMAAAAAEWtleUFtb3VudE9mVm90aW5nAgAAAA1hbW91bnRfdm90aW5nAAAAABRrZXlNYXhBbW91bnRPZlZvdGluZwIAAAARbWF4X2Ftb3VudF92b3RpbmcAAAAAEWtleU1heERheU9mVm90aW5nAgAAAA5tYXhfZGF5X3ZvdGluZwAAAAANa2V5Q29tbWlzc2lvbgIAAAAKY29tbWlzc2lvbgAAAAAba2V5Q29tbWlzc2lvblNjYWxlRGVsaW1pdGVyAgAAABpjb21taXNzaW9uX3NjYWxlX2RlbGltaXRlcgAAAAAIa2V5Q2F1c2UCAAAADnNodXRkb3duX2NhdXNlAAAAAA5rZXlDYW5jZWxDYXVzZQIAAAANX2NhbmNlbF9jYXVzZQAAAAAOa1VzZXJUb3RhbFNXT1ACAAAADF9TV09QX2Ftb3VudAAAAAAFa05hbWUCAAAABV9uYW1lAAAAAAh2b3RpbmdJZAIAAAAJX3ZvdGluZ0lkAAAAAA5wZXJpb2RPZlZvdGluZwIAAAANcGVyaW9kX3ZvdGluZwAAAAAPYWN0aXZlVm90ZUZpcnN0AgAAABFhY3RpdmVfdm90ZV9maXJzdAAAAAAQYWN0aXZlVm90ZVNlY29uZAIAAAASYWN0aXZlX3ZvdGVfc2Vjb25kAAAAAA9hY3RpdmVWb3RlVGhpcmQCAAAAEWFjdGl2ZV92b3RlX3RoaXJkAAAAABBhY3RpdmVWb3RlRm91cnRoAgAAABJhY3RpdmVfdm90ZV9mb3VydGgAAAAAD2FjdGl2ZVZvdGVGaWZ0aAIAAAARYWN0aXZlX3ZvdGVfZmlmdGgAAAAADGFkbWluUHVi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ZWQAAAABCQAEGgAAAAIFAAAABHRoaXMFAAAABXBvb2xzAwMFAAAADGlzUG9vbERlZmluZQkBAAAAAiE9AAAAAgUAAAAFcG9vbHMCAAAAAAcEAAAABnZvdGluZwkAAZEAAAACBQAAAAlwb29sc0RhdGEAAAAAAAAAAAIEAAAADmhlaWdodE9mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAGdm90aW5nBQAAAA9rZXlIZWlnaHRPZlBvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAGdm90aW5nBQAAABFrZXlTdGF0dXNPZlZvdGluZwYDCQAAZgAAAAIFAAAADmhlaWdodE9mVm90aW5nBQAAAAZoZWlnaHQDBQAAAA5zdGF0dXNPZlZvdGluZwIAAAAABQAAAApwb29sc1N0YXRlBQAAAApwb29sc1N0YXRlBQAAAApwb29sc1N0YXRlAQAAABppc0xhc3RGaXZlQWN0aXZlUG9vbEV4aXN0cwAAAAIAAAAGYXNzZXRBAAAABmFzc2V0QgMDAwMJAQAAABJpc0FjdGl2ZVBvb2xFeGlzdHMAAAADBQAAAA9maXJzdEFjdGl2ZVZvdGUFAAAABmFzc2V0QQUAAAAGYXNzZXRCBgkBAAAAEmlzQWN0aXZlUG9vbEV4aXN0cwAAAAMFAAAAEHNlY29uZEFjdGl2ZVZvdGUFAAAABmFzc2V0QQUAAAAGYXNzZXRCBgkBAAAAEmlzQWN0aXZlUG9vbEV4aXN0cwAAAAMFAAAAD3RoaXJkQWN0aXZlVm90ZQUAAAAGYXNzZXRBBQAAAAZhc3NldEIGCQEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwUAAAAQZm91cnRoQWN0aXZlVm90ZQUAAAAGYXNzZXRBBQAAAAZhc3NldEIGCQEAAAASaXNBY3RpdmVQb29sRXhpc3RzAAAAAwUAAAAPZmlmdGhBY3RpdmVWb3RlBQAAAAZhc3NldEEFAAAABmFzc2V0QgEAAAANZ2V0QWN0aXZlUG9vbAAAAAEAAAAGdm90aW5nBAAAAA5oZWlnaHRPZlZvdGluZwkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAGkAAAAAQUAAAAGdm90aW5nBQAAAA9rZXlIZWlnaHRPZlBvb2wAAAAAAAAAAAAEAAAADnN0YXR1c09mVm90aW5nCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMJAAEsAAAAAgkAAaQAAAABBQAAAAZ2b3RpbmcFAAAAEWtleVN0YXR1c09mVm90aW5nBgQAAAANY3VycmVudEhlaWdodAUAAAAGaGVpZ2h0AwkAAGYAAAACAAAAAAAAAAAABQAAAAZ2b3RpbmcAAAAAAAAAAAADCQEAAAABIQAAAAEFAAAADnN0YXR1c09mVm90aW5nAAAAAAAAAAAAAwkAAGYAAAACBQAAAA5oZWlnaHRPZlZvdGluZwUAAAANY3VycmVudEhlaWdodAAAAAAAAAAAAQAAAAAAAAAAAAEAAAAZZ2V0QWN0aXZlVm90aW5nUG9vbEFtb3VudAAAAAAJAABkAAAAAgkAAGQAAAACCQAAZAAAAAIJAABkAAAAAgkBAAAADWdldEFjdGl2ZVBvb2wAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAD2ZpcnN0QWN0aXZlVm90ZQD//////////wkBAAAADWdldEFjdGl2ZVBvb2wAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAEHNlY29uZEFjdGl2ZVZvdGUA//////////8JAQAAAA1nZXRBY3RpdmVQb29sAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA90aGlyZEFjdGl2ZVZvdGUA//////////8JAQAAAA1nZXRBY3RpdmVQb29sAAAAAQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABBmb3VydGhBY3RpdmVWb3RlAP//////////CQEAAAANZ2V0QWN0aXZlUG9vbAAAAAEJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAPZmlmdGhBY3RpdmVWb3RlAP//////////AQAAABVnZXRVbmFjdGl2ZVZvdGluZ1Bvb2wAAAAAAwkBAAAAAiE9AAAAAgkBAAAAFGlzVW5hY3RpdmVQb29sRXhpc3RzAAAAAQUAAAAPYWN0aXZlVm90ZUZpcnN0AgAAAAAFAAAAD2FjdGl2ZVZvdGVGaXJzdAMJAQAAAAIhPQAAAAIJAQAAABRpc1VuYWN0aXZlUG9vbEV4aXN0cwAAAAEFAAAAEGFjdGl2ZVZvdGVTZWNvbmQCAAAAAAUAAAAQYWN0aXZlVm90ZVNlY29uZAMJAQAAAAIhPQAAAAIJAQAAABRpc1VuYWN0aXZlUG9vbEV4aXN0cwAAAAEFAAAAD2FjdGl2ZVZvdGVUaGlyZAIAAAAABQAAAA9hY3RpdmVWb3RlVGhpcmQDCQEAAAACIT0AAAACCQEAAAAUaXNVbmFjdGl2ZVBvb2xFeGlzdHMAAAABBQAAABBhY3RpdmVWb3RlRm91cnRoAgAAAAAFAAAAEGFjdGl2ZVZvdGVGb3VydGgDCQEAAAACIT0AAAACCQEAAAAUaXNVbmFjdGl2ZVBvb2xFeGlzdHMAAAABBQAAAA9hY3RpdmVWb3RlRmlmdGgCAAAAAAUAAAAPYWN0aXZlVm90ZUZpZnRoAgAAAAABAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABAAAACGFzc2V0U3RyAwkAAAAAAAACBQAAAAhhc3NldFN0cgIAAAAFV0FWRVMFAAAABHVuaXQJAAJZAAAAAQUAAAAIYXNzZXRTdHIBAAAAFGlzQ2FsbGVySW5Hb3Zlcm5hbmNlAAAAAQAAAAR1c2VyAwkAAGYAAAACCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAAB2dvdkFkZHIJAAEsAAAAAgkABCUAAAABBQAAAAR1c2VyBQAAAA5rVXNlclRvdGFsU1dPUAAAAAAAAAAAAAAAAAAAAAAAAAYHAQAAAAdzdXNwZW5kAAAAAQAAAAVjYXVzZQkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAAhrZXlDYXVzZQUAAAAFY2F1c2UFAAAAA25pbAEAAAAhdGhyb3dJbnN1ZmZpY2llbnRBdmFpbGFibGVCYWxhbmNlAAAAAgAAAAZhbW91bnQAAAAJYXNzZXROYW1lCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAACFJbnN1ZmZpY2llbnQgREFwcCBiYWxhbmNlIHRvIHBheSAJAAGkAAAAAQUAAAAGYW1vdW50AgAAAAEgBQAAAAlhc3NldE5hbWUCAAAAECBkdWUgdG8gc3Rha2luZy4CAAAAQC4gUGxlYXNlIGNvbnRhY3Qgc3VwcG9ydCBpbiBUZWxlZ3JhbTogaHR0cHM6Ly90Lm1lL3N3b3BmaXN1cHBvcnQAAAAGAAAAAWkBAAAABGluaXQAAAAAAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAAR0aGlzCQAAAgAAAAECAAAAK09ubHkgdGhlIERBcHAgaXRzZWxmIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24DCQEAAAAJaXNEZWZpbmVkAAAAAQkABBsAAAACBQAAAAR0aGlzBQAAAAlrZXlBY3RpdmUJAAACAAAAAQIAAAAWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQQAAAASaW5pdE51bWJlck9mVm90aW5nAAAAAAAAAAAABAAAABJpbml0QW1vdW50T2ZWb3RpbmcAAAAAAAAAAAAEAAAADWluaXRLZXlBY3RpdmUGBAAAAAphY3RpdmVJbml0AgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAKa2V5VmVyc2lvbgUAAAAHdmVyc2lvbgkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgUAAAAJa2V5QWN0aXZlBQAAAA1pbml0S2V5QWN0aXZlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlOdW1iZXJPZlZvdGluZwUAAAASaW5pdE51bWJlck9mVm90aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrZXlBbW91bnRPZlZvdGluZwUAAAASaW5pdEFtb3VudE9mVm90aW5nCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABRrZXlNYXhBbW91bnRPZlZvdGluZwUAAAARbWF4QW1vdW50T2ZWb3RpbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtleU1heERheU9mVm90aW5nBQAAAA5tYXhEYXlPZlZvdGluZwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlRmlyc3QFAAAACmFjdGl2ZUluaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQYWN0aXZlVm90ZVNlY29uZAUAAAAKYWN0aXZlSW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlVGhpcmQFAAAACmFjdGl2ZUluaXQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgUAAAAQYWN0aXZlVm90ZUZvdXJ0aAUAAAAKYWN0aXZlSW5pdAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA9hY3RpdmVWb3RlRmlmdGgFAAAACmFjdGl2ZUluaXQFAAAAA25pbAAAAAFpAQAAABRpbml0Vm90aW5nRm9yTmV3UG9vbAAAAAIAAAAGYXNzZXRBAAAABmFzc2V0QgQAAAALJHQwNzU4MDc2NTUJAAUUAAAAAggJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50CAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAAAAAdhc3NldElkBAAAAAlwbXRBbW91bnQIBQAAAAskdDA3NTgwNzY1NQAAAAJfMQQAAAAKcG10QXNzZXRJZAgFAAAACyR0MDc1ODA3NjU1AAAAAl8yBAAAAAskdDA3NjYwNzc1OQkABRQAAAACCQEAAAAWZ2V0QXNzZXRJbmZvRnJvbVN0cmluZwAAAAEFAAAABmFzc2V0QQkBAAAAFmdldEFzc2V0SW5mb0Zyb21TdHJpbmcAAAABBQAAAAZhc3NldEIEAAAADHBvb2xBc3NldElkQQgFAAAACyR0MDc2NjA3NzU5AAAAAl8xBAAAAAxwb29sQXNzZXRJZEIIBQAAAAskdDA3NjYwNzc1OQAAAAJfMgQAAAAMdW5hY3RpdmVWb3RlCQEAAAAVZ2V0VW5hY3RpdmVWb3RpbmdQb29sAAAAAAQAAAARbmV3TnVtYmVyT2ZWb3RpbmcJAQAAABlnZXRBY3RpdmVWb3RpbmdQb29sQW1vdW50AAAAAAQAAAAMaXNQb29sRXhpc3RzCQEAAAAaaXNMYXN0Rml2ZUFjdGl2ZVBvb2xFeGlzdHMAAAACBQAAAAZhc3NldEEFAAAABmFzc2V0QgQAAAALJHQwNzkzMzgwMTEJAQAAAAxnZXRBc3NldEluZm8AAAABBQAAAAxwb29sQXNzZXRJZEEEAAAADnBtdFN0ckFzc2V0SWRBCAUAAAALJHQwNzkzMzgwMTEAAAACXzEEAAAADXBtdEFzc2V0TmFtZUEIBQAAAAskdDA3OTMzODAxMQAAAAJfMgQAAAAMcG10RGVjaW1hbHNBCAUAAAALJHQwNzkzMzgwMTEAAAACXzMEAAAACyR0MDgwMTY4MDk0CQEAAAAMZ2V0QXNzZXRJbmZvAAAAAQUAAAAMcG9vbEFzc2V0SWRCBAAAAA5wbXRTdHJBc3NldElkQggFAAAACyR0MDgwMTY4MDk0AAAAAl8xBAAAAA1wbXRBc3NldE5hbWVCCAUAAAALJHQwODAxNjgwOTQAAAACXzIEAAAADHBtdERlY2ltYWxzQggFAAAACyR0MDgwMTY4MDk0AAAAAl8zAwkBAAAAASEAAAABBQAAAAhpc0FjdGl2ZQkAAAIAAAABAgAAAB9EQXBwIGlzIGluYWN0aXZlIGF0IHRoaXMgbW9tZW50AwkAAAAAAAACBQAAAAxwb29sQXNzZXRJZEEFAAAADHBvb2xBc3NldElkQgkAAAIAAAABAgAAABhBc3NldHMgbXVzdCBiZSBkaWZmZXJlbnQDBQAAAAxpc1Bvb2xFeGlzdHMJAAACAAAAAQIAAAAYVGhpcyBwb29sIGFscmVhZHkgZXhpc3RzAwMJAABmAAAAAgkAAGQAAAACBQAAABFuZXdOdW1iZXJPZlZvdGluZwAAAAAAAAAAAQUAAAARbWF4QW1vdW50T2ZWb3RpbmcGCQAAAAAAAAIFAAAADHVuYWN0aXZlVm90ZQIAAAAACQAAAgAAAAEJAAEsAAAAAgIAAAAiVG9vIG1hbnkgdm90ZXMuIE1heGltdW0gcXVhbnRpdHkgLQkAAaQAAAABBQAAABFtYXhBbW91bnRPZlZvdGluZwMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAA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", "height": 1524092, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2YesuhmVqh9vzmDJUqtMZv8gYXQUE23hYwYFFjHuWegS Next: none Diff:
OldNewDifferences
9595
9696 let maxDayOfVoting = 5
9797
98-let fiveDays = 1
98+let fiveDays = 10
9999
100100 func getAssetInfo (assetId) = match assetId {
101101 case id: ByteVector =>
232232
233233 @Callable(i)
234234 func initVotingForNewPool (assetA,assetB) = {
235- let $t075797654 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
236- let pmtAmount = $t075797654._1
237- let pmtAssetId = $t075797654._2
238- let $t076597758 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
239- let poolAssetIdA = $t076597758._1
240- let poolAssetIdB = $t076597758._2
235+ let $t075807655 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
236+ let pmtAmount = $t075807655._1
237+ let pmtAssetId = $t075807655._2
238+ let $t076607759 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
239+ let poolAssetIdA = $t076607759._1
240+ let poolAssetIdB = $t076607759._2
241241 let unactiveVote = getUnactiveVotingPool()
242242 let newNumberOfVoting = getActiveVotingPoolAmount()
243243 let isPoolExists = isLastFiveActivePoolExists(assetA, assetB)
244- let $t079328010 = getAssetInfo(poolAssetIdA)
245- let pmtStrAssetIdA = $t079328010._1
246- let pmtAssetNameA = $t079328010._2
247- let pmtDecimalsA = $t079328010._3
248- let $t080158093 = getAssetInfo(poolAssetIdB)
249- let pmtStrAssetIdB = $t080158093._1
250- let pmtAssetNameB = $t080158093._2
251- let pmtDecimalsB = $t080158093._3
244+ let $t079338011 = getAssetInfo(poolAssetIdA)
245+ let pmtStrAssetIdA = $t079338011._1
246+ let pmtAssetNameA = $t079338011._2
247+ let pmtDecimalsA = $t079338011._3
248+ let $t080168094 = getAssetInfo(poolAssetIdB)
249+ let pmtStrAssetIdB = $t080168094._1
250+ let pmtAssetNameB = $t080168094._2
251+ let pmtDecimalsB = $t080168094._3
252252 if (!(isActive))
253253 then throw("DApp is inactive at this moment")
254254 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'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5353
5454 let adminPubKey2 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5555
5656 let adminPubKey3 = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5757
5858 let adminPubKeyStartStop = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
5959
6060 let walletAddress = Address(base58'3NAGTtZz6WpupSN89NZD5rMZwwziZEg4Kx4')
6161
6262 let govAddr = Address(base58'3MzJZEn6jzxCPaHEfkrXd7FhbjTyVjdRPLS')
6363
6464 let USDN = base58'8UrfDVd5GreeUwm7uPk7eYz1eMv376kzR52C6sANPkwS'
6565
6666 let SWOP = base58'2HAJrwa8q4SxBx9cHYaBTQdBjdk5wwqdof7ccpAx2uhZ'
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
98-let fiveDays = 1
98+let fiveDays = 10
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 ((heightOfVoting > height))
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 (poolsState) = {
141141 let pools = valueOrElse(getString(this, poolsState), "")
142142 let poolsData = split(pools, "_")
143143 let isPoolDefine = isDefined(getInteger(this, pools))
144144 if (if (isPoolDefine)
145145 then (pools != "")
146146 else false)
147147 then {
148148 let voting = poolsData[2]
149149 let heightOfVoting = valueOrElse(getInteger(this, (voting + keyHeightOfPool)), 0)
150150 let statusOfVoting = valueOrElse(getBoolean(this, (voting + keyStatusOfVoting)), true)
151151 if ((heightOfVoting > height))
152152 then if (statusOfVoting)
153153 then ""
154154 else poolsState
155155 else poolsState
156156 }
157157 else poolsState
158158 }
159159
160160
161161 func isLastFiveActivePoolExists (assetA,assetB) = if (if (if (if (isActivePoolExists(firstActiveVote, assetA, assetB))
162162 then true
163163 else isActivePoolExists(secondActiveVote, assetA, assetB))
164164 then true
165165 else isActivePoolExists(thirdActiveVote, assetA, assetB))
166166 then true
167167 else isActivePoolExists(fourthActiveVote, assetA, assetB))
168168 then true
169169 else isActivePoolExists(fifthActiveVote, assetA, assetB)
170170
171171
172172 func getActivePool (voting) = {
173173 let heightOfVoting = valueOrElse(getInteger(this, (toString(voting) + keyHeightOfPool)), 0)
174174 let statusOfVoting = valueOrElse(getBoolean(this, (toString(voting) + keyStatusOfVoting)), true)
175175 let currentHeight = height
176176 if ((0 > voting))
177177 then 0
178178 else if (!(statusOfVoting))
179179 then 0
180180 else if ((heightOfVoting > currentHeight))
181181 then 1
182182 else 0
183183 }
184184
185185
186186 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)))
187187
188188
189189 func getUnactiveVotingPool () = if ((isUnactivePoolExists(activeVoteFirst) != ""))
190190 then activeVoteFirst
191191 else if ((isUnactivePoolExists(activeVoteSecond) != ""))
192192 then activeVoteSecond
193193 else if ((isUnactivePoolExists(activeVoteThird) != ""))
194194 then activeVoteThird
195195 else if ((isUnactivePoolExists(activeVoteFourth) != ""))
196196 then activeVoteFourth
197197 else if ((isUnactivePoolExists(activeVoteFifth) != ""))
198198 then activeVoteFifth
199199 else ""
200200
201201
202202 func getAssetInfoFromString (assetStr) = if ((assetStr == "WAVES"))
203203 then unit
204204 else fromBase58String(assetStr)
205205
206206
207207 func isCallerInGovernance (user) = if ((valueOrElse(getInteger(govAddr, (toString(user) + kUserTotalSWOP)), 0) > 0))
208208 then true
209209 else false
210210
211211
212212 func suspend (cause) = [BooleanEntry(keyActive, false), StringEntry(keyCause, cause)]
213213
214214
215215 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"))
216216
217217
218218 @Callable(i)
219219 func init () = if ((i.caller != this))
220220 then throw("Only the DApp itself can call this function")
221221 else if (isDefined(getBoolean(this, keyActive)))
222222 then throw("DApp is already active")
223223 else {
224224 let initNumberOfVoting = 0
225225 let initAmountOfVoting = 0
226226 let initKeyActive = true
227227 let activeInit = ""
228228 [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)]
229229 }
230230
231231
232232
233233 @Callable(i)
234234 func initVotingForNewPool (assetA,assetB) = {
235- let $t075797654 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
236- let pmtAmount = $t075797654._1
237- let pmtAssetId = $t075797654._2
238- let $t076597758 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
239- let poolAssetIdA = $t076597758._1
240- let poolAssetIdB = $t076597758._2
235+ let $t075807655 = $Tuple2(i.payments[0].amount, i.payments[0].assetId)
236+ let pmtAmount = $t075807655._1
237+ let pmtAssetId = $t075807655._2
238+ let $t076607759 = $Tuple2(getAssetInfoFromString(assetA), getAssetInfoFromString(assetB))
239+ let poolAssetIdA = $t076607759._1
240+ let poolAssetIdB = $t076607759._2
241241 let unactiveVote = getUnactiveVotingPool()
242242 let newNumberOfVoting = getActiveVotingPoolAmount()
243243 let isPoolExists = isLastFiveActivePoolExists(assetA, assetB)
244- let $t079328010 = getAssetInfo(poolAssetIdA)
245- let pmtStrAssetIdA = $t079328010._1
246- let pmtAssetNameA = $t079328010._2
247- let pmtDecimalsA = $t079328010._3
248- let $t080158093 = getAssetInfo(poolAssetIdB)
249- let pmtStrAssetIdB = $t080158093._1
250- let pmtAssetNameB = $t080158093._2
251- let pmtDecimalsB = $t080158093._3
244+ let $t079338011 = getAssetInfo(poolAssetIdA)
245+ let pmtStrAssetIdA = $t079338011._1
246+ let pmtAssetNameA = $t079338011._2
247+ let pmtDecimalsA = $t079338011._3
248+ let $t080168094 = getAssetInfo(poolAssetIdB)
249+ let pmtStrAssetIdB = $t080168094._1
250+ let pmtAssetNameB = $t080168094._2
251+ let pmtDecimalsB = $t080168094._3
252252 if (!(isActive))
253253 then throw("DApp is inactive at this moment")
254254 else if ((poolAssetIdA == poolAssetIdB))
255255 then throw("Assets must be different")
256256 else if (isPoolExists)
257257 then throw("This pool already exists")
258258 else if (if (((newNumberOfVoting + 1) > maxAmountOfVoting))
259259 then true
260260 else (unactiveVote == ""))
261261 then throw(("Too many votes. Maximum quantity -" + toString(maxAmountOfVoting)))
262262 else if ((size(i.payments) != 1))
263263 then throw("One attached assets expected")
264264 else if ((pmtAssetId != SWOP))
265265 then throw("You must use a SWOP token")
266266 else if (if ((assetA == ""))
267267 then true
268268 else (assetB == ""))
269269 then throw("Assets can't be empty")
270270 else if ((pmtAmount != comissionForInitalizationOfVoting))
271271 then throw("You need to attach 10 SWOP tokens")
272272 else if (!(if (if ((poolAssetIdB == USDN))
273273 then true
274274 else (poolAssetIdB == unit))
275275 then true
276276 else (poolAssetIdB == SWOP)))
277277 then throw("One of the assets must be USDN, WAVES, SWOP")
278278 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)), ScriptTransfer(walletAddress, pmtAmount, pmtAssetId)]
279279 }
280280
281281
282282
283283 @Callable(i)
284284 func voteForPool (voting,yesOrNo,voteAmt) = {
285285 let currentHeight = height
286286 let poolInitHeight = valueOrErrorMessage(getIntegerValue(this, (toString(voting) + keyHeightOfPool)), "Empty pool height")
287287 let statusOfVoting = valueOrElse(getBoolean(this, (toString(voting) + keyStatusOfVoting)), true)
288288 let userSWOPinGovernance = valueOrElse(getInteger(govAddr, (toString(i.caller) + kUserTotalSWOP)), 0)
289289 let totalVoteUser = if (yesOrNo)
290290 then (valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyNo)), 0) + voteAmt)
291291 else (valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyYes)), 0) + voteAmt)
292292 if (!(isCallerInGovernance(i.caller)))
293293 then throw("This address has 0 SWOP in Governance dApp")
294294 else if (!(statusOfVoting))
295295 then throw("This voting was canceled")
296296 else if ((currentHeight > poolInitHeight))
297297 then throw("This voting was expired")
298298 else if ((0 > voteAmt))
299299 then throw("The number of votes must be positive")
300300 else if ((totalVoteUser > userSWOPinGovernance))
301301 then throw((((toString(this) + " has ") + toString(userSWOPinGovernance)) + " SWOP in governance."))
302302 else if (yesOrNo)
303303 then {
304304 let oldVoteUser = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyYes)), 0)
305305 let newVote = ((valueOrElse(getInteger(this, (toString(voting) + keyYes)), 0) - oldVoteUser) + voteAmt)
306306 [IntegerEntry((toString(voting) + keyYes), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyYes), voteAmt)]
307307 }
308308 else {
309309 let oldVoteUser = valueOrElse(getInteger(this, (((toString(i.caller) + "_") + toString(voting)) + keyNo)), 0)
310310 let newVote = ((valueOrElse(getInteger(this, (toString(voting) + keyNo)), 0) - oldVoteUser) + voteAmt)
311311 [IntegerEntry((toString(voting) + keyNo), newVote), IntegerEntry((((toString(i.caller) + "_") + toString(voting)) + keyNo), voteAmt)]
312312 }
313313 }
314314
315315
316316
317317 @Callable(i)
318318 func cancellationVoting (voting,cause) = {
319319 let statusOfVoting = valueOrElse(getBoolean(this, (toString(voting) + keyStatusOfVoting)), true)
320320 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 if (!(statusOfVoting))
325325 then throw((("Voting " + toString(voting)) + " has already been stopped"))
326326 else [IntegerEntry(keyNumberOfVoting, (numberOfVoting - 1)), BooleanEntry((toString(voting) + keyStatusOfVoting), false), StringEntry((toString(voting) + keyCancelCause), cause)]
327327 }
328328
329329
330330
331331 @Callable(i)
332332 func shutdown () = if (!(isActive))
333333 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, keyCause), "the cause wasn't specified")))
334334 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
335335 then throw("Only admin can call this function")
336336 else suspend("Paused by admin")
337337
338338
339339
340340 @Callable(i)
341341 func activate () = if (isActive)
342342 then throw("DApp is already active")
343343 else if (!(containsElement([adminPubKey1, adminPubKey2, adminPubKey3, adminPubKeyStartStop], i.callerPublicKey)))
344344 then throw("Only admin can call this function")
345345 else [BooleanEntry(keyActive, true), DeleteEntry(keyCause)]
346346
347347
348348 @Verifier(tx)
349349 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
350350

github/deemru/w8io/873ac7e 
95.02 ms