tx · Cw7BCCRcxuaMyvqqKr2JhRr6h46cHyrHiNWBnAtFHTrb

3Moxfr1c53DJoiy5eHzocn6PRWkSng4QGt5:  -0.01700000 Waves

2024.10.07 20:24 [3316719] smart account 3Moxfr1c53DJoiy5eHzocn6PRWkSng4QGt5 > SELF 0.00000000 Waves

{ "type": 13, "id": "Cw7BCCRcxuaMyvqqKr2JhRr6h46cHyrHiNWBnAtFHTrb", "fee": 1700000, "feeAssetId": null, "timestamp": 1728321907486, "version": 2, "chainId": 84, "sender": "3Moxfr1c53DJoiy5eHzocn6PRWkSng4QGt5", "senderPublicKey": "BU8rYtii1aJGQdtENyW49QRU4HmzRBrG7fKheSLpaCkk", "proofs": [ "4xTfYkzYbL4iaUYa2AYU43E2L7PKRxx5vk5CwjffExUvfvCMkPbtM1HhQmdyB3VwRSxPqxoGbymEve5fYUpPEAAm" ], "script": "base64:BgI8CAISAwoBCBIGCgQICAgIEgMKAQgSABIAEgMKAQgSABIDCgEIEgMKAQgSBAoCCAgSAwoBCBIGCgQIAQQIOAENdHJ5R2V0SW50ZWdlcgEDa2V5BAckbWF0Y2gwCQCaCAIFBHRoaXMFA2tleQMJAAECBQckbWF0Y2gwAgNJbnQEAWIFByRtYXRjaDAFAWIAAAEVa2V5RHVja1BsYXlVbmxvY2tUaW1lAQdhc3NldElkCQCsAgIJAKwCAgIFZHVja18JANgEAQUHYXNzZXRJZAILX3VubG9ja1RpbWUBF2tleUR1Y2tGaW5pc2hVbmxvY2tUaW1lAQdhc3NldElkCQCsAgIJAKwCAgIFZHVja18JANgEAQUHYXNzZXRJZAIRZmluaXNoX3VubG9ja1RpbWUBDGtleUR1Y2tPd25lcgEHYXNzZXRJZAkArAICCQCsAgICBWR1Y2tfCQDYBAEFB2Fzc2V0SWQCBl9vd25lcgEOa2V5U3BvdHNCb3VnaHQBCmFkZHJlc3NTdHIJAKwCAgkArAICAghhZGRyZXNzXwUKYWRkcmVzc1N0cgIMX3Nwb3RzQm91Z2h0AQxrZXlTcG90c0J1c3kBCmFkZHJlc3NTdHIJAKwCAgkArAICAghhZGRyZXNzXwUKYWRkcmVzc1N0cgIKX3Nwb3RzQnVzeQETa2V5TG9ja2VkRHVja1N0YXR1cwIKYWRkcmVzc1N0cgphc3NldElkU3RyCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQphZGRyZXNzU3RyAgxfbG9ja2VkRHVja18FCmFzc2V0SWRTdHICB19zdGF0dXMBCWtleUR1Y2tWMgIKYWRkcmVzc1N0cgphc3NldElkU3RyCQCsAgIJAKwCAgkArAICCQCsAgICCGFkZHJlc3NfBQphZGRyZXNzU3RyAgxfbG9ja2VkRHVja18FCmFzc2V0SWRTdHICA192MgEOZ2V0RHVja0RldGFpbHMBB2Fzc2V0SWQECWFzc2V0TmFtZQkBBXZhbHVlAQgJAQV2YWx1ZQEJAOwHAQUHYXNzZXRJZARuYW1lBA5hc3NldE5hbWVQYXJ0cwkAtQkCBQlhc3NldE5hbWUCAAQJaXNKYWNrcG90CQAAAgkAkQMCBQ5hc3NldE5hbWVQYXJ0cwkAZQIJAJADAQUOYXNzZXROYW1lUGFydHMAAgIBSgQKYXNzZXRDb2xvcgMFCWlzSmFja3BvdAIBQgkAkQMCBQ5hc3NldE5hbWVQYXJ0cwkAZQIJAJADAQUOYXNzZXROYW1lUGFydHMAAQkAlAoCBQphc3NldENvbG9yBQlpc0phY2twb3QBFHRyeUdldFN0cmluZ0V4dGVybmFsAgdhZGRyZXNzA2tleQQHJG1hdGNoMAkAnQgCBQdhZGRyZXNzBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFhBQckbWF0Y2gwBQFhAgABDXRyeUdldEJvb2xlYW4BA2tleQQHJG1hdGNoMAkAoAgBBQNrZXkDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBYgUHJG1hdGNoMAUBYgcBDHRyeUdldFN0cmluZwEDa2V5CQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCBQR0aGlzBQNrZXkBF3N0YXRpY0tleV9vcmFjbGVBZGRyZXNzAAIUc3RhdGljX29yYWNsZUFkZHJlc3MBFHN0YXRpY0tleV9lZ2dBc3NldElkAAIRc3RhdGljX2VnZ0Fzc2V0SWQBGnN0YXRpY0tleV9pbmN1YmF0b3JBZGRyZXNzAAIXc3RhdGljX2luY3ViYXRvckFkZHJlc3MBGHN0YXRpY0tleV9icmVlZGVyQWRkcmVzcwACFXN0YXRpY19icmVlZGVyQWRkcmVzcwEYc3RhdGljS2V5X2Zhcm1pbmdBZGRyZXNzAAIVc3RhdGljX2Zhcm1pbmdBZGRyZXNzARhzdGF0aWNLZXlfcmVudGluZ0FkZHJlc3MAAhVzdGF0aWNfcmVudGluZ0FkZHJlc3MBF3N0YXRpY0tleV9zaG9ydEdhbWVOYW1lAAIUc3RhdGljX3Nob3J0R2FtZU5hbWUBFnN0YXRpY0tleV9sb25nR2FtZU5hbWUAAhNzdGF0aWNfbG9uZ0dhbWVOYW1lARFzdGF0aWNLZXlfbmZ0TmFtZQACDnN0YXRpY19uZnROYW1lARdzdGF0aWNLZXlfYmFja2VuZFB1YktleQACFHN0YXRpY19iYWNrZW5kUHViS2V5ARtzdGF0aWNLZXlfYWNjZXNzSXRlbUFzc2V0SWQAAhhzdGF0aWNfYWNjZXNzSXRlbUFzc2V0SWQBGXN0YXRpY0tleV9hY2Nlc3NJdGVtUHJpY2UAAhZzdGF0aWNfYWNjZXNzSXRlbVByaWNlARlzdGF0aWNLZXlfbWluTG9ja0R1cmF0aW9uAAIWc3RhdGljX21pbkxvY2tEdXJhdGlvbgEYc3RhdGljS2V5X1VubG9ja0R1cmF0aW9uAAIVc3RhdGljX1VubG9ja0R1cmF0aW9uARtzdGF0aWNLZXlfYm9vc3RlckJ1eUFzc2V0SWQAAhhzdGF0aWNfYm9vc3RlckJ1eUFzc2V0SWQBEnN0YXRpY0tleV9leHRyYUZlZQACD3N0YXRpY19leHRyYUZlZQEXc3RhdGljS2V5X2ZlZUFnZ3JlZ2F0b3IAAhRzdGF0aWNfZmVlQWdncmVnYXRvcgEbc3RhdGljS2V5X2Jvb3N0ZXJQcmljZUxldmVsAQVsZXZlbAkArAICAhlzdGF0aWNfYm9vc3RlclByaWNlTGV2ZWxfBQVsZXZlbAEVc3RhdGljS2V5X2Jvb3N0ZXJOYW1lAQVsZXZlbAkArAICAhNzdGF0aWNfYm9vc3Rlck5hbWVfBQVsZXZlbAEVc3RhdGljS2V5X2J1cm5BZGRyZXNzAAISc3RhdGljX2J1cm5BZGRyZXNzAQlnZXRPcmFjbGUACQEHQWRkcmVzcwEJANkEAQkBDHRyeUdldFN0cmluZwEJARdzdGF0aWNLZXlfb3JhY2xlQWRkcmVzcwABC2dldEdhbWVOYW1lAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJARdzdGF0aWNLZXlfc2hvcnRHYW1lTmFtZQACJDNHR046IFRoZXJlIGlzIG5vIGdhbWUgbmFtZSBkZWZpbmVkIQEPZ2V0TG9uZ0dhbWVOYW1lAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJARZzdGF0aWNLZXlfbG9uZ0dhbWVOYW1lAAIqM0dMR046IFRoZXJlIGlzIG5vIGxvbmcgZ2FtZSBuYW1lIGRlZmluZWQhAQpnZXRORlROYW1lAAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCiCAEJARFzdGF0aWNLZXlfbmZ0TmFtZQACIzNHTk46IFRoZXJlIGlzIG5vIG5mdCBuYW1lIGRlZmluZWQhARNnZXRJbmN1YmF0b3JBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEac3RhdGljS2V5X2luY3ViYXRvckFkZHJlc3MAARFnZXRCcmVlZGVyQWRkcmVzcwAJAQdBZGRyZXNzAQkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBGHN0YXRpY0tleV9icmVlZGVyQWRkcmVzcwABEWdldFJlbnRpbmdBZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEYc3RhdGljS2V5X3JlbnRpbmdBZGRyZXNzAAERZ2V0RmFybWluZ0FkZHJlc3MACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARhzdGF0aWNLZXlfZmFybWluZ0FkZHJlc3MAAQ1nZXRFZ2dBc3NldElkAAkA2QQBCQEUdHJ5R2V0U3RyaW5nRXh0ZXJuYWwCCQEJZ2V0T3JhY2xlAAkBFHN0YXRpY0tleV9lZ2dBc3NldElkAAEQZ2V0QmFja2VuZFB1YktleQAJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARdzdGF0aWNLZXlfYmFja2VuZFB1YktleQABEGdldEZlZUFnZ3JlZ2F0b3IACQEHQWRkcmVzcwEJANkEAQkBFHRyeUdldFN0cmluZ0V4dGVybmFsAgkBCWdldE9yYWNsZQAJARdzdGF0aWNLZXlfZmVlQWdncmVnYXRvcgABDmdldEJ1cm5BZGRyZXNzAAkBB0FkZHJlc3MBCQDZBAEJARR0cnlHZXRTdHJpbmdFeHRlcm5hbAIJAQlnZXRPcmFjbGUACQEVc3RhdGljS2V5X2J1cm5BZGRyZXNzAAEUZ2V0QWNjZXNzSXRlbUFzc2V0SWQACQDZBAEJAQx0cnlHZXRTdHJpbmcBCQEbc3RhdGljS2V5X2FjY2Vzc0l0ZW1Bc3NldElkAAESZ2V0QWNjZXNzSXRlbVByaWNlAAkBDXRyeUdldEludGVnZXIBCQEZc3RhdGljS2V5X2FjY2Vzc0l0ZW1QcmljZQABEmdldE1pbkxvY2tEdXJhdGlvbgAJAQ10cnlHZXRJbnRlZ2VyAQkBGXN0YXRpY0tleV9taW5Mb2NrRHVyYXRpb24AARFnZXRVbmxvY2tEdXJhdGlvbgAJAQ10cnlHZXRJbnRlZ2VyAQkBGHN0YXRpY0tleV9VbmxvY2tEdXJhdGlvbgABE2dldEJvc3RlckJ1eUFzc2V0SWQACQDZBAEJAQx0cnlHZXRTdHJpbmcBCQEbc3RhdGljS2V5X2Jvb3N0ZXJCdXlBc3NldElkAAEWZ2V0Qm9zdGVyUHJpY2VGb3JMZXZlbAEFbGV2ZWwJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBCQEbc3RhdGljS2V5X2Jvb3N0ZXJQcmljZUxldmVsAQkApAMBBQVsZXZlbAI5M0dCUEZMOiBUaGVyZSBpcyBubyBwcmljZSB2YWx1ZSBmb3IgdGhpcyBsZXZlbCBvZiBib29zdGVyARVnZXRCb3N0ZXJOYW1lRm9yTGV2ZWwBBWxldmVsCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKIIAQkBFXN0YXRpY0tleV9ib29zdGVyTmFtZQEJAKQDAQUFbGV2ZWwCIDNHQk5GTDogVGhlcmUgaXMgbm8gc3VjaCBib29zdGVyARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQdwYXltZW50AwkBCWlzRGVmaW5lZAEIBQdwYXltZW50B2Fzc2V0SWQJAAIBAhlSQ0FQOiBQbGVhc2UgYXR0YWNoIHdhdmVzBAlmZWVBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIJAQlnZXRPcmFjbGUACQESc3RhdGljS2V5X2V4dHJhRmVlAAMJAQIhPQIIBQdwYXltZW50BmFtb3VudAUJZmVlQW1vdW50CQACAQkArAICCQCsAgICHFJDQVA6IFBsZWFzZSBhdHRhY2ggZXhhY3RseSAJAKQDAQUJZmVlQW1vdW50AhMgYW1vdW50IG9mIHdhdmVsZXRzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJARBnZXRGZWVBZ2dyZWdhdG9yAAUJZmVlQW1vdW50BQR1bml0BQNuaWwBCGFzU3RyaW5nAQV2YWx1ZQQHJG1hdGNoMAUFdmFsdWUDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZzdHJpbmcFByRtYXRjaDAFBnN0cmluZwkAAgECITNBUzogd3JvbmcgdHlwZSwgZXhwZWN0ZWQ6IFN0cmluZwEQbG9ja0R1Y2tJbnRlcm5hbAMKYWRkcmVzc1N0cg10YWtlU3BvdHNGcm9tA3BtdAQHYXNzZXRJZAkBBXZhbHVlAQgFA3BtdAdhc3NldElkBAthc3NldElzc3VlcggJAQV2YWx1ZQEJAOwHAQUHYXNzZXRJZAZpc3N1ZXIEDHREdWNrRGV0YWlscwkBDmdldER1Y2tEZXRhaWxzAQUHYXNzZXRJZAQKYXNzZXRDb2xvcggFDHREdWNrRGV0YWlscwJfMQQJaXNKYWNrcG90CAUMdER1Y2tEZXRhaWxzAl8yBAprU3BvdHNCdXN5CQEMa2V5U3BvdHNCdXN5AQUNdGFrZVNwb3RzRnJvbQQJc3BvdHNCdXN5CQENdHJ5R2V0SW50ZWdlcgEFCmtTcG90c0J1c3kEDGtTcG90c0JvdWdodAkBDmtleVNwb3RzQm91Z2h0AQUNdGFrZVNwb3RzRnJvbQQVYWRkcmVzc1Nwb3RzQXZhaWxhYmxlCQBlAgkBDXRyeUdldEludGVnZXIBBQxrU3BvdHNCb3VnaHQFCXNwb3RzQnVzeQMJAQIhPQIIBQNwbXQGYW1vdW50AAEJAAIBAhNORlQgaXMgbm90IGF0dGFjaGVkAwMJAQIhPQIFC2Fzc2V0SXNzdWVyCQETZ2V0SW5jdWJhdG9yQWRkcmVzcwAJAQIhPQIFC2Fzc2V0SXNzdWVyCQERZ2V0QnJlZWRlckFkZHJlc3MABwkAAgECE2l2YWxpZCBORlQgYXR0YWNoZWQDCQBnAgAABRVhZGRyZXNzU3BvdHNBdmFpbGFibGUJAAIBCQCsAgICIE5vIHNwb3RzIGF2YWlsYWJsZSBpbiBodW50IGZvcjogBQ10YWtlU3BvdHNGcm9tBBFrUGVyY2hlc0F2YWlsYWJsZQkArAICCQCsAgIJAKwCAgIIYWRkcmVzc18JAKUIAQUEdGhpcwISX3BlcmNoZXNBdmFpbGFibGVfBQphc3NldENvbG9yBBBwZXJjaGVzQXZhaWxhYmxlBAckbWF0Y2gwCQCaCAIJARFnZXRGYXJtaW5nQWRkcmVzcwAFEWtQZXJjaGVzQXZhaWxhYmxlAwkAAQIFByRtYXRjaDACA0ludAQBYgUHJG1hdGNoMAUBYgAAAwkAAAIFEHBlcmNoZXNBdmFpbGFibGUFEHBlcmNoZXNBdmFpbGFibGUECmVnZ0Fzc2V0SWQJAQ1nZXRFZ2dBc3NldElkAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUKa1Nwb3RzQnVzeQkAZAIFCXNwb3RzQnVzeQABCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQxrZXlEdWNrT3duZXIBBQdhc3NldElkBQphZGRyZXNzU3RyCQDMCAIJAQxCb29sZWFuRW50cnkCCQETa2V5TG9ja2VkRHVja1N0YXR1cwIFCmFkZHJlc3NTdHIJANgEAQUHYXNzZXRJZAYJAMwIAgkBDEludGVnZXJFbnRyeQIJARVrZXlEdWNrUGxheVVubG9ja1RpbWUBBQdhc3NldElkCQBkAggFCWxhc3RCbG9jawl0aW1lc3RhbXAJARJnZXRNaW5Mb2NrRHVyYXRpb24ACQDMCAIJAQxCb29sZWFuRW50cnkCCQEJa2V5RHVja1YyAgUKYWRkcmVzc1N0cgkA2AQBBQdhc3NldElkBgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQ5pbml0VW5sb2NrRHVjawIKYXNzZXRJZFN0cgphZGRyZXNzU3RyBAdhc3NldElkCQDZBAEFCmFzc2V0SWRTdHIEDHREdWNrRGV0YWlscwkBDmdldER1Y2tEZXRhaWxzAQUHYXNzZXRJZAQKYXNzZXRDb2xvcggFDHREdWNrRGV0YWlscwJfMQQJaXNKYWNrcG90CAUMdER1Y2tEZXRhaWxzAl8yBAprU3BvdHNCdXN5CQEMa2V5U3BvdHNCdXN5AQUKYWRkcmVzc1N0cgQKa0R1Y2tPd25lcgkBDGtleUR1Y2tPd25lcgEFB2Fzc2V0SWQEEnJlbWFpbmluZ0ZvclVubG9jawkAZQIJAQ10cnlHZXRJbnRlZ2VyAQkBFWtleUR1Y2tQbGF5VW5sb2NrVGltZQEFB2Fzc2V0SWQIBQlsYXN0QmxvY2sJdGltZXN0YW1wAwkBAiE9AgkBDHRyeUdldFN0cmluZwEFCmtEdWNrT3duZXIFCmFkZHJlc3NTdHIJAAIBAhwzSVVMRDogVGhlIGR1Y2sgaXMgbm90IHlvdXJzAwkAZgIFEnJlbWFpbmluZ0ZvclVubG9jawAACQACAQkArAICCQCsAgICITNJVUw6IFlvdSBuZWVkIHRvIHdhaXQgdG8gdW5sb2NrIAkApAMBCQBpAgUScmVtYWluaW5nRm9yVW5sb2NrAOgHAgggc2Vjb25kcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkBF2tleUR1Y2tGaW5pc2hVbmxvY2tUaW1lAQUHYXNzZXRJZAkAZAIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQERZ2V0VW5sb2NrRHVyYXRpb24ABQNuaWwBC3Vuc3Rha2VEdWNrAwphc3NldElkU3RyCmFkZHJlc3NTdHIPYWRkU3BvdHNUb3dhcmRzBAdhc3NldElkCQDZBAEFCmFzc2V0SWRTdHIEDHREdWNrRGV0YWlscwkBDmdldER1Y2tEZXRhaWxzAQUHYXNzZXRJZAQKYXNzZXRDb2xvcggFDHREdWNrRGV0YWlscwJfMQQJaXNKYWNrcG90CAUMdER1Y2tEZXRhaWxzAl8yBAprU3BvdHNCdXN5CQEMa2V5U3BvdHNCdXN5AQUPYWRkU3BvdHNUb3dhcmRzBAprRHVja093bmVyCQEMa2V5RHVja093bmVyAQUHYXNzZXRJZAQScmVtYWluaW5nRm9yVW5sb2NrCQBlAgkBDXRyeUdldEludGVnZXIBCQEXa2V5RHVja0ZpbmlzaFVubG9ja1RpbWUBBQdhc3NldElkCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAMJAQIhPQIJAQx0cnlHZXRTdHJpbmcBBQprRHVja093bmVyBQphZGRyZXNzU3RyCQACAQIaM1VEOiBUaGUgZHVjayBpcyBub3QgeW91cnMDCQBmAgUScmVtYWluaW5nRm9yVW5sb2NrAAAJAAIBCQCsAgIJAKwCAgIgM1VEOiBZb3UgbmVlZCB0byB3YWl0IHRvIHVubG9jayAJAKQDAQkAaQIFEnJlbWFpbmluZ0ZvclVubG9jawDoBwIIIHNlY29uZHMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBB0FkZHJlc3MBCQDZBAEFCmFkZHJlc3NTdHIAAQUHYXNzZXRJZAkAzAgCCQELRGVsZXRlRW50cnkBCQETa2V5TG9ja2VkRHVja1N0YXR1cwIFCmFkZHJlc3NTdHIFCmFzc2V0SWRTdHIJAMwIAgkBC0RlbGV0ZUVudHJ5AQUKa0R1Y2tPd25lcgkAzAgCCQEMSW50ZWdlckVudHJ5AgUKa1Nwb3RzQnVzeQkAZQIJAQ10cnlHZXRJbnRlZ2VyAQUKa1Nwb3RzQnVzeQABBQNuaWwMAWkBFWJ1eUFjY2Vzc0l0ZW1JbnRlcm5hbAEKYWRkcmVzc1N0cgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECGDNCQUlJOiBpbnRlcm5hbCB1c2Ugb25seQQPaXNzdWVBY2Nlc3NJdGVtCQDCCAUJAKwCAgIHQUNDRVNTLQkBC2dldEdhbWVOYW1lAAkArAICCQCsAgIJAKwCAgIJW0FjY2Vzc10gCQEPZ2V0TG9uZ0dhbWVOYW1lAAIQIGFjY2VzcyBORlQgZm9yIAkBCmdldE5GVE5hbWUAAAEAAAcEEWFjY2Vzc1JhY2VBc3NldElkCQDYBAEJALgIAQUPaXNzdWVBY2Nlc3NJdGVtBAxrU3BvdHNCb3VnaHQJAQ5rZXlTcG90c0JvdWdodAEFCmFkZHJlc3NTdHIJAJQKAgkAzAgCBQ9pc3N1ZUFjY2Vzc0l0ZW0JAMwIAgkBC1N0cmluZ0VudHJ5AgkArAICCQCsAgICC2FjY2Vzc0l0ZW1fBRFhY2Nlc3NSYWNlQXNzZXRJZAIGX293bmVyBQphZGRyZXNzU3RyCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgkArAICAghhZGRyZXNzXwUKYWRkcmVzc1N0cgIHX293bmluZwURYWNjZXNzUmFjZUFzc2V0SWQJAMwIAgkBDEludGVnZXJFbnRyeQIFDGtTcG90c0JvdWdodAkAZAIJAQ10cnlHZXRJbnRlZ2VyAQUMa1Nwb3RzQm91Z2h0AAEFA25pbAURYWNjZXNzUmFjZUFzc2V0SWQBaQEPY29uZmlndXJlT3JhY2xlBAZvcmFjbGUJc2hvcnRuYW1lCGxvbmduYW1lB25mdE5hbWUDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAg8zQ086IGFkbWluIG9ubHkJAMwIAgkBC1N0cmluZ0VudHJ5AgIUc3RhdGljX29yYWNsZUFkZHJlc3MFBm9yYWNsZQkAzAgCCQELU3RyaW5nRW50cnkCAhRzdGF0aWNfc2hvcnRHYW1lTmFtZQUJc2hvcnRuYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQICE3N0YXRpY19sb25nR2FtZU5hbWUFCGxvbmduYW1lCQDMCAIJAQtTdHJpbmdFbnRyeQICDnN0YXRpY19uZnROYW1lBQduZnROYW1lBQNuaWwBaQENZGVsZXRlU2V0dGluZwEDa2V5AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIsM0RTOiBPbmx5IGFkbWluaXN0cmF0b3IgY2FuIGNhbGwgdGhpcyBtZXRob2QJAMwIAgkBC0RlbGV0ZUVudHJ5AQUDa2V5BQNuaWwBaQEYYnV5QWNjZXNzSXRlbUFuZExvY2tEdWNrAAQKZWdnUGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwAABAtkdWNrUGF5bWVudAkBBXZhbHVlAQkAkQMCCAUBaQhwYXltZW50cwABBAphZGRyZXNzU3RyCQClCAEIBQFpDG9yaWdpbkNhbGxlcgMJAQIhPQIIBQplZ2dQYXltZW50B2Fzc2V0SWQJARRnZXRBY2Nlc3NJdGVtQXNzZXRJZAAJAAIBAhozQkFJOiBXcm9uZyBhc3NldCBhdHRhY2hlZAMJAQIhPQIIBQplZ2dQYXltZW50BmFtb3VudAkBEmdldEFjY2Vzc0l0ZW1QcmljZQAJAAIBAiUzQkFJOiBXcm9uZyBhbW91bnQgb2YgYXNzZXRzIGF0dGFjaGVkBA5hY2Nlc3NJdGVtRGF0YQkBCGFzU3RyaW5nAQkA/AcEBQR0aGlzAhVidXlBY2Nlc3NJdGVtSW50ZXJuYWwJAMwIAgUKYWRkcmVzc1N0cgUDbmlsBQNuaWwDCQAAAgUOYWNjZXNzSXRlbURhdGEFDmFjY2Vzc0l0ZW1EYXRhBAhidXJuQ2FsbAkA/AcECQEOZ2V0QnVybkFkZHJlc3MAAhRidXJuQXR0YWNoZWRQYXltZW50cwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0RWdnQXNzZXRJZAAIBQplZ2dQYXltZW50BmFtb3VudAUDbmlsAwkAAAIFCGJ1cm5DYWxsBQhidXJuQ2FsbAQMdmFsaWRQYXltZW50AwkAAAIIBQFpBmNhbGxlcgkBEWdldFJlbnRpbmdBZGRyZXNzAAUDbmlsCQEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEJAJEDAggFAWkIcGF5bWVudHMAAgMJAAACBQx2YWxpZFBheW1lbnQFDHZhbGlkUGF5bWVudAQIbG9ja0RhdGEJAM4IAgkBEGxvY2tEdWNrSW50ZXJuYWwDBQphZGRyZXNzU3RyBQphZGRyZXNzU3RyBQtkdWNrUGF5bWVudAUMdmFsaWRQYXltZW50CQCUCgIFCGxvY2tEYXRhBQ5hY2Nlc3NJdGVtRGF0YQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ1idXlBY2Nlc3NJdGVtAAQKYWRkcmVzc1N0cgkApQgBCAUBaQxvcmlnaW5DYWxsZXIECmVnZ1BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAMJAQIhPQIIBQplZ2dQYXltZW50B2Fzc2V0SWQJARRnZXRBY2Nlc3NJdGVtQXNzZXRJZAAJAAIBCQCsAgICGzNCQUk6IFdyb25nIGFzc2V0IGF0dGFjaGVkIAkA2AQBCQEUZ2V0QWNjZXNzSXRlbUFzc2V0SWQAAwkBAiE9AggFCmVnZ1BheW1lbnQGYW1vdW50CQESZ2V0QWNjZXNzSXRlbVByaWNlAAkAAgECJTNCQUk6IFdyb25nIGFtb3VudCBvZiBhc3NldHMgYXR0YWNoZWQEDmFjY2Vzc0l0ZW1EYXRhCQEIYXNTdHJpbmcBCQD8BwQFBHRoaXMCFWJ1eUFjY2Vzc0l0ZW1JbnRlcm5hbAkAzAgCBQphZGRyZXNzU3RyBQNuaWwFA25pbAMJAAACBQ5hY2Nlc3NJdGVtRGF0YQUOYWNjZXNzSXRlbURhdGEECGJ1cm5DYWxsCQD8BwQJAQ5nZXRCdXJuQWRkcmVzcwACFGJ1cm5BdHRhY2hlZFBheW1lbnRzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRFZ2dBc3NldElkAAgFCmVnZ1BheW1lbnQGYW1vdW50BQNuaWwDCQAAAgUIYnVybkNhbGwFCGJ1cm5DYWxsBAx2YWxpZFBheW1lbnQDCQAAAggFAWkGY2FsbGVyCQERZ2V0UmVudGluZ0FkZHJlc3MABQNuaWwJARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQkAkQMCCAUBaQhwYXltZW50cwABAwkAAAIFDHZhbGlkUGF5bWVudAUMdmFsaWRQYXltZW50CQCUCgIFDHZhbGlkUGF5bWVudAUOYWNjZXNzSXRlbURhdGEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQESYnV5QWNjZXNzSXRlbU90aGVyAQxhZGRyZXNzT3RoZXIECmVnZ1BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAMJAQIhPQIIBQplZ2dQYXltZW50B2Fzc2V0SWQJARRnZXRBY2Nlc3NJdGVtQXNzZXRJZAAJAAIBAhozQkFJOiBXcm9uZyBhc3NldCBhdHRhY2hlZAMJAQIhPQIIBQplZ2dQYXltZW50BmFtb3VudAkBEmdldEFjY2Vzc0l0ZW1QcmljZQAJAAIBAiUzQkFJOiBXcm9uZyBhbW91bnQgb2YgYXNzZXRzIGF0dGFjaGVkBA5hY2Nlc3NJdGVtRGF0YQkBCGFzU3RyaW5nAQkA/AcEBQR0aGlzAhVidXlBY2Nlc3NJdGVtSW50ZXJuYWwJAMwIAgUMYWRkcmVzc090aGVyBQNuaWwFA25pbAMJAAACBQ5hY2Nlc3NJdGVtRGF0YQUOYWNjZXNzSXRlbURhdGEECGJ1cm5DYWxsCQD8BwQJAQ5nZXRCdXJuQWRkcmVzcwACFGJ1cm5BdHRhY2hlZFBheW1lbnRzBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRFZ2dBc3NldElkAAgFCmVnZ1BheW1lbnQGYW1vdW50BQNuaWwDCQAAAgUIYnVybkNhbGwFCGJ1cm5DYWxsCQCUCgIFA25pbAUOYWNjZXNzSXRlbURhdGEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIbG9ja0R1Y2sABAphZGRyZXNzU3RyCQClCAEIBQFpDG9yaWdpbkNhbGxlcgQLZHVja1BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAQMdmFsaWRQYXltZW50CQEWY2hlY2tBZGRpdGlvbmFsUGF5bWVudAEJAJEDAggFAWkIcGF5bWVudHMAAQMJAAACBQx2YWxpZFBheW1lbnQFDHZhbGlkUGF5bWVudAkAzggCCQEQbG9ja0R1Y2tJbnRlcm5hbAMFCmFkZHJlc3NTdHIFCmFkZHJlc3NTdHIFC2R1Y2tQYXltZW50BQx2YWxpZFBheW1lbnQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEKaW5pdFVubG9jawEKYXNzZXRJZFN0cgQKYWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIEDHZhbGlkUGF5bWVudAkBFmNoZWNrQWRkaXRpb25hbFBheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAADCQAAAgUMdmFsaWRQYXltZW50BQx2YWxpZFBheW1lbnQJAM4IAgkBDmluaXRVbmxvY2tEdWNrAgUKYXNzZXRJZFN0cgUKYWRkcmVzc1N0cgUMdmFsaWRQYXltZW50CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD2xvY2tEdWNrUmVudGluZwEUYWRkcmVzc1Rha2VTcG90c0Zyb20DCQECIT0CCAUBaQZjYWxsZXIJARFnZXRSZW50aW5nQWRkcmVzcwAJAAIBAhMzVURPOiBSZW50aW5nIG9ubHkhBAphZGRyZXNzU3RyCQClCAEIBQFpBmNhbGxlcgQLZHVja1BheW1lbnQJAQV2YWx1ZQEJAJEDAggFAWkIcGF5bWVudHMAAAkBEGxvY2tEdWNrSW50ZXJuYWwDBQphZGRyZXNzU3RyBRRhZGRyZXNzVGFrZVNwb3RzRnJvbQULZHVja1BheW1lbnQBaQERdW5sb2NrRHVja1JlbnRpbmcCCmFzc2V0SWRTdHIPYWRkU3BvdHNUb3dhcmRzAwkBAiE9AggFAWkGY2FsbGVyCQERZ2V0UmVudGluZ0FkZHJlc3MACQACAQITM1VETzogUmVudGluZyBvbmx5IQQKYWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIJAQt1bnN0YWtlRHVjawMFCmFzc2V0SWRTdHIFCmFkZHJlc3NTdHIFD2FkZFNwb3RzVG93YXJkcwFpAQ91bmxvY2tEdWNrT3RoZXIBCmFzc2V0SWRTdHIDCQECIT0CCAUBaQZjYWxsZXIFBHRoaXMJAAIBAhEzVURPOiBBZG1pbiBvbmx5IQQIb3duZXJLZXkJAQx0cnlHZXRTdHJpbmcBCQEMa2V5RHVja093bmVyAQkA2QQBBQphc3NldElkU3RyCQELdW5zdGFrZUR1Y2sDBQphc3NldElkU3RyBQhvd25lcktleQUIb3duZXJLZXkBaQEKdW5sb2NrRHVjawQKYXNzZXRJZFN0cgJ0cwdhbGxvd2VkCXNpZ25hdHVyZQMJAQIhPQIFB2FsbG93ZWQGCQACAQIkM1VEOiBOb3QgYWxsb3dlZCB0byB1bmxvY2sgdGhlIGR1Y2shBAhNU0lOSE9VUgCA3dsBBAljdXJyZW50VHMIBQlsYXN0QmxvY2sJdGltZXN0YW1wAwkAZgIFCWN1cnJlbnRUcwkAZAIFAnRzBQhNU0lOSE9VUgkAAgECGDNVRDogT3V0ZGF0ZWQgc2lnbmF0dXJlIQQKYWRkcmVzc1N0cgkApQgBCAUBaQZjYWxsZXIEBHRleHQJALkJAgkAzAgCBQphc3NldElkU3RyCQDMCAIJAKQDAQUCdHMJAMwIAgkApQMBBQdhbGxvd2VkBQNuaWwCATsDCQEBIQEJAMQTAwkAmwMBBQR0ZXh0CQDZBAEFCXNpZ25hdHVyZQkBEGdldEJhY2tlbmRQdWJLZXkACQACAQkArAICCQCsAgIJAKwCAgIjM1VEOiBJbnZhbGlkIHByb29mIGZyb20gYmFja2VuZCBrZXkJANgEAQkBEGdldEJhY2tlbmRQdWJLZXkAAgEgBQR0ZXh0BAx2YWxpZFBheW1lbnQJARZjaGVja0FkZGl0aW9uYWxQYXltZW50AQkAkQMCCAUBaQhwYXltZW50cwAAAwkAAAIFDHZhbGlkUGF5bWVudAUMdmFsaWRQYXltZW50CQDOCAIJAQt1bnN0YWtlRHVjawMFCmFzc2V0SWRTdHIFCmFkZHJlc3NTdHIFCmFkZHJlc3NTdHIFDHZhbGlkUGF5bWVudAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgA+YhOg", "height": 3316719, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: 3GKwvh5zpe41p2XPgkGaCDGvDvZdGqTy2ASvNZhe6oNy Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 6 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+func a (b) = {
5+ let c = getInteger(this, b)
6+ if ($isInstanceOf(c, "Int"))
7+ then {
8+ let d = c
9+ d
10+ }
11+ else 0
12+ }
13+
14+
15+func e (f) = (("duck_" + toBase58String(f)) + "_unlockTime")
16+
17+
18+func g (f) = (("duck_" + toBase58String(f)) + "finish_unlockTime")
19+
20+
21+func h (f) = (("duck_" + toBase58String(f)) + "_owner")
22+
23+
24+func i (j) = (("address_" + j) + "_spotsBought")
25+
26+
27+func k (j) = (("address_" + j) + "_spotsBusy")
28+
29+
30+func l (j,m) = (((("address_" + j) + "_lockedDuck_") + m) + "_status")
31+
32+
33+func n (j,m) = (((("address_" + j) + "_lockedDuck_") + m) + "_v2")
34+
35+
36+func o (f) = {
37+ let p = value(value(assetInfo(f)).name)
38+ let q = split(p, "")
39+ let r = (q[(size(q) - 2)] == "J")
40+ let s = if (r)
41+ then "B"
42+ else q[(size(q) - 1)]
43+ $Tuple2(s, r)
44+ }
45+
46+
47+func t (u,b) = {
48+ let c = getString(u, b)
49+ if ($isInstanceOf(c, "String"))
50+ then {
51+ let v = c
52+ v
53+ }
54+ else ""
55+ }
56+
57+
58+func w (b) = {
59+ let c = getBoolean(b)
60+ if ($isInstanceOf(c, "Boolean"))
61+ then {
62+ let d = c
63+ d
64+ }
65+ else false
66+ }
67+
68+
69+func x (b) = t(this, b)
70+
71+
72+func y () = "static_oracleAddress"
73+
74+
75+func z () = "static_eggAssetId"
76+
77+
78+func A () = "static_incubatorAddress"
79+
80+
81+func B () = "static_breederAddress"
82+
83+
84+func C () = "static_farmingAddress"
85+
86+
87+func D () = "static_rentingAddress"
88+
89+
90+func E () = "static_shortGameName"
91+
92+
93+func F () = "static_longGameName"
94+
95+
96+func G () = "static_nftName"
97+
98+
99+func H () = "static_backendPubKey"
100+
101+
102+func I () = "static_accessItemAssetId"
103+
104+
105+func J () = "static_accessItemPrice"
106+
107+
108+func K () = "static_minLockDuration"
109+
110+
111+func L () = "static_UnlockDuration"
112+
113+
114+func M () = "static_boosterBuyAssetId"
115+
116+
117+func N () = "static_extraFee"
118+
119+
120+func O () = "static_feeAggregator"
121+
122+
123+func P (Q) = ("static_boosterPriceLevel_" + Q)
124+
125+
126+func R (Q) = ("static_boosterName_" + Q)
127+
128+
129+func S () = "static_burnAddress"
130+
131+
132+func T () = Address(fromBase58String(x(y())))
133+
134+
135+func U () = valueOrErrorMessage(getString(E()), "3GGN: There is no game name defined!")
136+
137+
138+func V () = valueOrErrorMessage(getString(F()), "3GLGN: There is no long game name defined!")
139+
140+
141+func W () = valueOrErrorMessage(getString(G()), "3GNN: There is no nft name defined!")
142+
143+
144+func X () = Address(fromBase58String(t(T(), A())))
145+
146+
147+func Y () = Address(fromBase58String(t(T(), B())))
148+
149+
150+func Z () = Address(fromBase58String(t(T(), D())))
151+
152+
153+func aa () = Address(fromBase58String(t(T(), C())))
154+
155+
156+func ab () = fromBase58String(t(T(), z()))
157+
158+
159+func ac () = fromBase58String(t(T(), H()))
160+
161+
162+func ad () = Address(fromBase58String(t(T(), O())))
163+
164+
165+func ae () = Address(fromBase58String(t(T(), S())))
166+
167+
168+func af () = fromBase58String(x(I()))
169+
170+
171+func ag () = a(J())
172+
173+
174+func ah () = a(K())
175+
176+
177+func ai () = a(L())
178+
179+
180+func aj () = fromBase58String(x(M()))
181+
182+
183+func ak (Q) = valueOrErrorMessage(getInteger(P(toString(Q))), "3GBPFL: There is no price value for this level of booster")
184+
185+
186+func al (Q) = valueOrErrorMessage(getString(R(toString(Q))), "3GBNFL: There is no such booster")
187+
188+
189+func am (an) = if (isDefined(an.assetId))
190+ then throw("RCAP: Please attach waves")
191+ else {
192+ let ao = getIntegerValue(T(), N())
193+ if ((an.amount != ao))
194+ then throw((("RCAP: Please attach exactly " + toString(ao)) + " amount of wavelets"))
195+ else [ScriptTransfer(ad(), ao, unit)]
196+ }
197+
198+
199+func ap (aq) = {
200+ let c = aq
201+ if ($isInstanceOf(c, "String"))
202+ then {
203+ let ar = c
204+ ar
205+ }
206+ else throw("3AS: wrong type, expected: String")
207+ }
208+
209+
210+func as (j,at,au) = {
211+ let f = value(au.assetId)
212+ let av = value(assetInfo(f)).issuer
213+ let aw = o(f)
214+ let s = aw._1
215+ let r = aw._2
216+ let ax = k(at)
217+ let ay = a(ax)
218+ let az = i(at)
219+ let aA = (a(az) - ay)
220+ if ((au.amount != 1))
221+ then throw("NFT is not attached")
222+ else if (if ((av != X()))
223+ then (av != Y())
224+ else false)
225+ then throw("ivalid NFT attached")
226+ else if ((0 >= aA))
227+ then throw(("No spots available in hunt for: " + at))
228+ else {
229+ let aB = ((("address_" + toString(this)) + "_perchesAvailable_") + s)
230+ let aC = {
231+ let c = getInteger(aa(), aB)
232+ if ($isInstanceOf(c, "Int"))
233+ then {
234+ let d = c
235+ d
236+ }
237+ else 0
238+ }
239+ if ((aC == aC))
240+ then {
241+ let aD = ab()
242+[IntegerEntry(ax, (ay + 1)), StringEntry(h(f), j), BooleanEntry(l(j, toBase58String(f)), true), IntegerEntry(e(f), (lastBlock.timestamp + ah())), BooleanEntry(n(j, toBase58String(f)), true)]
243+ }
244+ else throw("Strict value is not equal to itself.")
245+ }
246+ }
247+
248+
249+func aE (m,j) = {
250+ let f = fromBase58String(m)
251+ let aw = o(f)
252+ let s = aw._1
253+ let r = aw._2
254+ let ax = k(j)
255+ let aF = h(f)
256+ let aG = (a(e(f)) - lastBlock.timestamp)
257+ if ((x(aF) != j))
258+ then throw("3IULD: The duck is not yours")
259+ else if ((aG > 0))
260+ then throw((("3IUL: You need to wait to unlock " + toString((aG / 1000))) + " seconds"))
261+ else [IntegerEntry(g(f), (lastBlock.timestamp + ai()))]
262+ }
263+
264+
265+func aH (m,j,aI) = {
266+ let f = fromBase58String(m)
267+ let aw = o(f)
268+ let s = aw._1
269+ let r = aw._2
270+ let ax = k(aI)
271+ let aF = h(f)
272+ let aG = (a(g(f)) - lastBlock.timestamp)
273+ if ((x(aF) != j))
274+ then throw("3UD: The duck is not yours")
275+ else if ((aG > 0))
276+ then throw((("3UD: You need to wait to unlock " + toString((aG / 1000))) + " seconds"))
277+ else [ScriptTransfer(Address(fromBase58String(j)), 1, f), DeleteEntry(l(j, m)), DeleteEntry(aF), IntegerEntry(ax, (a(ax) - 1))]
278+ }
279+
280+
281+@Callable(aJ)
282+func buyAccessItemInternal (j) = if ((aJ.caller != this))
283+ then throw("3BAII: internal use only")
284+ else {
285+ let aK = Issue(("ACCESS-" + U()), ((("[Access] " + V()) + " access NFT for ") + W()), 1, 0, false)
286+ let aL = toBase58String(calculateAssetId(aK))
287+ let az = i(j)
288+ $Tuple2([aK, StringEntry((("accessItem_" + aL) + "_owner"), j), StringEntry((("address_" + j) + "_owning"), aL), IntegerEntry(az, (a(az) + 1))], aL)
289+ }
290+
291+
292+
293+@Callable(aJ)
294+func configureOracle (aM,aN,aO,aP) = if ((aJ.caller != this))
295+ then throw("3CO: admin only")
296+ else [StringEntry("static_oracleAddress", aM), StringEntry("static_shortGameName", aN), StringEntry("static_longGameName", aO), StringEntry("static_nftName", aP)]
297+
298+
299+
300+@Callable(aJ)
301+func deleteSetting (b) = if ((aJ.caller != this))
302+ then throw("3DS: Only administrator can call this method")
303+ else [DeleteEntry(b)]
304+
305+
306+
307+@Callable(aJ)
308+func buyAccessItemAndLockDuck () = {
309+ let aQ = value(aJ.payments[0])
310+ let aR = value(aJ.payments[1])
311+ let j = toString(aJ.originCaller)
312+ if ((aQ.assetId != af()))
313+ then throw("3BAI: Wrong asset attached")
314+ else if ((aQ.amount != ag()))
315+ then throw("3BAI: Wrong amount of assets attached")
316+ else {
317+ let aS = ap(invoke(this, "buyAccessItemInternal", [j], nil))
318+ if ((aS == aS))
319+ then {
320+ let aT = invoke(ae(), "burnAttachedPayments", nil, [AttachedPayment(ab(), aQ.amount)])
321+ if ((aT == aT))
322+ then {
323+ let aU = if ((aJ.caller == Z()))
324+ then nil
325+ else am(aJ.payments[2])
326+ if ((aU == aU))
327+ then {
328+ let aV = (as(j, j, aR) ++ aU)
329+ $Tuple2(aV, aS)
330+ }
331+ else throw("Strict value is not equal to itself.")
332+ }
333+ else throw("Strict value is not equal to itself.")
334+ }
335+ else throw("Strict value is not equal to itself.")
336+ }
337+ }
338+
339+
340+
341+@Callable(aJ)
342+func buyAccessItem () = {
343+ let j = toString(aJ.originCaller)
344+ let aQ = value(aJ.payments[0])
345+ if ((aQ.assetId != af()))
346+ then throw(("3BAI: Wrong asset attached " + toBase58String(af())))
347+ else if ((aQ.amount != ag()))
348+ then throw("3BAI: Wrong amount of assets attached")
349+ else {
350+ let aS = ap(invoke(this, "buyAccessItemInternal", [j], nil))
351+ if ((aS == aS))
352+ then {
353+ let aT = invoke(ae(), "burnAttachedPayments", nil, [AttachedPayment(ab(), aQ.amount)])
354+ if ((aT == aT))
355+ then {
356+ let aU = if ((aJ.caller == Z()))
357+ then nil
358+ else am(aJ.payments[1])
359+ if ((aU == aU))
360+ then $Tuple2(aU, aS)
361+ else throw("Strict value is not equal to itself.")
362+ }
363+ else throw("Strict value is not equal to itself.")
364+ }
365+ else throw("Strict value is not equal to itself.")
366+ }
367+ }
368+
369+
370+
371+@Callable(aJ)
372+func buyAccessItemOther (aW) = {
373+ let aQ = value(aJ.payments[0])
374+ if ((aQ.assetId != af()))
375+ then throw("3BAI: Wrong asset attached")
376+ else if ((aQ.amount != ag()))
377+ then throw("3BAI: Wrong amount of assets attached")
378+ else {
379+ let aS = ap(invoke(this, "buyAccessItemInternal", [aW], nil))
380+ if ((aS == aS))
381+ then {
382+ let aT = invoke(ae(), "burnAttachedPayments", nil, [AttachedPayment(ab(), aQ.amount)])
383+ if ((aT == aT))
384+ then $Tuple2(nil, aS)
385+ else throw("Strict value is not equal to itself.")
386+ }
387+ else throw("Strict value is not equal to itself.")
388+ }
389+ }
390+
391+
392+
393+@Callable(aJ)
394+func lockDuck () = {
395+ let j = toString(aJ.originCaller)
396+ let aR = value(aJ.payments[0])
397+ let aU = am(aJ.payments[1])
398+ if ((aU == aU))
399+ then (as(j, j, aR) ++ aU)
400+ else throw("Strict value is not equal to itself.")
401+ }
402+
403+
404+
405+@Callable(aJ)
406+func initUnlock (m) = {
407+ let j = toString(aJ.caller)
408+ let aU = am(aJ.payments[0])
409+ if ((aU == aU))
410+ then (aE(m, j) ++ aU)
411+ else throw("Strict value is not equal to itself.")
412+ }
413+
414+
415+
416+@Callable(aJ)
417+func lockDuckRenting (aX) = if ((aJ.caller != Z()))
418+ then throw("3UDO: Renting only!")
419+ else {
420+ let j = toString(aJ.caller)
421+ let aR = value(aJ.payments[0])
422+ as(j, aX, aR)
423+ }
424+
425+
426+
427+@Callable(aJ)
428+func unlockDuckRenting (m,aI) = if ((aJ.caller != Z()))
429+ then throw("3UDO: Renting only!")
430+ else {
431+ let j = toString(aJ.caller)
432+ aH(m, j, aI)
433+ }
434+
435+
436+
437+@Callable(aJ)
438+func unlockDuckOther (m) = if ((aJ.caller != this))
439+ then throw("3UDO: Admin only!")
440+ else {
441+ let aY = x(h(fromBase58String(m)))
442+ aH(m, aY, aY)
443+ }
444+
445+
446+
447+@Callable(aJ)
448+func unlockDuck (m,aZ,ba,bb) = if ((ba != true))
449+ then throw("3UD: Not allowed to unlock the duck!")
450+ else {
451+ let bc = 3600000
452+ let bd = lastBlock.timestamp
453+ if ((bd > (aZ + bc)))
454+ then throw("3UD: Outdated signature!")
455+ else {
456+ let j = toString(aJ.caller)
457+ let be = makeString([m, toString(aZ), toString(ba)], ";")
458+ if (!(sigVerify_8Kb(toBytes(be), fromBase58String(bb), ac())))
459+ then throw(((("3UD: Invalid proof from backend key" + toBase58String(ac())) + " ") + be))
460+ else {
461+ let aU = am(aJ.payments[0])
462+ if ((aU == aU))
463+ then (aH(m, j, j) ++ aU)
464+ else throw("Strict value is not equal to itself.")
465+ }
466+ }
467+ }
468+
469+

github/deemru/w8io/c3f4982 
23.44 ms