tx · JACMyrqpWwzWzpeSAh5Ui73RRnR4JiP9otetTkVE3qzu

3N9Va1p9rXQcerF47J5Euf3qekbnascvvV3:  -0.01900000 Waves

2022.09.15 11:31 [2229971] smart account 3N9Va1p9rXQcerF47J5Euf3qekbnascvvV3 > SELF 0.00000000 Waves

{ "type": 13, "id": "JACMyrqpWwzWzpeSAh5Ui73RRnR4JiP9otetTkVE3qzu", "fee": 1900000, "feeAssetId": null, "timestamp": 1663230690042, "version": 2, "chainId": 84, "sender": "3N9Va1p9rXQcerF47J5Euf3qekbnascvvV3", "senderPublicKey": "DN6GkmVYEAGVKgHugczh1uWUcZJRCevjM4Lmxx1jkAiL", "proofs": [ "3YaZpXEeiL7nzpx1kLzXBobNRshQdJcpk9A67bxpsYEEFakyjeV6gc4UfH8NasrW7nhERQcqWPfCU7tSarSVsAiB" ], "script": "base64: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AgUAAAAIRGVjaW1hbHMFAAAACEluZGV4T3V0BQAAAAVGTE9PUgkAAZEAAAACBQAAAAZTY2FsZXMFAAAACEluZGV4T3V0BQAAAARET1dOAQAAAB1jYWxjdWxhdGVDdXJyZW50QXNzZXRJbnRlcmVzdAAAAAQAAAAHYXNzZXRJZAAAAAphc3NldElkU3RyAAAACGFCYWxhbmNlAAAAFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sEAAAAC3RvdGFsU3Rha2VkCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAEmdsb2JhbF9pbmRleFN0YWtlZAQAAAAVdG9rZW5CYWxhbmNlTGFzdENoZWNrBQAAABZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrBAAAABNjdXJyZW50QmFsYW5jZURlbHRhCQAAZQAAAAIJAAPwAAAAAgUAAAAEdGhpcwUAAAAHYXNzZXRJZAUAAAAIYUJhbGFuY2UEAAAAFGN1cnJlbnRUb2tlbkVhcm5pbmdzAwkAAGYAAAACBQAAABNjdXJyZW50QmFsYW5jZURlbHRhBQAAABV0b2tlbkJhbGFuY2VMYXN0Q2hlY2sFAAAAE2N1cnJlbnRCYWxhbmNlRGVsdGEFAAAAFXRva2VuQmFsYW5jZUxhc3RDaGVjawQAAAALbmV3RWFybmluZ3MJAABlAAAAAgUAAAAUY3VycmVudFRva2VuRWFybmluZ3MFAAAAFXRva2VuQmFsYW5jZUxhc3RDaGVjawQAAAALbmV3SW50ZXJlc3QDCQAAAAAAAAIFAAAAC3RvdGFsU3Rha2VkAAAAAAAAAAAAAAAAAAAAAAAACQAAawAAAAMFAAAAC25ld0Vhcm5pbmdzBQAAAAZTY2FsZTgFAAAAC3RvdGFsU3Rha2VkBAAAABFsYXN0Q2hlY2tJbnRlcmVzdAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAARZ2xvYmFsX2xhc3RDaGVja18FAAAACmFzc2V0SWRTdHICAAAACV9pbnRlcmVzdAkAAGQAAAACBQAAABFsYXN0Q2hlY2tJbnRlcmVzdAUAAAALbmV3SW50ZXJlc3QBAAAAC2NsYWltUmVzdWx0AAAAAgAAAAdhZGRyZXNzAAAACGFkZHJlc3MyBAAAAAphZGRyZXNzU3RyCQAEJQAAAAEFAAAAB2FkZHJlc3MEAAAADHB1enpsZUFtb3VudAkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAADF9pbmRleFN0YWtlZAoBAAAAB2hhbmRsZXIAAAACAAAABWFjY3VtAAAAB2Fzc2V0SWQEAAAACmFzc2V0SWRTdHIJAAJYAAAAAQUAAAAHYXNzZXRJZAQAAAAIYUJhbGFuY2UJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAB2dsb2JhbF8JAAJYAAAAAQUAAAAHYXNzZXRJZAIAAAAIX2JhbGFuY2UEAAAAFnRva2VuRWFybmluZ3NMYXN0Q2hlY2sJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQkAASwAAAACCQABLAAAAAICAAAAEWdsb2JhbF9sYXN0Q2hlY2tfBQAAAAphc3NldElkU3RyAgAAAAlfZWFybmluZ3MEAAAAFGN1cnJlbnRUb2tlbkludGVyZXN0CQEAAAAdY2FsY3VsYXRlQ3VycmVudEFzc2V0SW50ZXJlc3QAAAAEBQAAAAdhc3NldElkBQAAAAphc3NldElkU3RyBQAAAAhhQmFsYW5jZQUAAAAWdG9rZW5FYXJuaW5nc0xhc3RDaGVjawQAAAAUY3VycmVudFRva2VuRWFybmluZ3MJAAGWAAAAAQkABEwAAAACBQAAABZ0b2tlbkVhcm5pbmdzTGFzdENoZWNrCQAETAAAAAIJAABlAAAAAgkAA/AAAAACBQAAAAR0aGlzBQAAAAdhc3NldElkBQAAAAhhQmFsYW5jZQUAAAADbmlsBAAAAAxyZXdhcmRBbW91bnQJAABrAAAAAwUAAAAMcHV6emxlQW1vdW50CQAAZQAAAAIFAAAAFGN1cnJlbnRUb2tlbkludGVyZXN0CQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAAC19sYXN0Q2hlY2tfBQAAAAphc3NldElkU3RyAgAAAAlfaW50ZXJlc3QFAAAABlNjYWxlOAQAAAAIdHJhbnNmZXIDCQAAAAAAAAIFAAAADHJld2FyZEFtb3VudAAAAAAAAAAAAAUAAAAD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R2V0SW50ZWdlcgAAAAECAAAAEGdsb2JhbF93YXNJbml0ZWQAAAAAAAAAAAAJAAACAAAAAQIAAAATcG9vbCBhbHJlYWR5IGluaXRlZAQAAAARaW5pdGlhbFBvb2xUb2tlbnMJAQAAABljYWxjdWxhdGVQb29sVG9rZW5zQW1vdW50AAAAAQgFAAAAAWkAAAAIcGF5bWVudHMEAAAADnBvb2xUb2tlbklzc3VlCQAEQwAAAAcCAAAAAlBUAgAAAApQb29sIFRva2VuBQAAABFpbml0aWFsUG9vbFRva2VucwUAAAARUG9vbFRva2VuRGVjaW1hbHMGBQAAAAR1bml0AAAAAAAAAAAABAAAAAtwb29sVG9rZW5JZAkABDgAAAABBQAAAA5wb29sVG9rZW5Jc3N1ZQkABE4AAAACCQEAAAALcHJlcGFyZUxpc3QAAAAACQAETAAAAAIFAAAADnBvb2xUb2tlbklzc3VlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAUAAAARaW5pdGlhbFBvb2xUb2tlbnMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAAEGdsb2JhbF93YXNJbml0ZWQAAAAAAAAAAAEJAARMAAAAAgkBAAAAC0JpbmFyeUVudHJ5AAAAAgIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAUAAAALcG9vbFRva2VuSWQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAABFpbml0aWFsUG9vbFRva2VucwUAAAALcG9vbFRva2VuSWQFAAAAA25pbAAAAAFpAQAAAA1nZW5lcmF0ZUluZGV4AAAAAAMJAQAAAAIhPQAAAAIJAAGQAAAAAQgFAAAAAWkAAAAIcGF5bWVudHMFAAAAAVQJAAACAAAAAQkAASwAAAACAgAAADt5b3UgbmVlZCB0byBhdHRhY2ggYWxsIHBvb2wgdG9rZW5zLiBhbW91bnQgb2YgcG9vbCB0b2tlbnM6IAkAAaQAAAABBQAAAAFUAwkBAAAAASEAAAABCQEAAAATY2hlY2tUb2tlbnNWYWxpZGl0eQAAAAEIBQAAAAFpAAAACHBheW1lbnRzCQAAAgAAAAECAAAAFXdyb25nIGFzc2V0cyBhdHRhY2hlZAQAAAAHUElzc3VlZAkBAAAADWdldE1pblBJc3N1ZWQAAAABCAUAAAABaQAAAAhwYXltZW50cwQAAAAHcmVpc3N1ZQkBAAAAB1JlaXNzdWUAAAADCQEAAAARQGV4dHJOYXRpdmUoMTA1NykAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkBQAAAAdQSXNzdWVkBgQAAAAGcmVzdWx0CQEAAAATaGFuZGxlUG9vbFRva2Vuc0FkZAAAAAMFAAAAB1BJc3N1ZWQIBQAAAAFpAAAACHBheW1lbnRzCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIJAAUUAAAAAgkABE4AAAACBQAAAAZyZXN1bHQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAdQSXNzdWVkCQEAAAAMdHJ5R2V0QmluYXJ5AAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAkABEwAAAACBQAAAAdyZWlzc3VlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50BQAAAAdQSXNzdWVkBQAAAANuaWwFAAAAB1BJc3N1ZWQAAAABaQEAAAAKc3Rha2VJbmRleAAAAAAEAAAACmFkZHJlc3NTdHIJAAQlAAAAAQgFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyBAAAAANwbXQJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAADCQEAAAACIT0AAAACCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQJAQAAAAx0cnlHZXRCaW5hcnkAAAABAgAAABNnbG9iYWxfcG9vbFRva2VuX2lkCQAAAgAAAAECAAAAFHdyb25nIGFzc2V0IGF0dGFjaGVkCQEAAAAQaW5kZXhTdGFrZVJlc3VsdAAAAAIFAAAACmFkZHJlc3NTdHIIBQAAAANwbXQAAAAGYW1vdW50AAAAAWkBAAAADHVuc3Rha2VJbmRleAAAAAEAAAAMcHV6emxlQW1vdW50BAAAAAphZGRyZXNzU3RyCQAEJQAAAAEIBQAAAAFpAAAADG9yaWdpbkNhbGxlcgQAAAAPcHV6emxlQXZhaWxhYmxlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgUAAAAKYWRkcmVzc1N0cgIAAAAMX2luZGV4U3Rha2VkAwkAAGYAAAACBQAAAAxwdXp6bGVBbW91bnQFAAAAD3B1enpsZUF2YWlsYWJsZQkAAAIAAAABAgAAACV5b3UgZG9uJ3QgaGF2ZSBpbmRleCB0b2tlbnMgYXZhaWxhYmxlCQAETgAAAAIJAQAAAAtjbGFpbVJlc3VsdAAAAAIIBQAAAAFpAAAADG9yaWdpbkNhbGxlcggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAADF9pbmRleFN0YWtlZAkAAGUAAAACBQAAAA9wdXp6bGVBdmFpbGFibGUFAAAADHB1enpsZUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAASZ2xvYmFsX2luZGV4U3Rha2VkCQAAZQAAAAIJAQAAAA10cnlHZXRJbnRlZ2VyAAAAAQIAAAASZ2xvYmFsX2luZGV4U3Rha2VkBQAAAAxwdXp6bGVBbW91bnQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwgFAAAAAWkAAAAGY2FsbGVyBQAAAAxwdXp6bGVBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDU3KQAAAAECAAAAE2dsb2JhbF9wb29sVG9rZW5faWQFAAAAA25pbAAAAAFpAQAAABFjbGFpbUluZGV4UmV3YXJkcwAAAAAJAQAAAAtjbGFpbVJlc3VsdAAAAAIIBQAAAAFpAAAABmNhbGxlcggFAAAAAWkAAAAGY2FsbGVyAAAAAWkBAAAAC3JlZGVlbUluZGV4AAAAAQAAAAxzZW5kVG9PcmlnaW4EAAAAA3BtdAkAAZEAAAACCAUAAAABaQAAAAhwYXltZW50cwAAAAAAAAAAAAMJAQAAAAIhPQAAAAIIBQAAAANwbXQAAAAHYXNzZXRJZAkBAAAADHRyeUdldEJpbmFyeQAAAAECAAAAE2dsb2JhbF9wb29sVG9rZW5faWQJAAACAAAAAQIAAAAecGxlYXNlIGF0dGFjaCBwb29sIHNoYXJlIHRva2VuBAAAAAlQUmVkZWVtZWQIBQAAAANwbXQAAAAGYW1vdW50BAAAAAZyZXN1bHQJAQAAABZoYW5kbGVQb29sVG9rZW5zUmVkZWVtAAAAAgUAAAAJUFJlZGVlbWVkAwUAAAAMc2VuZFRvT3JpZ2luCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIIBQAAAAFpAAAABmNhbGxlcgkABE4AAAACBQAAAAZyZXN1bHQJAARMAAAAAgkBAAAABEJ1cm4AAAACCQEAAAAMdHJ5R2V0QmluYXJ5AAAAAQIAAAATZ2xvYmFsX3Bvb2xUb2tlbl9pZAUAAAAJUFJlZGVlbWVkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAkAAGUAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAAF2dsb2JhbF9wb29sVG9rZW5fYW1vdW50BQAAAAlQUmVkZWVtZWQFAAAAA25pbAAAAAFpAQAAABV1bnN0YWtlQW5kUmVkZWVtSW5kZXgAAAABAAAADHB1enpsZUFtb3VudAQAAAAKYWRkcmVzc1N0cgkABCUAAAABCAUAAAABaQAAAAxvcmlnaW5DYWxsZXIEAAAAD3B1enpsZUF2YWlsYWJsZQkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIFAAAACmFkZHJlc3NTdHICAAAADF9pbmRleFN0YWtlZAMJAABmAAAAAgUAAAAMcHV6emxlQW1vdW50BQAAAA9wdXp6bGVBdmFpbGFibGUJAAACAAAAAQIAAAAleW91IGRvbid0IGhhdmUgaW5kZXggdG9rZW5zIGF2YWlsYWJsZQQAAAAIY2xhaW1SZXMJAAROAAAAAgkBAAAAC2NsYWltUmVzdWx0AAAAAggFAAAAAWkAAAAMb3JpZ2luQ2FsbGVyCAUAAAABaQAAAAZjYWxsZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAKYWRkcmVzc1N0cgIAAAAMX2luZGV4U3Rha2VkCQAAZQAAAAIFAAAAD3B1enpsZUF2YWlsYWJsZQUAAAAMcHV6emxlQW1vdW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAABJnbG9iYWxfaW5kZXhTdGFrZWQJAABlAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABJnbG9iYWxfaW5kZXhTdGFrZWQFAAAADHB1enpsZUFtb3VudAUAAAADbmlsBAAAAAZyZXN1bHQJAQAAABZoYW5kbGVQb29sVG9rZW5zUmVkZWVtAAAAAgUAAAAMcHV6emxlQW1vdW50CAUAAAABaQAAAAZjYWxsZXIJAAROAAAAAgkABE4AAAACBQAAAAhjbGFpbVJlcwUAAAAGcmVzdWx0CQAETAAAAAIJAQAAAARCdXJuAAAAAgkBAAAADHRyeUdldEJpbmFyeQAAAAECAAAAE2dsb2JhbF9wb29sVG9rZW5faWQFAAAADHB1enpsZUFtb3VudAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAXZ2xvYmFsX3Bvb2xUb2tlbl9hbW91bnQJAABlAAAAAgkBAAAADXRyeUdldEludGVnZXIAAAABAgAAABdnbG9iYWxfcG9vbFRva2VuX2Ftb3VudAUAAAAMcHV6emxlQW1vdW50BQAAAANuaWwAAAABaQEAAAAEc3dhcAAAAAIAAAAIYXNzZXRPdXQAAAAHbWluaW11bQQAAAADcG10CQEAAAAFdmFsdWUAAAABCQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAABAAAAAhBbW91bnRJbgkBAAAABXZhbHVlAAAAAQgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50BAAAAAdBc3NldEluCQEAAAAFdmFsdWUAAAABCAUAAAADcG10AAAAB2Fzc2V0SWQEAAAACEFzc2V0T3V0CQACWQAAAAEFAAAACGFzc2V0T3V0BAAAAA5Bc3NldEluQmFsYW5jZQkBAAAADXRyeUdldEludGVnZXIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAHZ2xvYmFsXwkAAlgAAAABBQAAAAdBc3NldEluAgAAAAhfYmFsYW5jZQQAAAAPQXNzZXRPdXRCYWxhbmNlCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAAdnbG9iYWxfBQAAAAhhc3NldE91dAIAAAAIX2JhbGFuY2UEAAAACUFtb3VudE91dAkBAAAAEmNhbGN1bGF0ZU91dEFtb3VudAAAAAUFAAAACEFtb3VudEluBQAAAAdBc3NldEluBQAAAAhBc3NldE91dAUAAAAOQXNzZXRJbkJhbGFuY2UFAAAAD0Fzc2V0T3V0QmFsYW5jZQQAAAAJZmVlQW1vdW50CQAAawAAAAMFAAAACUFtb3VudE91dAUAAAADRmVlBQAAAAhGZWVTY2FsZQQAAAARcHJvdG9jb2xGZWVBbW91bnQJAABrAAAAAwUAAAAJZmVlQW1vdW50AAAAAAAAAAAoAAAAAAAAAABkBAAAAA5jbGVhbkFtb3VudE91dAkAAGUAAAACBQAAAAlBbW91bnRPdXQFAAAACWZlZUFtb3VudAMJAABmAAAAAgUAAAAHbWluaW11bQUAAAAOY2xlYW5BbW91bnRPdXQJAAACAAAAAQkAASwAAAACAgAAACthbW91bnQgdG8gcmVjaWV2ZSBpcyBsb3dlciB0aGFuIGdpdmVuIG9uZTogCQABpAAAAAEFAAAADmNsZWFuQW1vdW50T3V0AwkAAGYAAAACAAAAAAAAACcQBQAAAAhBbW91bnRJbgkAAAIAAAABAgAAABxzdW0gdG8gZXhjaGFuZ2UgaXMgdG9vIHNtYWxsAwkAAGYAAAACAAAAAAAAAAAACQAAZQAAAAIFAAAAD0Fzc2V0T3V0QmFsYW5jZQUAAAAJQW1vdW50T3V0CQAAAgAAAAECAAAAG2NvbnRyYWN0IGlzIG91dCBvZiByZXNlcnZlcwQAAAAPcG10VG9BZ2dyZWdhdG9yAwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyBQAAAA1sYXllcjJBZGRyZXNzCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADWZlZUFnZ3JlZ2F0b3IFAAAAEXByb3RvY29sRmVlQW1vdW50BQAAAAhBc3NldE91dAUAAAADbmlsBQAAAANuaWwJAAUUAAAAAgkABE4AAAACBQAAAA9wbXRUb0FnZ3JlZ2F0b3IJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdnbG9iYWxfBQAAAAhhc3NldE91dAIAAAAIX2JhbGFuY2UJAABlAAAAAgUAAAAPQXNzZXRPdXRCYWxhbmNlBQAAAAlBbW91bnRPdXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdnbG9iYWxfCQACWAAAAAEFAAAAB0Fzc2V0SW4CAAAACF9iYWxhbmNlCQAAZAAAAAIFAAAADkFzc2V0SW5CYWxhbmNlBQAAAAhBbW91bnRJbgkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCAUAAAABaQAAAAZjYWxsZXIFAAAADmNsZWFuQW1vdW50T3V0BQAAAAhBc3NldE91dAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAANZ2xvYmFsX3ZvbHVtZQkAAGQAAAACCQEAAAANdHJ5R2V0SW50ZWdlcgAAAAECAAAADWdsb2JhbF92b2x1bWUJAQAAABJjYWxjdWxhdGVVc2RuVmFsdWUAAAADBQAAAAdBc3NldEluBQAAAAhBbW91bnRJbgUAAAAOQXNzZXRJbkJhbGFuY2UFAAAAA25pbAUAAAAOY2xlYW5BbW91bnRPdXQAAAAAsCwZQg==", "height": 2229971, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: JCvxN8em6PvXQqLks7hGFaVhG9vmvPMaN8D96mD8oG8v Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = 10
5+
6+let b = [base58'43W4FcqA1rEpSmUGHoGiXvpSLfhadws9LS5j3SJsKxxS', base58'CgidgEMbCKXXErgJXVyZCFRaK8SBNA73Jg8mNXALtVKh']
7+
8+let c = [50, 50]
9+
10+let d = 2
11+
12+let e = 0
13+
14+let f = [8, 8, 8, 8, 8, 8, 8, 8, 8, 6]
15+
16+let g = [100000000, 1000000]
17+
18+let h = 200
19+
20+let i = 10000
21+
22+let j = 100000000
23+
24+let k = 10000
25+
26+let l = Address(base58'3PBmAwjkwsM83KQhjSMNZvgdFeYeLz9tdBD')
27+
28+let m = Address(base58'3PDVDYZiwJzK3pu8vcknuLiKCYBPx6XZntG')
29+
30+let n = b
31+
32+func o (p) = {
33+ let q = getInteger(this, p)
34+ if ($isInstanceOf(q, "Int"))
35+ then {
36+ let r = q
37+ r
38+ }
39+ else 0
40+ }
41+
42+
43+func s (p) = {
44+ let q = getBinary(this, p)
45+ if ($isInstanceOf(q, "ByteVector"))
46+ then {
47+ let r = q
48+ r
49+ }
50+ else base58''
51+ }
52+
53+
54+func t (u) = {
55+ let v = toBase58String(b[u])
56+ o((("global_" + v) + "_balance"))
57+ }
58+
59+
60+func w (x,v) = {
61+ let y = o("global_poolToken_amount")
62+ let z = o((("global_" + toBase58String(v)) + "_balance"))
63+ fraction(x, y, z, DOWN)
64+ }
65+
66+
67+func A (B) = {
68+ func C (D,E) = {
69+ let F = w(E.amount, value(E.assetId))
70+ if (if ((D == 0))
71+ then true
72+ else (D > F))
73+ then F
74+ else D
75+ }
76+
77+ let G = {
78+ let H = B
79+ let I = size(H)
80+ let J = 0
81+ func K (L,M) = if ((M >= I))
82+ then L
83+ else C(L, H[M])
84+
85+ func N (L,M) = if ((M >= I))
86+ then L
87+ else throw("List size exceeds 2")
88+
89+ N(K(K(J, 0), 1), 2)
90+ }
91+ G
92+ }
93+
94+
95+func O (P,x,Q) = {
96+ let R = base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p'
97+ let S = value(indexOf(b, R))
98+ let T = c[S]
99+ let U = c[S]
100+ let V = o((("global_" + toBase58String(R)) + "_balance"))
101+ (fraction(x, V, T) / (Q / U))
102+ }
103+
104+
105+func W (B) = {
106+ func X (D,Y) = (D ++ [value(Y.assetId)])
107+
108+ let Z = {
109+ let H = B
110+ let I = size(H)
111+ let J = nil
112+ func K (L,M) = if ((M >= I))
113+ then L
114+ else X(L, H[M])
115+
116+ func N (L,M) = if ((M >= I))
117+ then L
118+ else throw("List size exceeds 2")
119+
120+ N(K(K(J, 0), 1), 2)
121+ }
122+ if ((Z == Z))
123+ then {
124+ func aa (D,P) = if ((indexOf(Z, P) != unit))
125+ then (D + 1)
126+ else throw(("asset not attached: " + toBase58String(P)))
127+
128+ let ab = {
129+ let H = b
130+ let I = size(H)
131+ let J = 0
132+ func ac (L,M) = if ((M >= I))
133+ then L
134+ else aa(L, H[M])
135+
136+ func ad (L,M) = if ((M >= I))
137+ then L
138+ else throw("List size exceeds 2")
139+
140+ ad(ac(ac(J, 0), 1), 2)
141+ }
142+ if ((ab == ab))
143+ then true
144+ else throw("Strict value is not equal to itself.")
145+ }
146+ else throw("Strict value is not equal to itself.")
147+ }
148+
149+
150+func ae (F,B,af) = {
151+ func ag (v) = {
152+ func C (D,Y) = if ((Y.assetId == v))
153+ then Y.amount
154+ else D
155+
156+ let H = B
157+ let I = size(H)
158+ let J = 0
159+ func K (L,M) = if ((M >= I))
160+ then L
161+ else C(L, H[M])
162+
163+ func N (L,M) = if ((M >= I))
164+ then L
165+ else throw("List size exceeds 2")
166+
167+ N(K(K(J, 0), 1), 2)
168+ }
169+
170+ func ah (D,v) = {
171+ let ai = o((("global_" + toBase58String(v)) + "_balance"))
172+ let aj = o("global_poolToken_amount")
173+ let ak = o((("static_" + toBase58String(v)) + "_scale"))
174+ let al = fraction((fraction((aj + F), ak, aj, DOWN) - ak), ai, ak, DOWN)
175+ let am = ag(v)
176+ let an = ((if ((am != 0))
177+ then am
178+ else 0) - al)
179+ (D ++ [IntegerEntry((("global_" + toBase58String(v)) + "_balance"), (ai + al)), ScriptTransfer(af, an, v)])
180+ }
181+
182+ let H = b
183+ let I = size(H)
184+ let J = nil
185+ func K (L,M) = if ((M >= I))
186+ then L
187+ else ah(L, H[M])
188+
189+ func N (L,M) = if ((M >= I))
190+ then L
191+ else throw("List size exceeds 2")
192+
193+ N(K(K(J, 0), 1), 2)
194+ }
195+
196+
197+func ao (ap,af) = {
198+ func aq (D,v) = {
199+ let ai = o((("global_" + toBase58String(v)) + "_balance"))
200+ let aj = o("global_poolToken_amount")
201+ let ak = o((("static_" + toBase58String(v)) + "_scale"))
202+ let x = fraction((ak - fraction((aj - ap), ak, aj, DOWN)), ai, ak, DOWN)
203+ (D ++ [IntegerEntry((("global_" + toBase58String(v)) + "_balance"), (ai - x)), ScriptTransfer(af, x, v)])
204+ }
205+
206+ let H = b
207+ let I = size(H)
208+ let J = nil
209+ func K (L,M) = if ((M >= I))
210+ then L
211+ else aq(L, H[M])
212+
213+ func N (L,M) = if ((M >= I))
214+ then L
215+ else throw("List size exceeds 2")
216+
217+ N(K(K(J, 0), 1), 2)
218+ }
219+
220+
221+func ar (as,at,au,av,aw) = {
222+ let ax = value(indexOf(b, at))
223+ let ay = value(indexOf(b, au))
224+ if ((ax == ay))
225+ then throw("invalid tokens pair")
226+ else fraction(aw, (g[ay] - pow(((av * g[ax]) / (av + as)), f[ax], fraction(c[ax], 10000, c[ay]), 4, f[ay], FLOOR)), g[ay], DOWN)
227+ }
228+
229+
230+func az (P,aA,Q,aB) = {
231+ let aC = o("global_indexStaked")
232+ let aD = aB
233+ let aE = (assetBalance(this, P) - Q)
234+ let aF = if ((aE > aD))
235+ then aE
236+ else aD
237+ let aG = (aF - aD)
238+ let aH = if ((aC == 0))
239+ then 0
240+ else fraction(aG, j, aC)
241+ let aI = o((("global_lastCheck_" + aA) + "_interest"))
242+ (aI + aH)
243+ }
244+
245+
246+func aJ (aK,aL) = {
247+ let aM = toString(aK)
248+ let aN = o((aM + "_indexStaked"))
249+ func C (D,P) = {
250+ let aA = toBase58String(P)
251+ let Q = o((("global_" + toBase58String(P)) + "_balance"))
252+ let aB = o((("global_lastCheck_" + aA) + "_earnings"))
253+ let aO = az(P, aA, Q, aB)
254+ let aF = max([aB, (assetBalance(this, P) - Q)])
255+ let aP = fraction(aN, (aO - o((((aM + "_lastCheck_") + aA) + "_interest"))), j)
256+ let aQ = if ((aP == 0))
257+ then nil
258+ else [ScriptTransfer(aL, aP, P)]
259+ $Tuple2(((D._1 ++ aQ) ++ [IntegerEntry((("global_lastCheck_" + aA) + "_earnings"), (aF - aP)), IntegerEntry((("global_lastCheck_" + aA) + "_interest"), aO), IntegerEntry((((aM + "_lastCheck_") + aA) + "_interest"), aO)]), (D._2 + O(P, aP, Q)))
260+ }
261+
262+ let D = {
263+ let H = n
264+ let I = size(H)
265+ let J = $Tuple2(nil, 0)
266+ func K (L,M) = if ((M >= I))
267+ then L
268+ else C(L, H[M])
269+
270+ func N (L,M) = if ((M >= I))
271+ then L
272+ else throw("List size exceeds 2")
273+
274+ N(K(K(J, 0), 1), 2)
275+ }
276+ (D._1 ++ [IntegerEntry((aM + "_claimedRewardValue"), (o((aM + "_claimedRewardValue")) + D._2)), IntegerEntry((aM + "_lastClaim"), lastBlock.timestamp)])
277+ }
278+
279+
280+func aR (aM,x) = {
281+ let aK = addressFromStringValue(aM)
282+ let aS = aJ(aK, aK)
283+ (aS ++ [IntegerEntry((aM + "_indexStaked"), (o((aM + "_indexStaked")) + x)), IntegerEntry("global_indexStaked", (o("global_indexStaked") + x))])
284+ }
285+
286+
287+@Callable(aT)
288+func preInit () = {
289+ func C (D,aU) = if ((aU >= a))
290+ then D
291+ else (D ++ [IntegerEntry((("static_" + toBase58String(b[0])) + "_scale"), g[aU]), IntegerEntry((("static_" + toBase58String(b[0])) + "_weight"), c[aU])])
292+
293+ let H = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
294+ let I = size(H)
295+ let J = nil
296+ func K (L,M) = if ((M >= I))
297+ then L
298+ else C(L, H[M])
299+
300+ func N (L,M) = if ((M >= I))
301+ then L
302+ else throw("List size exceeds 2")
303+
304+ N(K(K(J, 0), 1), 2)
305+ }
306+
307+
308+
309+@Callable(aT)
310+func deInit () = if ((aT.caller != this))
311+ then throw("admin only")
312+ else [IntegerEntry("global_wasInited", 0)]
313+
314+
315+
316+@Callable(aT)
317+func init () = {
318+ func aV () = {
319+ func C (D,aW) = (D ++ [IntegerEntry((("global_" + toBase58String(value(aW.assetId))) + "_balance"), aW.amount)])
320+
321+ let H = aT.payments
322+ let I = size(H)
323+ let J = nil
324+ func K (L,M) = if ((M >= I))
325+ then L
326+ else C(L, H[M])
327+
328+ func N (L,M) = if ((M >= I))
329+ then L
330+ else throw("List size exceeds 2")
331+
332+ N(K(K(J, 0), 1), 2)
333+ }
334+
335+ func aX (B) = {
336+ func C (D,aY) = {
337+ let P = value(aY.assetId)
338+ func aa (D,aW) = if ((aW == P))
339+ then value(indexOf(b, aW))
340+ else D
341+
342+ let aZ = {
343+ let H = b
344+ let I = size(H)
345+ let J = 1
346+ func K (L,M) = if ((M >= I))
347+ then L
348+ else aa(L, H[M])
349+
350+ func N (L,M) = if ((M >= I))
351+ then L
352+ else throw("List size exceeds 2")
353+
354+ N(K(K(J, 0), 1), 2)
355+ }
356+ (D * pow(aY.amount, f[aZ], c[aZ], d, 1, FLOOR))
357+ }
358+
359+ let H = B
360+ let I = size(H)
361+ let J = 1
362+ func K (L,M) = if ((M >= I))
363+ then L
364+ else C(L, H[M])
365+
366+ func N (L,M) = if ((M >= I))
367+ then L
368+ else throw("List size exceeds 2")
369+
370+ N(K(K(J, 0), 1), 2)
371+ }
372+
373+ if ((o("global_wasInited") > 0))
374+ then throw("pool already inited")
375+ else {
376+ let ba = aX(aT.payments)
377+ let bb = Issue("PT", "Pool Token", ba, e, true, unit, 0)
378+ let bc = calculateAssetId(bb)
379+ (aV() ++ [bb, IntegerEntry("global_poolToken_amount", ba), IntegerEntry("global_wasInited", 1), BinaryEntry("global_poolToken_id", bc), ScriptTransfer(aT.caller, ba, bc)])
380+ }
381+ }
382+
383+
384+
385+@Callable(aT)
386+func generateIndex () = if ((size(aT.payments) != a))
387+ then throw(("you need to attach all pool tokens. amount of pool tokens: " + toString(a)))
388+ else if (!(W(aT.payments)))
389+ then throw("wrong assets attached")
390+ else {
391+ let F = A(aT.payments)
392+ let bd = Reissue(getBinaryValue("global_poolToken_id"), F, true)
393+ let be = ae(F, aT.payments, aT.originCaller)
394+ $Tuple2((be ++ [ScriptTransfer(aT.caller, F, s("global_poolToken_id")), bd, IntegerEntry("global_poolToken_amount", (o("global_poolToken_amount") + F))]), F)
395+ }
396+
397+
398+
399+@Callable(aT)
400+func stakeIndex () = {
401+ let aM = toString(aT.originCaller)
402+ let aY = aT.payments[0]
403+ if ((value(aY.assetId) != s("global_poolToken_id")))
404+ then throw("wrong asset attached")
405+ else aR(aM, aY.amount)
406+ }
407+
408+
409+
410+@Callable(aT)
411+func unstakeIndex (aN) = {
412+ let aM = toString(aT.originCaller)
413+ let bf = o((aM + "_indexStaked"))
414+ if ((aN > bf))
415+ then throw("you don't have index tokens available")
416+ else (aJ(aT.originCaller, aT.originCaller) ++ [IntegerEntry((aM + "_indexStaked"), (bf - aN)), IntegerEntry("global_indexStaked", (o("global_indexStaked") - aN)), ScriptTransfer(aT.caller, aN, getBinaryValue("global_poolToken_id"))])
417+ }
418+
419+
420+
421+@Callable(aT)
422+func claimIndexRewards () = aJ(aT.caller, aT.caller)
423+
424+
425+
426+@Callable(aT)
427+func redeemIndex (bg) = {
428+ let aY = aT.payments[0]
429+ if ((aY.assetId != s("global_poolToken_id")))
430+ then throw("please attach pool share token")
431+ else {
432+ let ap = aY.amount
433+ let be = ao(ap, if (bg)
434+ then aT.originCaller
435+ else aT.caller)
436+ (be ++ [Burn(s("global_poolToken_id"), ap), IntegerEntry("global_poolToken_amount", (o("global_poolToken_amount") - ap))])
437+ }
438+ }
439+
440+
441+
442+@Callable(aT)
443+func unstakeAndRedeemIndex (aN) = {
444+ let aM = toString(aT.originCaller)
445+ let bf = o((aM + "_indexStaked"))
446+ if ((aN > bf))
447+ then throw("you don't have index tokens available")
448+ else {
449+ let bh = (aJ(aT.originCaller, aT.caller) ++ [IntegerEntry((aM + "_indexStaked"), (bf - aN)), IntegerEntry("global_indexStaked", (o("global_indexStaked") - aN))])
450+ let be = ao(aN, aT.caller)
451+ ((bh ++ be) ++ [Burn(s("global_poolToken_id"), aN), IntegerEntry("global_poolToken_amount", (o("global_poolToken_amount") - aN))])
452+ }
453+ }
454+
455+
456+
457+@Callable(aT)
458+func swap (au,bi) = {
459+ let aY = value(aT.payments[0])
460+ let as = value(aT.payments[0].amount)
461+ let bj = value(aY.assetId)
462+ let bk = fromBase58String(au)
463+ let bl = o((("global_" + toBase58String(bj)) + "_balance"))
464+ let bm = o((("global_" + au) + "_balance"))
465+ let bn = ar(as, bj, bk, bl, bm)
466+ let bo = fraction(bn, h, k)
467+ let bp = fraction(bo, 40, 100)
468+ let bq = (bn - bo)
469+ if ((bi > bq))
470+ then throw(("amount to recieve is lower than given one: " + toString(bq)))
471+ else if ((10000 > as))
472+ then throw("sum to exchange is too small")
473+ else if ((0 > (bm - bn)))
474+ then throw("contract is out of reserves")
475+ else {
476+ let br = if ((aT.caller != m))
477+ then [ScriptTransfer(l, bp, bk)]
478+ else nil
479+ $Tuple2((br ++ [IntegerEntry((("global_" + au) + "_balance"), (bm - bn)), IntegerEntry((("global_" + toBase58String(bj)) + "_balance"), (bl + as)), ScriptTransfer(aT.caller, bq, bk), IntegerEntry("global_volume", (o("global_volume") + O(bj, as, bl)))]), bq)
480+ }
481+ }
482+
483+

github/deemru/w8io/169f3d6 
30.40 ms