tx · GA6ogJJSQQbB5E648Pbeu6JNXNf1qHYuR4wkzsZgZDUS

3MssRJsCtoAhkL5kNjxowQupbXVkfsK2d1J:  -0.01400000 Waves

2020.10.08 15:45 [1211612] smart account 3MssRJsCtoAhkL5kNjxowQupbXVkfsK2d1J > SELF 0.00000000 Waves

{ "type": 13, "id": "GA6ogJJSQQbB5E648Pbeu6JNXNf1qHYuR4wkzsZgZDUS", "fee": 1400000, "feeAssetId": null, "timestamp": 1602161140783, "version": 1, "sender": "3MssRJsCtoAhkL5kNjxowQupbXVkfsK2d1J", "senderPublicKey": "6ykraGjmEJoiMGV9H8exLDGexkih6SbTzGnZi7CFSd3D", "proofs": [ "59Hop1Y8u7io7i3ptz2MpCtvyFohDvuGeJN8gvbJVEE6gDhfnT2VB99Sk6fzjMMGTwV5QVrjWcVHgBuNem1bVKuz" ], "script": "base64:AAIEAAAAAAAAAAsIAhIDCgEIEgASAAAAAAYAAAAABk5TQlRpZAkAAlkAAAABCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQdAAAAAgUAAAAEdGhpcwIAAAAGTlNCVGlkAgAAACBOU0JUaWQgaXMgbm90IHNwZWNpZmllZCBpbiBzdGF0ZQAAAAAJaGVpZ2h0RW5kCQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwIAAAAKaGVpZ2h0X2VuZAIAAAAkaGVpZ2h0X2VuZCBpcyBub3Qgc3BlY2lmaWVkIGluIHN0YXRlAAAAAAxhc3NldHNTdHJpbmcJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABB0AAAACBQAAAAR0aGlzAgAAABBhdmFpbGFibGVfYXNzZXRzAgAAACVBc3NldHMgbGlzdCBpcyBub3Qgc3BlY2lmaWVkIGluIHN0YXRlAAAAAAZhc3NldHMJAAS1AAAAAgUAAAAMYXNzZXRzU3RyaW5nAgAAAAEsAQAAAA5rZXlVc2VyQmFsYW5jZQAAAAEAAAAIdXNlckFkZHIJAAS5AAAAAgkABEwAAAACAgAAAAdiYWxhbmNlCQAETAAAAAIJAAQlAAAAAQUAAAAIdXNlckFkZHIFAAAAA25pbAIAAAABXwEAAAATa2V5VXNlckFzc2V0QmFsYW5jZQAAAAIAAAAIdXNlckFkZHIAAAAEdm90ZQkABLkAAAACCQAETAAAAAICAAAABHZvdGUJAARMAAAAAgUAAAAIdXNlckFkZHIJAARMAAAAAgUAAAAEdm90ZQUAAAADbmlsAgAAAAFfAAAAAwAAAApjb250ZXh0T2JqAQAAAAhjYXN0Vm90ZQAAAAEAAAAEdm90ZQMJAAAAAAAAAgkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAABmFzc2V0cwUAAAAEdm90ZQcJAAACAAAAAQIAAAAPSW5jb3JyZWN0IHZvdGUhBAAAAAh2b2l0ZUtleQkABLkAAAACCQAETAAAAAICAAAABHZvdGUJAARMAAAAAgUAAAAEdm90ZQUAAAADbmlsAgAAAAFfBAAAAA52b3RlQWRkcmVzc0tleQkBAAAAE2tleVVzZXJBc3NldEJhbGFuY2UAAAACCQAEJQAAAAEIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgUAAAAEdm90ZQQAAAAOdXNlckJhbGFuY2VLZXkJAQAAAA5rZXlVc2VyQmFsYW5jZQAAAAEIBQAAAApjb250ZXh0T2JqAAAABmNhbGxlcgQAAAAHcGF5bWVudAkBAAAABXZhbHVlAAAAAQkAAZEAAAACCAUAAAAKY29udGV4dE9iagAAAAhwYXltZW50cwAAAAAAAAAAAAQAAAAPYXNzZXRJZFJlY2VpdmVkCAUAAAAHcGF5bWVudAAAAAdhc3NldElkBAAAABJ0b2tlblJlY2VpdmVBbW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAAOdm90ZU51bWJlclRoaXMJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAIdm9pdGVLZXkAAAAAAAAAAAAEAAAAE2NvbnRyYWN0VXNlckJhbGFuY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOdXNlckJhbGFuY2VLZXkAAAAAAAAAAAAEAAAAC3ZvdGVPbkFzc2V0CQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADnZvdGVBZGRyZXNzS2V5AAAAAAAAAAAAAwkBAAAAAiE9AAAAAgUAAAAPYXNzZXRJZFJlY2VpdmVkBQAAAAZOU0JUaWQJAAACAAAAAQIAAAAQaW5jb3JyZWN0IGFzc2V0cwMJAABnAAAAAgUAAAAGaGVpZ2h0BQAAAAloZWlnaHRFbmQJAAACAAAAAQIAAAANdm90ZSBmaW5pc2hlZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAIdm9pdGVLZXkJAABkAAAAAgUAAAAOdm90ZU51bWJlclRoaXMFAAAAEnRva2VuUmVjZWl2ZUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOdXNlckJhbGFuY2VLZXkJAABkAAAAAgUAAAATY29udHJhY3RVc2VyQmFsYW5jZQUAAAASdG9rZW5SZWNlaXZlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA52b3RlQWRkcmVzc0tleQkAAGQAAAACBQAAAAt2b3RlT25Bc3NldAUAAAASdG9rZW5SZWNlaXZlQW1vdW50BQAAAANuaWwAAAAKY29udGV4dE9iagEAAAAKY2FuY2VsVm90ZQAAAAAEAAAADnVzZXJCYWxhbmNlS2V5CQEAAAAOa2V5VXNlckJhbGFuY2UAAAABCAUAAAAKY29udGV4dE9iagAAAAZjYWxsZXIEAAAAE2NvbnRyYWN0VXNlckJhbGFuY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOdXNlckJhbGFuY2VLZXkAAAAAAAAAAAADCQAAAAAAAAIFAAAAE2NvbnRyYWN0VXNlckJhbGFuY2UAAAAAAAAAAAAFAAAAA25pbAoBAAAAFmNhbmNlbFZvdGVQZXJkZWNhdGVOZXcAAAACAAAAFWFjY3VtdWxhdGVkUmVzdWx0TGlzdAAAAAlhc3NldENvZGUEAAAAE3RvdGFsVm90ZXM0QXNzZXRLZXkJAAS5AAAAAgkABEwAAAACAgAAAAR2b3RlCQAETAAAAAIFAAAACWFzc2V0Q29kZQUAAAADbmlsAgAAAAFfBAAAABh1c2VyTnNidEJhbGFuY2U0QXNzZXRLZXkJAQAAABNrZXlVc2VyQXNzZXRCYWxhbmNlAAAAAgkABCUAAAABCAUAAAAKY29udGV4dE9iagAAAAZjYWxsZXIFAAAACWFzc2V0Q29kZQQAAAAQdG90YWxWb3RlczRBc3NldAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAABN0b3RhbFZvdGVzNEFzc2V0S2V5AAAAAAAAAAAABAAAABV1c2VyTnNidEJhbGFuY2U0QXNzZXQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAYdXNlck5zYnRCYWxhbmNlNEFzc2V0S2V5AAAAAAAAAAAAAwkAAAAAAAACBQAAABB0b3RhbFZvdGVzNEFzc2V0AAAAAAAAAAAABQAAABVhY2N1bXVsYXRlZFJlc3VsdExpc3QJAARNAAAAAgkABE0AAAACBQAAABVhY2N1bXVsYXRlZFJlc3VsdExpc3QJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABN0b3RhbFZvdGVzNEFzc2V0S2V5CQAAZQAAAAIFAAAAEHRvdGFsVm90ZXM0QXNzZXQFAAAAFXVzZXJOc2J0QmFsYW5jZTRBc3NldAkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAGHVzZXJOc2J0QmFsYW5jZTRBc3NldEtleQAAAAAAAAAAAAkABE0AAAACBAAAAA0kbGlzdDI3NzkyODcwBQAAAAZhc3NldHMEAAAADSRzaXplMjc3OTI4NzAJAAGQAAAAAQUAAAANJGxpc3QyNzc5Mjg3MAQAAAANJGFjYzAyNzc5Mjg3MAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOdXNlckJhbGFuY2VLZXkAAAAAAAAAAAAFAAAAA25pbAMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAAAAUAAAANJGFjYzAyNzc5Mjg3MAQAAAANJGFjYzEyNzc5Mjg3MAkBAAAAFmNhbmNlbFZvdGVQZXJkZWNhdGVOZXcAAAACBQAAAA0kYWNjMDI3NzkyODcwCQABkQAAAAIFAAAADSRsaXN0Mjc3OTI4NzAAAAAAAAAAAAADCQAAAAAAAAIFAAAADSRzaXplMjc3OTI4NzAAAAAAAAAAAAEFAAAADSRhY2MxMjc3OTI4NzAEAAAADSRhY2MyMjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAANJGFjYzEyNzc5Mjg3MAkAAZEAAAACBQAAAA0kbGlzdDI3NzkyODcwAAAAAAAAAAABAwkAAAAAAAACBQAAAA0kc2l6ZTI3NzkyODcwAAAAAAAAAAACBQAAAA0kYWNjMjI3NzkyODcwBAAAAA0kYWNjMzI3NzkyODcwCQEAAAAWY2FuY2VsVm90ZVBlcmRlY2F0ZU5ldwAAAAIFAAAADSRhY2MyMjc3OTI4NzAJAAGRAAAAAgUAAAANJGxpc3QyNzc5Mjg3MAAAAAAAAAAAAgMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAAAwUAAAANJGFjYzMyNzc5Mjg3MAQAAAANJGFjYzQyNzc5Mjg3MAkBAAAAFmNhbmNlbFZvdGVQZXJkZWNhdGVOZXcAAAACBQAAAA0kYWNjMzI3NzkyODcwCQABkQAAAAIFAAAADSRsaXN0Mjc3OTI4NzAAAAAAAAAAAAMDCQAAAAAAAAIFAAAADSRzaXplMjc3OTI4NzAAAAAAAAAAAAQFAAAADSRhY2M0Mjc3OTI4NzAEAAAADSRhY2M1Mjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAANJGFjYzQyNzc5Mjg3MAkAAZEAAAACBQAAAA0kbGlzdDI3NzkyODcwAAAAAAAAAAAEAwkAAAAAAAACBQAAAA0kc2l6ZTI3NzkyODcwAAAAAAAAAAAFBQAAAA0kYWNjNTI3NzkyODcwBAAAAA0kYWNjNjI3NzkyODcwCQEAAAAWY2FuY2VsVm90ZVBlcmRlY2F0ZU5ldwAAAAIFAAAADSRhY2M1Mjc3OTI4NzAJAAGRAAAAAgUAAAANJGxpc3QyNzc5Mjg3MAAAAAAAAAAABQMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAABgUAAAANJGFjYzYyNzc5Mjg3MAQAAAANJGFjYzcyNzc5Mjg3MAkBAAAAFmNhbmNlbFZvdGVQZXJkZWNhdGVOZXcAAAACBQAAAA0kYWNjNjI3NzkyODcwCQABkQAAAAIFAAAADSRsaXN0Mjc3OTI4NzAAAAAAAAAAAAYDCQAAAAAAAAIFAAAADSRzaXplMjc3OTI4NzAAAAAAAAAAAAcFAAAADSRhY2M3Mjc3OTI4NzAEAAAADSRhY2M4Mjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAANJGFjYzcyNzc5Mjg3MAkAAZEAAAACBQAAAA0kbGlzdDI3NzkyODcwAAAAAAAAAAAHAwkAAAAAAAACBQAAAA0kc2l6ZTI3NzkyODcwAAAAAAAAAAAIBQAAAA0kYWNjODI3NzkyODcwBAAAAA0kYWNjOTI3NzkyODcwCQEAAAAWY2FuY2VsVm90ZVBlcmRlY2F0ZU5ldwAAAAIFAAAADSRhY2M4Mjc3OTI4NzAJAAGRAAAAAgUAAAANJGxpc3QyNzc5Mjg3MAAAAAAAAAAACAMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAACQUAAAANJGFjYzkyNzc5Mjg3MAQAAAAOJGFjYzEwMjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAANJGFjYzkyNzc5Mjg3MAkAAZEAAAACBQAAAA0kbGlzdDI3NzkyODcwAAAAAAAAAAAJAwkAAAAAAAACBQAAAA0kc2l6ZTI3NzkyODcwAAAAAAAAAAAKBQAAAA4kYWNjMTAyNzc5Mjg3MAQAAAAOJGFjYzExMjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAAOJGFjYzEwMjc3OTI4NzAJAAGRAAAAAgUAAAANJGxpc3QyNzc5Mjg3MAAAAAAAAAAACgMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAACwUAAAAOJGFjYzExMjc3OTI4NzAEAAAADiRhY2MxMjI3NzkyODcwCQEAAAAWY2FuY2VsVm90ZVBlcmRlY2F0ZU5ldwAAAAIFAAAADiRhY2MxMTI3NzkyODcwCQABkQAAAAIFAAAADSRsaXN0Mjc3OTI4NzAAAAAAAAAAAAsDCQAAAAAAAAIFAAAADSRzaXplMjc3OTI4NzAAAAAAAAAAAAwFAAAADiRhY2MxMjI3NzkyODcwBAAAAA4kYWNjMTMyNzc5Mjg3MAkBAAAAFmNhbmNlbFZvdGVQZXJkZWNhdGVOZXcAAAACBQAAAA4kYWNjMTIyNzc5Mjg3MAkAAZEAAAACBQAAAA0kbGlzdDI3NzkyODcwAAAAAAAAAAAMAwkAAAAAAAACBQAAAA0kc2l6ZTI3NzkyODcwAAAAAAAAAAANBQAAAA4kYWNjMTMyNzc5Mjg3MAQAAAAOJGFjYzE0Mjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAAOJGFjYzEzMjc3OTI4NzAJAAGRAAAAAgUAAAANJGxpc3QyNzc5Mjg3MAAAAAAAAAAADQMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAADgUAAAAOJGFjYzE0Mjc3OTI4NzAEAAAADiRhY2MxNTI3NzkyODcwCQEAAAAWY2FuY2VsVm90ZVBlcmRlY2F0ZU5ldwAAAAIFAAAADiRhY2MxNDI3NzkyODcwCQABkQAAAAIFAAAADSRsaXN0Mjc3OTI4NzAAAAAAAAAAAA4DCQAAAAAAAAIFAAAADSRzaXplMjc3OTI4NzAAAAAAAAAAAA8FAAAADiRhY2MxNTI3NzkyODcwBAAAAA4kYWNjMTYyNzc5Mjg3MAkBAAAAFmNhbmNlbFZvdGVQZXJkZWNhdGVOZXcAAAACBQAAAA4kYWNjMTUyNzc5Mjg3MAkAAZEAAAACBQAAAA0kbGlzdDI3NzkyODcwAAAAAAAAAAAPAwkAAAAAAAACBQAAAA0kc2l6ZTI3NzkyODcwAAAAAAAAAAAQBQAAAA4kYWNjMTYyNzc5Mjg3MAQAAAAOJGFjYzE3Mjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAAOJGFjYzE2Mjc3OTI4NzAJAAGRAAAAAgUAAAANJGxpc3QyNzc5Mjg3MAAAAAAAAAAAEAMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAAEQUAAAAOJGFjYzE3Mjc3OTI4NzAEAAAADiRhY2MxODI3NzkyODcwCQEAAAAWY2FuY2VsVm90ZVBlcmRlY2F0ZU5ldwAAAAIFAAAADiRhY2MxNzI3NzkyODcwCQABkQAAAAIFAAAADSRsaXN0Mjc3OTI4NzAAAAAAAAAAABEDCQAAAAAAAAIFAAAADSRzaXplMjc3OTI4NzAAAAAAAAAAABIFAAAADiRhY2MxODI3NzkyODcwBAAAAA4kYWNjMTkyNzc5Mjg3MAkBAAAAFmNhbmNlbFZvdGVQZXJkZWNhdGVOZXcAAAACBQAAAA4kYWNjMTgyNzc5Mjg3MAkAAZEAAAACBQAAAA0kbGlzdDI3NzkyODcwAAAAAAAAAAASAwkAAAAAAAACBQAAAA0kc2l6ZTI3NzkyODcwAAAAAAAAAAATBQAAAA4kYWNjMTkyNzc5Mjg3MAQAAAAOJGFjYzIwMjc3OTI4NzAJAQAAABZjYW5jZWxWb3RlUGVyZGVjYXRlTmV3AAAAAgUAAAAOJGFjYzE5Mjc3OTI4NzAJAAGRAAAAAgUAAAANJGxpc3QyNzc5Mjg3MAAAAAAAAAAAEwMJAAAAAAAAAgUAAAANJHNpemUyNzc5Mjg3MAAAAAAAAAAAFAUAAAAOJGFjYzIwMjc3OTI4NzAEAAAADiRhY2MyMTI3NzkyODcwCQEAAAAWY2FuY2VsVm90ZVBlcmRlY2F0ZU5ldwAAAAIFAAAADiRhY2MyMDI3NzkyODcwCQABkQAAAAIFAAAADSRsaXN0Mjc3OTI4NzAAAAAAAAAAABQJAAACAAAAAQIAAAATTGlzdCBzaXplIGV4Y2VlZCAyMAkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAABNjb250cmFjdFVzZXJCYWxhbmNlBQAAAAZOU0JUaWQAAAAKY29udGV4dE9iagEAAAAId2l0aGRyYXcAAAAABAAAAA51c2VyQmFsYW5jZUtleQkBAAAADmtleVVzZXJCYWxhbmNlAAAAAQgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyAwkAAGYAAAACBQAAAAloZWlnaHRFbmQFAAAABmhlaWdodAkAAAIAAAABAgAAAA92b3RlIGluIHByb2Nlc3MEAAAADWNhbGxlckJhbGFuY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwUAAAAOdXNlckJhbGFuY2VLZXkAAAAAAAAAAAADCQAAZwAAAAIAAAAAAAAAAAAFAAAADWNhbGxlckJhbGFuY2UJAAACAAAAAQIAAAAQYmFsYW5jZSBpcyBlbXB0eQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAAKY29udGV4dE9iagAAAAZjYWxsZXIFAAAADWNhbGxlckJhbGFuY2UFAAAABk5TQlRpZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAOdXNlckJhbGFuY2VLZXkAAAAAAAAAAAAFAAAAA25pbAAAAABevDVV", "chainId": 84, "height": 1211612, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Gb1D7zUb68USY97WKFr9dxeTMMFq2q6HjMtznbkhYudt Next: none Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let NSBTid = fromBase58String(valueOrErrorMessage(getString(this, "NSBTid"), "NSBTid is not specified in state"))
55
66 let heightEnd = valueOrErrorMessage(getInteger(this, "height_end"), "height_end is not specified in state")
77
88 let assetsString = valueOrErrorMessage(getString(this, "available_assets"), "Assets list is not specified in state")
99
1010 let assets = split(assetsString, ",")
1111
1212 func keyUserBalance (userAddr) = makeString(["balance", toString(userAddr)], "_")
1313
1414
1515 func keyUserAssetBalance (userAddr,vote) = makeString(["vote", userAddr, vote], "_")
1616
1717
1818 @Callable(contextObj)
1919 func castVote (vote) = if ((containsElement(assets, vote) == false))
2020 then throw("Incorrect vote!")
2121 else {
2222 let voiteKey = makeString(["vote", vote], "_")
2323 let voteAddressKey = keyUserAssetBalance(toString(contextObj.caller), vote)
2424 let userBalanceKey = keyUserBalance(contextObj.caller)
2525 let payment = value(contextObj.payments[0])
2626 let assetIdReceived = payment.assetId
2727 let tokenReceiveAmount = payment.amount
2828 let voteNumberThis = valueOrElse(getInteger(this, voiteKey), 0)
2929 let contractUserBalance = valueOrElse(getInteger(this, userBalanceKey), 0)
3030 let voteOnAsset = valueOrElse(getInteger(this, voteAddressKey), 0)
3131 if ((assetIdReceived != NSBTid))
3232 then throw("incorrect assets")
3333 else if ((height >= heightEnd))
3434 then throw("vote finished")
3535 else [IntegerEntry(voiteKey, (voteNumberThis + tokenReceiveAmount)), IntegerEntry(userBalanceKey, (contractUserBalance + tokenReceiveAmount)), IntegerEntry(voteAddressKey, (voteOnAsset + tokenReceiveAmount))]
3636 }
3737
3838
3939
4040 @Callable(contextObj)
4141 func cancelVote () = {
4242 let userBalanceKey = keyUserBalance(contextObj.caller)
4343 let contractUserBalance = valueOrElse(getInteger(this, userBalanceKey), 0)
4444 if ((contractUserBalance == 0))
4545 then nil
4646 else {
4747 func cancelVotePerdecateNew (accumulatedResultList,assetCode) = {
4848 let totalVotes4AssetKey = makeString(["vote", assetCode], "_")
4949 let userNsbtBalance4AssetKey = keyUserAssetBalance(toString(contextObj.caller), assetCode)
5050 let totalVotes4Asset = valueOrElse(getInteger(this, totalVotes4AssetKey), 0)
5151 let userNsbtBalance4Asset = valueOrElse(getInteger(this, userNsbtBalance4AssetKey), 0)
5252 if ((totalVotes4Asset == 0))
5353 then accumulatedResultList
5454 else ((accumulatedResultList :+ IntegerEntry(totalVotes4AssetKey, (totalVotes4Asset - userNsbtBalance4Asset))) :+ IntegerEntry(userNsbtBalance4AssetKey, 0))
5555 }
5656
5757 ({
5858 let $list27792870 = assets
5959 let $size27792870 = size($list27792870)
6060 let $acc027792870 = [IntegerEntry(userBalanceKey, 0)]
6161 if (($size27792870 == 0))
6262 then $acc027792870
6363 else {
6464 let $acc127792870 = cancelVotePerdecateNew($acc027792870, $list27792870[0])
6565 if (($size27792870 == 1))
6666 then $acc127792870
6767 else {
6868 let $acc227792870 = cancelVotePerdecateNew($acc127792870, $list27792870[1])
6969 if (($size27792870 == 2))
7070 then $acc227792870
7171 else {
7272 let $acc327792870 = cancelVotePerdecateNew($acc227792870, $list27792870[2])
7373 if (($size27792870 == 3))
7474 then $acc327792870
7575 else {
7676 let $acc427792870 = cancelVotePerdecateNew($acc327792870, $list27792870[3])
7777 if (($size27792870 == 4))
7878 then $acc427792870
7979 else {
8080 let $acc527792870 = cancelVotePerdecateNew($acc427792870, $list27792870[4])
8181 if (($size27792870 == 5))
8282 then $acc527792870
8383 else {
8484 let $acc627792870 = cancelVotePerdecateNew($acc527792870, $list27792870[5])
8585 if (($size27792870 == 6))
8686 then $acc627792870
8787 else {
8888 let $acc727792870 = cancelVotePerdecateNew($acc627792870, $list27792870[6])
8989 if (($size27792870 == 7))
9090 then $acc727792870
9191 else {
9292 let $acc827792870 = cancelVotePerdecateNew($acc727792870, $list27792870[7])
9393 if (($size27792870 == 8))
9494 then $acc827792870
9595 else {
9696 let $acc927792870 = cancelVotePerdecateNew($acc827792870, $list27792870[8])
9797 if (($size27792870 == 9))
9898 then $acc927792870
9999 else {
100100 let $acc1027792870 = cancelVotePerdecateNew($acc927792870, $list27792870[9])
101101 if (($size27792870 == 10))
102102 then $acc1027792870
103103 else {
104104 let $acc1127792870 = cancelVotePerdecateNew($acc1027792870, $list27792870[10])
105105 if (($size27792870 == 11))
106106 then $acc1127792870
107107 else {
108108 let $acc1227792870 = cancelVotePerdecateNew($acc1127792870, $list27792870[11])
109109 if (($size27792870 == 12))
110110 then $acc1227792870
111111 else {
112112 let $acc1327792870 = cancelVotePerdecateNew($acc1227792870, $list27792870[12])
113113 if (($size27792870 == 13))
114114 then $acc1327792870
115115 else {
116116 let $acc1427792870 = cancelVotePerdecateNew($acc1327792870, $list27792870[13])
117117 if (($size27792870 == 14))
118118 then $acc1427792870
119119 else {
120120 let $acc1527792870 = cancelVotePerdecateNew($acc1427792870, $list27792870[14])
121121 if (($size27792870 == 15))
122122 then $acc1527792870
123123 else {
124124 let $acc1627792870 = cancelVotePerdecateNew($acc1527792870, $list27792870[15])
125125 if (($size27792870 == 16))
126126 then $acc1627792870
127127 else {
128128 let $acc1727792870 = cancelVotePerdecateNew($acc1627792870, $list27792870[16])
129129 if (($size27792870 == 17))
130130 then $acc1727792870
131131 else {
132132 let $acc1827792870 = cancelVotePerdecateNew($acc1727792870, $list27792870[17])
133133 if (($size27792870 == 18))
134134 then $acc1827792870
135135 else {
136136 let $acc1927792870 = cancelVotePerdecateNew($acc1827792870, $list27792870[18])
137137 if (($size27792870 == 19))
138138 then $acc1927792870
139139 else {
140140 let $acc2027792870 = cancelVotePerdecateNew($acc1927792870, $list27792870[19])
141141 if (($size27792870 == 20))
142142 then $acc2027792870
143143 else {
144144 let $acc2127792870 = cancelVotePerdecateNew($acc2027792870, $list27792870[20])
145145 throw("List size exceed 20")
146146 }
147147 }
148148 }
149149 }
150150 }
151151 }
152152 }
153153 }
154154 }
155155 }
156156 }
157157 }
158158 }
159159 }
160160 }
161161 }
162162 }
163163 }
164164 }
165165 }
166166 }
167167 } :+ ScriptTransfer(contextObj.caller, contractUserBalance, NSBTid))
168168 }
169169 }
170170
171171
172172
173173 @Callable(contextObj)
174174 func withdraw () = {
175175 let userBalanceKey = keyUserBalance(contextObj.caller)
176176 if ((heightEnd > height))
177177 then throw("vote in process")
178178 else {
179179 let callerBalance = valueOrElse(getInteger(this, userBalanceKey), 0)
180180 if ((0 >= callerBalance))
181181 then throw("balance is empty")
182182 else [ScriptTransfer(contextObj.caller, callerBalance, NSBTid), IntegerEntry(userBalanceKey, 0)]
183183 }
184184 }
185185
186186

github/deemru/w8io/169f3d6 
39.26 ms