tx · F8T3oZf5rg8yhCFrpxmCddnhUKogcYZ5Njw2ywvTszpw

3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ:  -0.01400000 Waves

2022.05.23 17:55 [2064473] smart account 3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ > SELF 0.00000000 Waves

{ "type": 13, "id": "F8T3oZf5rg8yhCFrpxmCddnhUKogcYZ5Njw2ywvTszpw", "fee": 1400000, "feeAssetId": null, "timestamp": 1653317739013, "version": 2, "chainId": 84, "sender": "3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ", "senderPublicKey": "ApEZSyUFWsckB3mZSWm3spfm6UPyDhMdrpxNhydohYs1", "proofs": [ "3PEr43NQm1MQCn6FduBuKmnCqKJyukJWFNUMaszXFLr54EWQ1CoinvooemjET1WcWer3ut6N5C9EddLXG36B3hBT" ], "script": "base64:AAIFAAAAAAAAAAQIAhIAAAAATAAAAAAJc2VwYXJhdG9yAgAAAAFfAAAAAAZnb3ZBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNNeXhmd3ZidWVVQnluWUhmUXN1dE5YWk5xTm96R2lNbnNHAAAAAAhjaGFyc0FwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM05BM0xSU2lnazZrbkxaMTZ1VHpjZExOb3cyRVFadFhUYUoAAAAACGxhbmRzQXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTXhpSkxyWTZRYTViU1l4eFNGSFNHNWJWVjJuNTl4MU1HbgAAAAAKYmF0dGxlc0FwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM011SDlOZ3BvR2FTUXVmRVFMUFJpa1hOUzlQWGhraGNMenAAAAAAFWtleUVjb3N5c3RlbUFkZHJlc3NlcwIAAAATZWNvc3lzdGVtX2FkZHJlc3NlcwAAAAAKa2V5VG9rZW5JZAIAAAAIdG9rZW5faWQAAAAAFGtleVRva2VuRW1pc3Npb25SYXRlAgAAABN0b2tlbl9lbWlzc2lvbl9yYXRlAAAAABFrZXlUb2tlbkdlbmVyYXRlZAIAAAAPdG9rZW5fZ2VuZXJhdGVkAAAAABtrZXlUb2tlbkdlbmVyYXRlZExhc3RVcGRhdGUCAAAAG3Rva2VuX2dlbmVyYXRlZF9sYXN0X3VwZGF0ZQAAAAASa2V5Q2hhcnNCb2R5QW1vdW50AgAAABFjaGFyc19ib2R5X2Ftb3VudAAAAAASa2V5Q2hhcnNFeWVzQW1vdW50AgAAABFjaGFyc19leWVzX2Ftb3VudAAAAAATa2V5Q2hhcnNNb3V0aEFtb3VudAIAAAASY2hhcnNfbW91dGhfYW1vdW50AAAAABhrZXlDaGFyc1N0YXRzVGllcnNSYW5nZXMCAAAAGGNoYXJzX3N0YXRzX3RpZXJzX3JhbmdlcwAAAAAea2V5Q2hhcnNOYXR1cmFsRWxlbUJvbnVzUmFuZ2VzAgAAAB9jaGFyc19uYXR1cmFsX2VsZW1fYm9udXNfcmFuZ2VzAAAAACBrZXlDaGFyc05hdHVyYWxCYXR0bGVCb251c1JhbmdlcwIAAAAhY2hhcnNfbmF0dXJhbF9iYXR0bGVfYm9udXNfcmFuZ2VzAAAAACRrZXlDaGFyc05hdHVyYWxHZW5lcmF0aW5nQm9udXNSYW5nZXMCAAAAJWNoYXJzX25hdHVyYWxfZ2VuZXJhdGluZ19ib251c19yYW5nZXMAAAAADWtleVRvdGFsTGFuZHMCAAAAC3RvdGFsX2xhbmRzAAAAABNrZXlCYXR0bGVSZXN0UGVyaW9kAgAAABJiYXR0bGVfcmVzdF9wZXJpb2QAAAAAGWtleUJhdHRsZVdpbkNoYW5jZUhhcmRjYXACAAAAGWJhdHRsZV93aW5fY2hhbmNlX2hhcmRjYXAAAAAAHmtleUJhdHRsZVdpbkNoYW5jZUluY3JQZXJCbG9jawIAAAAgYmF0dGxlX3dpbl9jaGFuY2VfaW5jcl9wZXJfYmxvY2sAAAAAGWtleUJhdHRsZUxvb3RSYXJpdHlSYW5nZXMCAAAAGWJhdHRsZV9sb290X3Jhcml0eV9yYW5nZXMAAAAAEmtleUl0ZW1zQ2F0ZWdvcmllcwIAAAAQaXRlbXNfY2F0ZWdvcmllcwAAAAATa2V5SXRlbXNUeXBlc1BlckNhdAIAAAATaXRlbXNfdHlwZXNfcGVyX2NhdAAAAAAVa2V5SXRlbXNFZmZlY3RzQW1vdW50AgAAABRpdGVtc19lZmZlY3RzX2Ftb3VudAAAAAAYa2V5aXRlbXNFZmZlY3RzTWF4UmFuZ2VzAgAAABdpdGVtc19lZmZlY3RzX21heF9yYW5nZQAAAAANa2V5Q2hhcnNDb3VudAIAAAALY2hhcnNfY291bnQAAAAACGtleU93bmVyAgAAAAVvd25lcgAAAAANa2V5QXBwZWFyYW5jZQIAAAAKYXBwZWFyYW5jZQAAAAATa2V5TmF0dXJhbFB5cm9Cb251cwIAAAASbmF0dXJhbF9weXJvX2JvbnVzAAAAABNrZXlOYXR1cmFsQXF1YUJvbnVzAgAAABJuYXR1cmFsX2FxdWFfYm9udXMAAAAAFGtleU5hdHVyYWxUZXJyYUJvbnVzAgAAABNuYXR1cmFsX3RlcnJhX2JvbnVzAAAAABNrZXlOYXR1cmFsQWVyb0JvbnVzAgAAABJuYXR1cmFsX2Flcm9fYm9udXMAAAAAFWtleU5hdHVyYWxCYXR0bGVCb251cwIAAAAUbmF0dXJhbF9iYXR0bGVfYm9udXMAAAAAGWtleU5hdHVyYWxHZW5lcmF0aW5nQm9udXMCAAAAGG5hdHVyYWxfZ2VuZXJhdGluZ19ib251cwAAAAASa2V5Q2hhckN1cnJlbnRMYW5kAgAAABFjaGFyX2N1cnJlbnRfbGFuZAAAAAAQa2V5TGFuZFB5cm9Qb3dlcgIAAAAPbGFuZF9weXJvX3Bvd2VyAAAAABBrZXlMYW5kQXF1YVBvd2VyAgAAAA9sYW5kX2FxdWFfcG93ZXIAAAAAEWtleUxhbmRUZXJyYVBvd2VyAgAAABBsYW5kX3RlcnJhX3Bvd2VyAAAAABBrZXlMYW5kQWVyb1Bvd2VyAgAAAA9sYW5kX2Flcm9fcG93ZXIAAAAAEmtleUNoYXJUb3RhbEluY29tZQIAAAARY2hhcl90b3RhbF9pbmNvbWUAAAAAFWtleUFkZHJlc3NUb3RhbEluY29tZQIAAAAUYWRkcmVzc190b3RhbF9pbmNvbWUAAAAAEGtleUNoYXJQeXJvUG93ZXICAAAAD2NoYXJfcHlyb19wb3dlcgAAAAAQa2V5Q2hhckFxdWFQb3dlcgIAAAAPY2hhcl9hcXVhX3Bvd2VyAAAAABFrZXlDaGFyVGVycmFQb3dlcgIAAAAQY2hhcl90ZXJyYV9wb3dlcgAAAAAQa2V5Q2hhckFlcm9Qb3dlcgIAAAAPY2hhcl9hZXJvX3Bvd2VyAAAAABhrZXlDaGFySW5pdGlhbFB5cm9TaGFyZXMCAAAAGGNoYXJfaW5pdGlhbF9weXJvX3NoYXJlcwAAAAAYa2V5Q2hhckluaXRpYWxBcXVhU2hhcmVzAgAAABhjaGFyX2luaXRpYWxfYXF1YV9zaGFyZXMAAAAAGWtleUNoYXJJbml0aWFsVGVycmFTaGFyZXMCAAAAGWNoYXJfaW5pdGlhbF90ZXJyYV9zaGFyZXMAAAAAGGtleUNoYXJJbml0aWFsQWVyb1NoYXJlcwIAAAAYY2hhcl9pbml0aWFsX2Flcm9fc2hhcmVzAAAAACNrZXlDaGFySW5pdGlhbExhbmRQeXJvR3JhbnRlZFRva2VucwIAAAAlY2hhcl9pbml0aWFsX2xhbmRfcHlyb19ncmFudGVkX3Rva2VucwAAAAAja2V5Q2hhckluaXRpYWxMYW5kQXF1YUdyYW50ZWRUb2tlbnMCAAAAJWNoYXJfaW5pdGlhbF9sYW5kX2FxdWFfZ3JhbnRlZF90b2tlbnMAAAAAJGtleUNoYXJJbml0aWFsTGFuZFRlcnJhR3JhbnRlZFRva2VucwIAAAAmY2hhcl9pbml0aWFsX2xhbmRfdGVycmFfZ3JhbnRlZF90b2tlbnMAAAAAI2tleUNoYXJJbml0aWFsTGFuZEFlcm9HcmFudGVkVG9rZW5zAgAAACVjaGFyX2luaXRpYWxfbGFuZF9hZXJvX2dyYW50ZWRfdG9rZW5zAAAAACJrZXlMYW5kTGFzdFRva2VuRGlzdHJpYnV0aW9uVXBkYXRlAgAAACNsYW5kX21hc3RfdG9rZW5fZGlzdHJpYnV0aW9uX3VwZGF0ZQAAAAAda2V5TGFuZFB5cm9Ub3RhbEdyYW50ZWRUb2tlbnMCAAAAHmxhbmRfcHlyb190b3RhbF9ncmFudGVkX3Rva2VucwAAAAAda2V5TGFuZEFxdWFUb3RhbEdyYW50ZWRUb2tlbnMCAAAAHmxhbmRfYXF1YV90b3RhbF9ncmFudGVkX3Rva2VucwAAAAAea2V5TGFuZFRlcnJhVG90YWxHcmFudGVkVG9rZW5zAgAAAB9sYW5kX3RlcnJhX3RvdGFsX2dyYW50ZWRfdG9rZW5zAAAAAB1rZXlMYW5kQWVyb1RvdGFsR3JhbnRlZFRva2VucwIAAAAebGFuZF9hZXJvX3RvdGFsX2dyYW50ZWRfdG9rZW5zAAAAABNrZXlMYXN0QmF0dGxlSGVpZ2h0AgAAABJsYXN0X2JhdHRsZV9oZWlnaHQAAAAADWtleUl0ZW1zQ291bnQCAAAAC2l0ZW1zX2NvdW50AAAAAAxrZXlJdGVtT3duZXICAAAACml0ZW1fb3duZXIAAAAAD2tleUl0ZW1DYXRlZ29yeQIAAAANaXRlbV9jYXRlZ29yeQAAAAALa2V5SXRlbVR5cGUCAAAACWl0ZW1fdHlwZQAAAAAOa2V5SXRlbUVmZmVjdHMCAAAADGl0ZW1fZWZmZWN0cwAAAAATa2V5SXRlbUlzRXF1aXBwZWRCeQIAAAATaXRlbV9pc19lcXVpcHBlZF9ieQAAAAANa2V5Q2hhcldlYXBvbgIAAAALY2hhcl93ZWFwb24AAAAADGtleUNoYXJBcm1vcgIAAAAKY2hhcl9hcm1vcgAAAAAMa2V5Q2hhckpld2VsAgAAAApjaGFyX2pld2VsAAAAABxrZXlJdGVtRWZmZWN0c1ZhbHVlc1BlclR5cGVzAgAAAB1pdGVtX2VmZmVjdHNfdmFsdWVzX3Blcl90eXBlcwEAAAAMaW52b2tlQ2hlY2tzAAAAAQAAAApjYWxsZXJBZGRyAwkBAAAAAiE9AAAAAgkABB4AAAABBQAAAAZnb3ZBcHAHCQAAAgAAAAECAAAAF0dvdmVybmluZyBhcHAgbm90IHJlYWR5BAAAABJlY29zeXN0ZW1BZGRyZXNzZXMJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABmdvdkFwcAUAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAwkBAAAAAiE9AAAAAgkBAAAACGNvbnRhaW5zAAAAAgUAAAASZWNvc3lzdGVtQWRkcmVzc2VzCQAEJQAAAAEFAAAACmNhbGxlckFkZHIHCQAAAgAAAAECAAAADUFjY2VzcyBkZW5pZWQGAQAAAA5lY29zeXN0ZW1DaGVjawAAAAEAAAAGY2FsbGVyAwkBAAAAAiE9AAAAAgkBAAAACGNvbnRhaW5zAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAGZ292QXBwBQAAABVrZXlFY29zeXN0ZW1BZGRyZXNzZXMJAAJYAAAAAQgFAAAABmNhbGxlcgAAAAVieXRlcwYJAAACAAAAAQIAAAAOQWNjZXNzIGRlbmllZCAGAQAAAAR3aXRoAAAAAgAAAAFhAAAAAWIJAAS5AAAAAgkABEwAAAACCQABpAAAAAEFAAAAAWIJAARMAAAAAgUAAAABYQUAAAADbmlsBQAAAAlzZXBhcmF0b3IBAAAAB3dpdGhTdHIAAAACAAAAAWEAAAABYgkABLkAAAACCQAETAAAAAIFAAAAAWIJAARMAAAAAgUAAAABYQUAAAADbmlsBQAAAAlzZXBhcmF0b3IBAAAAB3JhbmRJbnQAAAAEAAAAA21pbgAAAANtYXgAAAAEdHhJZAAAAAVub25jZQQAAAAEaGFzaAkBAAAABXZhbHVlAAAAAQkAC1QAAAABCQAAywAAAAIJAADLAAAAAgkBAAAABXZhbHVlAAAAAQgJAQAAAAV2YWx1ZQAAAAEJAAPtAAAAAQUAAAAGaGVpZ2h0AAAAA3ZyZgUAAAAEdHhJZAkAAZoAAAABBQAAAAVub25jZQkBAAAABXZhbHVlAAAAAQkAAGQAAAACCQAAagAAAAIJAQAAAAV2YWx1ZQAAAAEJAASxAAAAAQUAAAAEaGFzaAkAAGQAAAACCQAAZQAAAAIFAAAAA21heAUAAAADbWluAAAAAAAAAAABBQAAAANtaW4BAAAAFWdlblJhbmRvbU5hdHVyYWxCb251cwAAAAQAAAAPc3RhdHNUaWVyUmFuZ2VzAAAAC2JvbnVzUmFuZ2VzAAAADXN0YXJ0aW5nTm9uY2UAAAAEdHhJZAQAAAADc1QxCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAPc3RhdHNUaWVyUmFuZ2VzAAAAAAAAAAAABAAAAANzVDIJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9zdGF0c1RpZXJSYW5nZXMAAAAAAAAAAAEEAAAAA3NUMwkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAD3N0YXRzVGllclJhbmdlcwAAAAAAAAAAAgQAAAADc1Q0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAPc3RhdHNUaWVyUmFuZ2VzAAAAAAAAAAADBAAAAANzVDUJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAA9zdGF0c1RpZXJSYW5nZXMAAAAAAAAAAAQEAAAAA3NUNgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAD3N0YXRzVGllclJhbmdlcwAAAAAAAAAABQQAAAADYlQxCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAALYm9udXNSYW5nZXMAAAAAAAAAAAAEAAAAA2JUMgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2JvbnVzUmFuZ2VzAAAAAAAAAAABBAAAAANiVDMJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAtib251c1JhbmdlcwAAAAAAAAAAAgQAAAADYlQ0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAALYm9udXNSYW5nZXMAAAAAAAAAAAMEAAAAA2JUNQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAC2JvbnVzUmFuZ2VzAAAAAAAAAAAEBAAAAANiVDYJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAtib251c1JhbmdlcwAAAAAAAAAABQQAAAAKdGllclJlc3VsdAkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAAAAAAAAAAAACcQBQAAAAR0eElkBQAAAA1zdGFydGluZ05vbmNlAwkAAGcAAAACBQAAAANzVDEFAAAACnRpZXJSZXN1bHQJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAAUAAAADYlQxBQAAAAR0eElkCQAAZAAAAAIFAAAADXN0YXJ0aW5nTm9uY2UAAAAAAAAAAAEDCQAAZwAAAAIFAAAAA3NUMgUAAAAKdGllclJlc3VsdAkBAAAAB3JhbmRJbnQAAAAECQAAZAAAAAIFAAAAA2JUMQAAAAAAAAAAAQUAAAADYlQyBQAAAAR0eElkCQAAZAAAAAIFAAAADXN0YXJ0aW5nTm9uY2UAAAAAAAAAAAIDCQAAZwAAAAIFAAAAA3NUMwUAAAAKdGllclJlc3VsdAkBAAAAB3JhbmRJbnQAAAAECQAAZAAAAAIFAAAAA2JUMgAAAAAAAAAAAQUAAAADYlQzBQAAAAR0eElkCQAAZAAAAAIFAAAADXN0YXJ0aW5nTm9uY2UAAAAAAAAAAAMDCQAAZwAAAAIFAAAAA3NUNAUAAAAKdGllclJlc3VsdAkBAAAAB3JhbmRJbnQAAAAECQAAZAAAAAIFAAAAA2JUMwAAAAAAAAAAAQUAAAADYlQ0BQAAAAR0eElkCQAAZAAAAAIFAAAADXN0YXJ0aW5nTm9uY2UAAAAAAAAAAAQDCQAAZwAAAAIFAAAAA3NUNQUAAAAKdGllclJlc3VsdAkBAAAAB3JhbmRJbnQAAAAECQAAZAAAAAIFAAAAA2JUNAAAAAAAAAAAAQUAAAADYlQ1BQAAAAR0eElkCQAAZAAAAAIFAAAADXN0YXJ0aW5nTm9uY2UAAAAAAAAAAAUJAQAAAAdyYW5kSW50AAAABAkAAGQAAAACBQAAAANiVDUAAAAAAAAAAAEFAAAAA2JUNgUAAAAEdHhJZAkAAGQAAAACBQAAAA1zdGFydGluZ05vbmNlAAAAAAAAAAAGAAAAAQAAAAFpAQAAAApjcmVhdGVDaGFyAAAAAAMJAQAAAAIhPQAAAAIJAQAAAAxpbnZva2VDaGVja3MAAAABCAUAAAABaQAAAAZjYWxsZXIGCQEAAAAFdGhyb3cAAAAABAAAAAR0eElkCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAApjYWxsZXJBZGRyCQACWAAAAAEICAUAAAABaQAAAAZjYWxsZXIAAAAFYnl0ZXMEAAAABmNoYXJJZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlDaGFyc0NvdW50AAAAAAAAAAABBAAAAAxib2RpZXNBbW91bnQJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABmdvdkFwcAUAAAASa2V5Q2hhcnNCb2R5QW1vdW50BAAAAApleWVzQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAZnb3ZBcHAFAAAAEmtleUNoYXJzRXllc0Ftb3VudAQAAAAMbW91dGhzQW1vdW50CQEAAAARQGV4dHJOYXRpdmUoMTA1MCkAAAACBQAAAAZnb3ZBcHAFAAAAE2tleUNoYXJzTW91dGhBbW91bnQEAAAAEHN0YXRzVGllcnNSYW5nZXMJAAS1AAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAGZ292QXBwBQAAABhrZXlDaGFyc1N0YXRzVGllcnNSYW5nZXMFAAAACXNlcGFyYXRvcgQAAAASbmF0RWxlbUJvbnVzUmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABmdvdkFwcAUAAAAea2V5Q2hhcnNOYXR1cmFsRWxlbUJvbnVzUmFuZ2VzBQAAAAlzZXBhcmF0b3IEAAAAFG5hdEJhdHRsZUJvbnVzUmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABmdvdkFwcAUAAAAga2V5Q2hhcnNOYXR1cmFsQmF0dGxlQm9udXNSYW5nZXMFAAAACXNlcGFyYXRvcgQAAAAYbmF0R2VuZXJhdGluZ0JvbnVzUmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABmdvdkFwcAUAAAAka2V5Q2hhcnNOYXR1cmFsR2VuZXJhdGluZ0JvbnVzUmFuZ2VzBQAAAAlzZXBhcmF0b3IEAAAACmFwcGVhcmFuY2UJAAS5AAAAAgkABEwAAAACCQABpAAAAAEJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQUAAAAMYm9kaWVzQW1vdW50BQAAAAR0eElkAAAAAAAAAAAACQAETAAAAAIJAAGkAAAAAQkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABBQAAAApleWVzQW1vdW50BQAAAAR0eElkAAAAAAAAAAABCQAETAAAAAIJAAGkAAAAAQkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABBQAAAAxtb3V0aHNBbW91bnQFAAAABHR4SWQAAAAAAAAAAAIFAAAAA25pbAUAAAAJc2VwYXJhdG9yBAAAAAxuYXRQeXJvQm9udXMJAQAAABVnZW5SYW5kb21OYXR1cmFsQm9udXMAAAAEBQAAABBzdGF0c1RpZXJzUmFuZ2VzBQAAABJuYXRFbGVtQm9udXNSYW5nZXMAAAAAAAAAAAMFAAAABHR4SWQEAAAADG5hdEFxdWFCb251cwkBAAAAFWdlblJhbmRvbU5hdHVyYWxCb251cwAAAAQFAAAAEHN0YXRzVGllcnNSYW5nZXMFAAAAEm5hdEVsZW1Cb251c1JhbmdlcwAAAAAAAAAACgUAAAAEdHhJZAQAAAANbmF0VGVycmFCb251cwkBAAAAFWdlblJhbmRvbU5hdHVyYWxCb251cwAAAAQFAAAAEHN0YXRzVGllcnNSYW5nZXMFAAAAEm5hdEVsZW1Cb251c1JhbmdlcwAAAAAAAAAAEQUAAAAEdHhJZAQAAAAMbmF0QWVyb0JvbnVzCQEAAAAVZ2VuUmFuZG9tTmF0dXJhbEJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAASbmF0RWxlbUJvbnVzUmFuZ2VzAAAAAAAAAAAYBQAAAAR0eElkBAAAABJuYXRHZW5lcmF0aW5nQm9udXMJAQAAABVnZW5SYW5kb21OYXR1cmFsQm9udXMAAAAEBQAAABBzdGF0c1RpZXJzUmFuZ2VzBQAAABhuYXRHZW5lcmF0aW5nQm9udXNSYW5nZXMAAAAAAAAAAB8FAAAABHR4SWQEAAAADm5hdEJhdHRsZUJvbnVzCQEAAAAVZ2VuUmFuZG9tTmF0dXJhbEJvbnVzAAAABAUAAAAQc3RhdHNUaWVyc1JhbmdlcwUAAAAUbmF0QmF0dGxlQm9udXNSYW5nZXMAAAAAAAAAACYFAAAABHR4SWQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAABHdpdGgAAAACBQAAAAhrZXlPd25lcgUAAAAGY2hhcklkBQAAAApjYWxsZXJBZGRyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAANa2V5QXBwZWFyYW5jZQUAAAAGY2hhcklkBQAAAAphcHBlYXJhbmNlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAE2tleU5hdHVyYWxQeXJvQm9udXMFAAAABmNoYXJJZAUAAAAMbmF0UHlyb0JvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAE2tleU5hdHVyYWxBcXVhQm9udXMFAAAABmNoYXJJZAUAAAAMbmF0QXF1YUJvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAFGtleU5hdHVyYWxUZXJyYUJvbnVzBQAAAAZjaGFySWQFAAAADW5hdFRlcnJhQm9udXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5TmF0dXJhbEFlcm9Cb251cwUAAAAGY2hhcklkBQAAAAxuYXRBZXJvQm9udXMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAAVa2V5TmF0dXJhbEJhdHRsZUJvbnVzBQAAAAZjaGFySWQFAAAADm5hdEJhdHRsZUJvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAGWtleU5hdHVyYWxHZW5lcmF0aW5nQm9udXMFAAAABmNoYXJJZAUAAAASbmF0R2VuZXJhdGluZ0JvbnVzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlDaGFyc0NvdW50CQAAZAAAAAIFAAAABmNoYXJJZAAAAAAAAAAAAQUAAAADbmlsAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkg3HZk", "height": 2064473, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EXwNpFyQTMEuMj5jXgaWK39M2TgcavB8UCLZmGcD4mxU Next: none Diff:
OldNewDifferences
151151 }
152152
153153
154-func ecosystemCheck (caller) = if ((contains(getStringValue(this, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
154+func ecosystemCheck (caller) = if ((contains(getStringValue(govApp, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
155155 then throw("Access denied ")
156156 else true
157157
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = "_"
55
66 let govApp = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
77
88 let charsApp = addressFromStringValue("3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ")
99
1010 let landsApp = addressFromStringValue("3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn")
1111
1212 let battlesApp = addressFromStringValue("3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp")
1313
1414 let keyEcosystemAddresses = "ecosystem_addresses"
1515
1616 let keyTokenId = "token_id"
1717
1818 let keyTokenEmissionRate = "token_emission_rate"
1919
2020 let keyTokenGenerated = "token_generated"
2121
2222 let keyTokenGeneratedLastUpdate = "token_generated_last_update"
2323
2424 let keyCharsBodyAmount = "chars_body_amount"
2525
2626 let keyCharsEyesAmount = "chars_eyes_amount"
2727
2828 let keyCharsMouthAmount = "chars_mouth_amount"
2929
3030 let keyCharsStatsTiersRanges = "chars_stats_tiers_ranges"
3131
3232 let keyCharsNaturalElemBonusRanges = "chars_natural_elem_bonus_ranges"
3333
3434 let keyCharsNaturalBattleBonusRanges = "chars_natural_battle_bonus_ranges"
3535
3636 let keyCharsNaturalGeneratingBonusRanges = "chars_natural_generating_bonus_ranges"
3737
3838 let keyTotalLands = "total_lands"
3939
4040 let keyBattleRestPeriod = "battle_rest_period"
4141
4242 let keyBattleWinChanceHardcap = "battle_win_chance_hardcap"
4343
4444 let keyBattleWinChanceIncrPerBlock = "battle_win_chance_incr_per_block"
4545
4646 let keyBattleLootRarityRanges = "battle_loot_rarity_ranges"
4747
4848 let keyItemsCategories = "items_categories"
4949
5050 let keyItemsTypesPerCat = "items_types_per_cat"
5151
5252 let keyItemsEffectsAmount = "items_effects_amount"
5353
5454 let keyitemsEffectsMaxRanges = "items_effects_max_range"
5555
5656 let keyCharsCount = "chars_count"
5757
5858 let keyOwner = "owner"
5959
6060 let keyAppearance = "appearance"
6161
6262 let keyNaturalPyroBonus = "natural_pyro_bonus"
6363
6464 let keyNaturalAquaBonus = "natural_aqua_bonus"
6565
6666 let keyNaturalTerraBonus = "natural_terra_bonus"
6767
6868 let keyNaturalAeroBonus = "natural_aero_bonus"
6969
7070 let keyNaturalBattleBonus = "natural_battle_bonus"
7171
7272 let keyNaturalGeneratingBonus = "natural_generating_bonus"
7373
7474 let keyCharCurrentLand = "char_current_land"
7575
7676 let keyLandPyroPower = "land_pyro_power"
7777
7878 let keyLandAquaPower = "land_aqua_power"
7979
8080 let keyLandTerraPower = "land_terra_power"
8181
8282 let keyLandAeroPower = "land_aero_power"
8383
8484 let keyCharTotalIncome = "char_total_income"
8585
8686 let keyAddressTotalIncome = "address_total_income"
8787
8888 let keyCharPyroPower = "char_pyro_power"
8989
9090 let keyCharAquaPower = "char_aqua_power"
9191
9292 let keyCharTerraPower = "char_terra_power"
9393
9494 let keyCharAeroPower = "char_aero_power"
9595
9696 let keyCharInitialPyroShares = "char_initial_pyro_shares"
9797
9898 let keyCharInitialAquaShares = "char_initial_aqua_shares"
9999
100100 let keyCharInitialTerraShares = "char_initial_terra_shares"
101101
102102 let keyCharInitialAeroShares = "char_initial_aero_shares"
103103
104104 let keyCharInitialLandPyroGrantedTokens = "char_initial_land_pyro_granted_tokens"
105105
106106 let keyCharInitialLandAquaGrantedTokens = "char_initial_land_aqua_granted_tokens"
107107
108108 let keyCharInitialLandTerraGrantedTokens = "char_initial_land_terra_granted_tokens"
109109
110110 let keyCharInitialLandAeroGrantedTokens = "char_initial_land_aero_granted_tokens"
111111
112112 let keyLandLastTokenDistributionUpdate = "land_mast_token_distribution_update"
113113
114114 let keyLandPyroTotalGrantedTokens = "land_pyro_total_granted_tokens"
115115
116116 let keyLandAquaTotalGrantedTokens = "land_aqua_total_granted_tokens"
117117
118118 let keyLandTerraTotalGrantedTokens = "land_terra_total_granted_tokens"
119119
120120 let keyLandAeroTotalGrantedTokens = "land_aero_total_granted_tokens"
121121
122122 let keyLastBattleHeight = "last_battle_height"
123123
124124 let keyItemsCount = "items_count"
125125
126126 let keyItemOwner = "item_owner"
127127
128128 let keyItemCategory = "item_category"
129129
130130 let keyItemType = "item_type"
131131
132132 let keyItemEffects = "item_effects"
133133
134134 let keyItemIsEquippedBy = "item_is_equipped_by"
135135
136136 let keyCharWeapon = "char_weapon"
137137
138138 let keyCharArmor = "char_armor"
139139
140140 let keyCharJewel = "char_jewel"
141141
142142 let keyItemEffectsValuesPerTypes = "item_effects_values_per_types"
143143
144144 func invokeChecks (callerAddr) = if ((isDataStorageUntouched(govApp) != false))
145145 then throw("Governing app not ready")
146146 else {
147147 let ecosystemAddresses = getStringValue(govApp, keyEcosystemAddresses)
148148 if ((contains(ecosystemAddresses, toString(callerAddr)) != false))
149149 then throw("Access denied")
150150 else true
151151 }
152152
153153
154-func ecosystemCheck (caller) = if ((contains(getStringValue(this, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
154+func ecosystemCheck (caller) = if ((contains(getStringValue(govApp, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
155155 then throw("Access denied ")
156156 else true
157157
158158
159159 func with (a,b) = makeString([toString(b), a], separator)
160160
161161
162162 func withStr (a,b) = makeString([b, a], separator)
163163
164164
165165 func randInt (min,max,txId,nonce) = {
166166 let hash = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + txId) + toBytes(nonce))))
167167 value(((value(toInt(hash)) % ((max - min) + 1)) + min))
168168 }
169169
170170
171171 func genRandomNaturalBonus (statsTierRanges,bonusRanges,startingNonce,txId) = {
172172 let sT1 = parseIntValue(statsTierRanges[0])
173173 let sT2 = parseIntValue(statsTierRanges[1])
174174 let sT3 = parseIntValue(statsTierRanges[2])
175175 let sT4 = parseIntValue(statsTierRanges[3])
176176 let sT5 = parseIntValue(statsTierRanges[4])
177177 let sT6 = parseIntValue(statsTierRanges[5])
178178 let bT1 = parseIntValue(bonusRanges[0])
179179 let bT2 = parseIntValue(bonusRanges[1])
180180 let bT3 = parseIntValue(bonusRanges[2])
181181 let bT4 = parseIntValue(bonusRanges[3])
182182 let bT5 = parseIntValue(bonusRanges[4])
183183 let bT6 = parseIntValue(bonusRanges[5])
184184 let tierResult = randInt(0, 10000, txId, startingNonce)
185185 if ((sT1 >= tierResult))
186186 then randInt(0, bT1, txId, (startingNonce + 1))
187187 else if ((sT2 >= tierResult))
188188 then randInt((bT1 + 1), bT2, txId, (startingNonce + 2))
189189 else if ((sT3 >= tierResult))
190190 then randInt((bT2 + 1), bT3, txId, (startingNonce + 3))
191191 else if ((sT4 >= tierResult))
192192 then randInt((bT3 + 1), bT4, txId, (startingNonce + 4))
193193 else if ((sT5 >= tierResult))
194194 then randInt((bT4 + 1), bT5, txId, (startingNonce + 5))
195195 else randInt((bT5 + 1), bT6, txId, (startingNonce + 6))
196196 }
197197
198198
199199 @Callable(i)
200200 func createChar () = if ((invokeChecks(i.caller) != true))
201201 then throw()
202202 else {
203203 let txId = i.transactionId
204204 let callerAddr = toBase58String(i.caller.bytes)
205205 let charId = valueOrElse(getInteger(this, keyCharsCount), 1)
206206 let bodiesAmount = getIntegerValue(govApp, keyCharsBodyAmount)
207207 let eyesAmount = getIntegerValue(govApp, keyCharsEyesAmount)
208208 let mouthsAmount = getIntegerValue(govApp, keyCharsMouthAmount)
209209 let statsTiersRanges = split(getStringValue(govApp, keyCharsStatsTiersRanges), separator)
210210 let natElemBonusRanges = split(getStringValue(govApp, keyCharsNaturalElemBonusRanges), separator)
211211 let natBattleBonusRanges = split(getStringValue(govApp, keyCharsNaturalBattleBonusRanges), separator)
212212 let natGeneratingBonusRanges = split(getStringValue(govApp, keyCharsNaturalGeneratingBonusRanges), separator)
213213 let appearance = makeString([toString(randInt(1, bodiesAmount, txId, 0)), toString(randInt(1, eyesAmount, txId, 1)), toString(randInt(1, mouthsAmount, txId, 2))], separator)
214214 let natPyroBonus = genRandomNaturalBonus(statsTiersRanges, natElemBonusRanges, 3, txId)
215215 let natAquaBonus = genRandomNaturalBonus(statsTiersRanges, natElemBonusRanges, 10, txId)
216216 let natTerraBonus = genRandomNaturalBonus(statsTiersRanges, natElemBonusRanges, 17, txId)
217217 let natAeroBonus = genRandomNaturalBonus(statsTiersRanges, natElemBonusRanges, 24, txId)
218218 let natGeneratingBonus = genRandomNaturalBonus(statsTiersRanges, natGeneratingBonusRanges, 31, txId)
219219 let natBattleBonus = genRandomNaturalBonus(statsTiersRanges, natBattleBonusRanges, 38, txId)
220220 [StringEntry(with(keyOwner, charId), callerAddr), StringEntry(with(keyAppearance, charId), appearance), IntegerEntry(with(keyNaturalPyroBonus, charId), natPyroBonus), IntegerEntry(with(keyNaturalAquaBonus, charId), natAquaBonus), IntegerEntry(with(keyNaturalTerraBonus, charId), natTerraBonus), IntegerEntry(with(keyNaturalAeroBonus, charId), natAeroBonus), IntegerEntry(with(keyNaturalBattleBonus, charId), natBattleBonus), IntegerEntry(with(keyNaturalGeneratingBonus, charId), natGeneratingBonus), IntegerEntry(keyCharsCount, (charId + 1))]
221221 }
222222
223223
224224 @Verifier(tx)
225225 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
226226

github/deemru/w8io/c3f4982 
31.77 ms