tx · JB12vMuVWqZxXqS7ciXoKer2SNFgmjDBMxXQjF9DSX3e 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy: -0.01600000 Waves 2023.03.13 13:18 [2488123] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves
{ "type": 13, "id": "JB12vMuVWqZxXqS7ciXoKer2SNFgmjDBMxXQjF9DSX3e", "fee": 1600000, "feeAssetId": null, "timestamp": 1678702763840, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "4EsNBYfM7eAozWh1z4gfAWe8iiBczpBEuUGwtM1jZzPh2ycRfVabsieHByLinbZ5faU8xtJV3Cv2artjP1uWpHMP" ], "script": "base64:BgI5CAISBQoDCAgIEgMKAQgSBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEYOQAFY2hhaW4JAMkBAgkAygECCAUEdGhpcwVieXRlcwABAAEAC3VzZG5Bc3NldElkBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwASC2JinDBPXOU5GkDkt1JC9kjFGx+t+vVCm9SNIdKrKq0QMJAAACAQFUBQckbWF0Y2gwASD3dur394PKZdtuE+4CO89YKZWpwdGN8kvabNgdYoDI3gkAAgECDVVua25vd24gY2hhaW4AEUluZnJhVXBncmFkZUNvc3RTBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAMbrwL8XAwkAAAIBAVQFByRtYXRjaDAA8M2JHgkAAgECDVVua25vd24gY2hhaW4ACkxBTkRQUkVGSVgCBExBTkQACkRVQ0tQUkVGSVgCBERVQ0sAA1NFUAICX18ACkFSVFBSRVNBTEUCB1BSRVNBTEUAD0RBSUxZUkVTQllQSUVDRQCA+NIBAAlEQVlNSUxMSVMAgLiZKQAGTlVNUkVTAAYABVNTSVpFABkABU1TSVpFAGQABUxTSVpFAOEBAAZYTFNJWkUAkAMAB1hYTFNJWkUA8QQACnJlY0xhbmROdW0AAAALcmVjTGFuZFNpemUAAQALcmVjVGVycmFpbnMAAgAMcmVjQ29udGluZW50AAMACHdoSWR4Vm9sAAAACHdoSWR4UmVzAAEACHdoSWR4TWF0AAIACXdoSWR4UHJvZAADAQprZXlSZXN0Q2ZnAAIOJXNfX3Jlc3RDb25maWcAEUlkeENmZ1N0YWtpbmdEYXBwAAEAEUlkeENmZ0Vjb25vbXlEYXBwAAIAFElkeENmZ0dvdmVybmFuY2VEYXBwAAMBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAARFyZWFkUmVzdENmZ09yRmFpbAAJALwJAgkBD2dldFN0cmluZ09yRmFpbAIFBHRoaXMJAQprZXlSZXN0Q2ZnAAUDU0VQARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCB3Jlc3RDZmcDaWR4CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAKYIAQkAkQMCBQdyZXN0Q2ZnBQNpZHgJAKwCAgIqUmVzdCBjZmcgZG9lc24ndCBjb250YWluIGFkZHJlc3MgYXQgaW5kZXggCQCkAwEFA2lkeAAHcmVzdENmZwkBEXJlYWRSZXN0Q2ZnT3JGYWlsAAAPc3Rha2luZ0NvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnU3Rha2luZ0RhcHAAD2Vjb25vbXlDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwABJnb3Zlcm5hbmNlQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdFY29ub215RGFwcAEQa2V5RHVja0lkVG9Pd25lcgEHYXNzZXRJZAkArAICAgpkdWNrT3duZXJfBQdhc3NldElkARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQdhc3NldElkCQCsAgICC3N0YWtlZFRpbWVfBQdhc3NldElkARRrZXlTdGFrZWREdWNrQnlPd25lcgEJb3duZXJBZGRyCQCsAgICEnN0YWtlZER1Y2tCeU93bmVyXwUJb3duZXJBZGRyASJrZXlTdGFrZWRUaW1lQnlUeXBlQXNzZXRJZEFuZE93bmVyAwduZnRUeXBlB2Fzc2V0SWQJb3duZXJBZGRyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIgc3Rha2VkVGltZUJ5VHlwZUFzc2V0SWRBbmRPd25lcl8FB25mdFR5cGUCAV8FB2Fzc2V0SWQCAV8FCW93bmVyQWRkcgERa2V5QmFja3BhY2tCeUR1Y2sBC2R1Y2tBc3NldElkCQCsAgICCWJhY2tQYWNrXwULZHVja0Fzc2V0SWQBEmtleVdhcmVob3VzZUJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKd2FyZUhvdXNlXwULbGFuZEFzc2V0SWQBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBDWtleUR1Y2tIZWFsdGgBC2R1Y2tBc3NldElkCQCsAgICC2R1Y2tIZWFsdGhfBQtkdWNrQXNzZXRJZAEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQdhc3NldElkCQCsAgICCW5mdE93bmVyXwUHYXNzZXRJZAEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtpbmZyYUxldmVsXwUHYXNzZXRJZAEga2V5TGFuZEFydFN0YXR1c0J5VHlwZUFuZEFzc2V0SWQCBHR5cGUHYXNzZXRJZAkAuQkCCQDMCAICDWxhbmRBcnRTdGF0dXMJAMwIAgUEdHlwZQkAzAgCBQdhc3NldElkBQNuaWwCAV8BH2tleVByZXNhbGVBcnRBY3RpdmF0ZWRCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgIUcHJlc2FsZUFydEFjdGl2YXRlZF8FB2Fzc2V0SWQBFWtleVN0YWtlZExhbmRzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICE3N0YWtlZExhbmRzQnlPd25lcl8FCW93bmVyQWRkcgEIYXNTdHJpbmcBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwBQFzCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nARJhc0xpc3RJbnRDb21wYWN0ZWQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQKdmFsQW55TGlzdAUHJG1hdGNoMAMJAQIhPQIJAJADAQUKdmFsQW55TGlzdAUGTlVNUkVTCQACAQkArAICAg5BcnJheSBzaXplIGlzIAkApAMBCQCQAwEFCnZhbEFueUxpc3QKAQRjb252AgNhY2MEaXRlbQQHJG1hdGNoMQUEaXRlbQMJAAECBQckbWF0Y2gxAgNJbnQEAml0BQckbWF0Y2gxCQDNCAIFA2FjYwkApAMBBQJpdAkAAgECFExpc3QgdHlwZSBpcyBub3QgSW50BAFyCgACJGwFCnZhbEFueUxpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBGNvbnYCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYJALkJAgUBcgIBXwkAAgECFmZhaWwgdG8gY2FzdCBpbnRvIExpc3QBDWFzU3BsaXRSZXN1bHQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACFihMaXN0W0FueV0sIExpc3RbQW55XSkEAnQyBQckbWF0Y2gwCQCUCgIJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzEJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzIJAAIBAh5mYWlsIHRvIGNhc3QgaW50byAoTGlzdCwgTGlzdCkBDndhbGxldEludGVybmFsAQ51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQHYmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDvBwEJAQV2YWx1ZQEFBGFkZHIJAQ5CYWxhbmNlRGV0YWlscwQAAAAAAAAAAAQLdXNkbkJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQt1c2RuQXNzZXRJZAAACQC5CQIJAMwIAgIGJXMlZCVkCQDMCAICBndhbGxldAkAzAgCCQCkAwEIBQdiYWxhbmNlCWF2YWlsYWJsZQkAzAgCCQCkAwEFC3VzZG5CYWxhbmNlBQNuaWwFA1NFUAEMYXBwbHlCb251c2VzAgtsYW5kQXNzZXRJZAZwaWVjZXMECmluZnJhTGV2ZWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAAAECWFydFBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIFCkFSVFBSRVNBTEUFC2xhbmRBc3NldElkAwkBC3ZhbHVlT3JFbHNlAgkAmwgCBQ9zdGFraW5nQ29udHJhY3QJAR9rZXlQcmVzYWxlQXJ0QWN0aXZhdGVkQnlBc3NldElkAQULbGFuZEFzc2V0SWQHBQZwaWVjZXMAAAkAlQoDBQppbmZyYUxldmVsBQlhcnRQaWVjZXMJAGQCCQBkAgUPREFJTFlSRVNCWVBJRUNFCQBrAwUPREFJTFlSRVNCWVBJRUNFBQppbmZyYUxldmVsAAQJAGsDBQ9EQUlMWVJFU0JZUElFQ0UJAGgCBQlhcnRQaWVjZXMAAwkAaAIFBnBpZWNlcwAUAQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQxnZXRXYXJlaG91c2UDBXdoS2V5CWxhbmRJbmRleAppbmZyYUxldmVsBAl2b2xQcmVmaXgJAKwCAgkArAICCQCkAwEFCWxhbmRJbmRleAIBXwkApAMBBQppbmZyYUxldmVsBAFwCQC1CQIJAQt2YWx1ZU9yRWxzZQIJAKIIAQUFd2hLZXkJAKwCAgUJdm9sUHJlZml4Ahk6MF8wXzBfMF8wXzA6MF8wXzBfMF8wXzA6AgE6CQDMCAIJAJEDAgUBcAUId2hJZHhWb2wJAMwIAgMJAAACCQCQAwEJALUJAgkAkQMCBQFwBQh3aElkeFJlcwIBXwUGTlVNUkVTCQCRAwIFAXAFCHdoSWR4UmVzAgswXzBfMF8wXzBfMAkAzAgCAwkAAAIJAJADAQkAtQkCCQCRAwIFAXAFCHdoSWR4TWF0AgFfBQZOVU1SRVMJAJEDAgUBcAUId2hJZHhNYXQCCzBfMF8wXzBfMF8wCQDMCAIJAJEDAgUBcAUJd2hJZHhQcm9kBQNuaWwBDWR1Y2tJbmZvVHVwbGUBC2R1Y2tBc3NldElkCQCXCgUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2R1Y2tBc3NldElkAP///////////wEICQEFdmFsdWUBCQDsBwEJANkEAQULZHVja0Fzc2V0SWQEbmFtZQkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJAQ9rZXlEdWNrTG9jYXRpb24BBQtkdWNrQXNzZXRJZAIACQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBDWtleUR1Y2tIZWFsdGgBBQtkdWNrQXNzZXRJZAD///////////8BCQEIYXNTdHJpbmcBCQD8BwQFD3N0YWtpbmdDb250cmFjdAITZ2V0QmFja3BhY2tSRUFET05MWQkAzAgCBQtkdWNrQXNzZXRJZAUDbmlsBQNuaWwBDWR1Y2tJbmZvQXJyYXkDC2R1Y2tBc3NldElkBW93bmVyB2R1Y2tJbmYJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2R1Y2tBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQgFB2R1Y2tJbmYCXzEJAMwIAgkArAICAgwlcyVzX19uYW1lX18IBQdkdWNrSW5mAl8yCQDMCAIJAKwCAgIQJXMlc19fbG9jYXRpb25fXwgFB2R1Y2tJbmYCXzMJAMwIAgkArAICAg4lcyVkX19oZWFsdGhfXwkApAMBCAUHZHVja0luZgJfNAkAzAgCCQCsAgICECVzJXNfX2JhY2tQYWNrX18IBQdkdWNrSW5mAl81BQNuaWwBDWxhbmRJbmZvQXJyYXkDC2xhbmRBc3NldElkBW93bmVyCnN0YWtlZFRpbWUDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBAFhCQEFdmFsdWUBCQDsBwEJANkEAQULbGFuZEFzc2V0SWQEAWQJALUJAggFAWELZGVzY3JpcHRpb24CAV8EB2xhbmROdW0DCQBmAggFAWEIcXVhbnRpdHkAAAkAkQMCBQFkBQpyZWNMYW5kTnVtCQCsAgICAS0JAJEDAgUBZAUKcmVjTGFuZE51bQQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwQJZGVsdGFUaW1lCQBlAggFCWxhc3RCbG9jawl0aW1lc3RhbXAFCnN0YWtlZFRpbWUECGF2YWlsUmVzAwkAZgIFCnN0YWtlZFRpbWUAAAkAawMFCWRlbHRhVGltZQkAaAIIBQxwcm9kdWN0aXZpdHkCXzMFBnBpZWNlcwUJREFZTUlMTElTAAAEB25lZWRNYXQJAGsDBRFJbmZyYVVwZ3JhZGVDb3N0UwkAaAIFBnBpZWNlcwkAZAIIBQxwcm9kdWN0aXZpdHkCXzEAAQUFU1NJWkUEDmdsb2JhbEFuZExvY2FsAwkAZgIFCnN0YWtlZFRpbWUAAAkBDWFzU3BsaXRSZXN1bHQBCQD8BwQFD3N0YWtpbmdDb250cmFjdAIkc3BsaXRCeUdsb2JhbEFuZExvY2FsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQJAMwIAgUIYXZhaWxSZXMJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwUDbmlsBQNuaWwJAJQKAgkBEmFzTGlzdEludENvbXBhY3RlZAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhxzcGxpdEJ5R2xvYmFsV2VpZ2h0c1JFQURPTkxZCQDMCAIFB25lZWRNYXQFA25pbAUDbmlsAgAJAMwIAgkArAICAg8lcyVzX19hc3NldElkX18FC2xhbmRBc3NldElkCQDMCAIJAKwCAgINJXMlc19fb3duZXJfXwUFb3duZXIJAMwIAgkArAICAhIlcyVkX19zdGFrZWRUaW1lX18JAKQDAQUKc3Rha2VkVGltZQkAzAgCCQCsAgICEyVzJXNfX2Rlc2NyaXB0aW9uX18JALkJAgkAzAgCBQdsYW5kTnVtCQDMCAIJAJEDAgUBZAULcmVjTGFuZFNpemUJAMwIAgkAkQMCBQFkBQtyZWNUZXJyYWlucwkAzAgCCQCRAwIFAWQFDHJlY0NvbnRpbmVudAUDbmlsAgFfCQDMCAIJAKwCAgISJXMlZF9faW5mcmFMZXZlbF9fCQCkAwEIBQxwcm9kdWN0aXZpdHkCXzEJAMwIAgkArAICAhYlcyVzX19hdmFpbFJlc0J5VHlwZV9fCAUOZ2xvYmFsQW5kTG9jYWwCXzIJAMwIAgkArAICAhUlcyVkX19hdmFpbFJlc1RvdGFsX18JAKQDAQUIYXZhaWxSZXMJAMwIAgkArAICAhQlcyVzX19uZWVkTWF0ZXJpYWxfXwgFDmdsb2JhbEFuZExvY2FsAl8xCQDMCAIJALkJAgkAzAgCAgQlcyVzCQDMCAICDWxhbmRBcnRlZmFjdHMJAMwIAgkArAICAghQUkVTQUxFOgkApAMBCAUMcHJvZHVjdGl2aXR5Al8yBQNuaWwFA1NFUAkAzAgCCQCsAgICESVzJXNfX3dhcmVIb3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6BQNuaWwKAWkBDWNvbnN0cnVjdG9yVjEDD3N0YWtpbmdDb250cmFjdA9lY29ub215Q29udHJhY3QSZ292ZXJuYW5jZUNvbnRyYWN0AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIScGVybWlzc2lvbnMgZGVuaWVkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQprZXlSZXN0Q2ZnAAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCBQ9zdGFraW5nQ29udHJhY3QJAMwIAgUPZWNvbm9teUNvbnRyYWN0CQDMCAIFEmdvdmVybmFuY2VDb250cmFjdAUDbmlsBQNTRVAFA25pbAFpARJ3YWxsZXRJbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0CQCUCgIFA25pbAkBDndhbGxldEludGVybmFsAQUOdXNlckFkZHJlc3NPcHQBaQEQZHVja0luZm9SRUFET05MWQILZHVja0Fzc2V0SWQOdXNlckFkZHJlc3NPcHQEBGFkZHIJAKYIAQUOdXNlckFkZHJlc3NPcHQECWR1Y2tBc3NldAkA2QQBBQtkdWNrQXNzZXRJZAMJAAACBQtkdWNrQXNzZXRJZAIACQACAQIXZHVja0Fzc2V0SWQgaXMgcmVxdWlyZWQECWR1Y2tPd25lcgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQEBW93bmVyAwkBCWlzRGVmaW5lZAEFCWR1Y2tPd25lcgkBBXZhbHVlAQUJZHVja093bmVyAwMJAQlpc0RlZmluZWQBBQRhZGRyCQAAAgkA8AcCCQEFdmFsdWUBBQRhZGRyBQlkdWNrQXNzZXQAAQcFDnVzZXJBZGRyZXNzT3B0AgAJAJQKAgUDbmlsCQCUCgIJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFBW93bmVyCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARBsYW5kSW5mb1JFQURPTkxZAgtsYW5kQXNzZXRJZA51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQJbGFuZEFzc2V0CQDZBAEFC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQAAAQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAwMJAQlpc0RlZmluZWQBBQRhZGRyCQAAAgkA8AcCCQEFdmFsdWUBBQRhZGRyBQlsYW5kQXNzZXQAAQcFDnVzZXJBZGRyZXNzT3B0AgAECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQ51c2VyQWRkcmVzc09wdAQHZHVja0luZgMDCQEJaXNEZWZpbmVkAQUEYWRkcgkBCWlzRGVmaW5lZAEFCnN0YWtlZER1Y2sHBAtkdWNrQXNzZXRJZAkBBXZhbHVlAQUKc3Rha2VkRHVjawkAlAoCBQtkdWNrQXNzZXRJZAkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAkAlAoCAgAJAJcKBQD///////////8BAgACAAD///////////8BAgAJAJQKAgUDbmlsCQCVCgMJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFBW93bmVyBQpzdGFrZWRUaW1lCQENZHVja0luZm9BcnJheQMIBQdkdWNrSW5mAl8xBQ51c2VyQWRkcmVzc09wdAgFB2R1Y2tJbmYCXzIJAQ53YWxsZXRJbnRlcm5hbAEFDnVzZXJBZGRyZXNzT3B0AWkBF3N0YWtlZExhbmRzSW5mb1JFQURPTkxZAglteUFkZHJlc3MQbGFuZE93bmVyQWRkcmVzcwMJAAACBRBsYW5kT3duZXJBZGRyZXNzAgAJAAIBAhxsYW5kT3duZXJBZGRyZXNzIGlzIHJlcXVpcmVkBAZteUFkZHIJAKYIAQUJbXlBZGRyZXNzBAhsYW5kc1N0cgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBBRBsYW5kT3duZXJBZGRyZXNzBAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkBAlsYW5kQXNzZXQJANkEAQULbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAAABAVkZXNjcggJAQV2YWx1ZQEJAOwHAQUJbGFuZEFzc2V0C2Rlc2NyaXB0aW9uBAFkCQC1CQIFBWRlc2NyAgFfBAZwaWVjZXMJAQ9udW1QaWVjZXNCeVNpemUBCQCRAwIFAWQFC3JlY0xhbmRTaXplBAxwcm9kdWN0aXZpdHkJAQxhcHBseUJvbnVzZXMCBQtsYW5kQXNzZXRJZAUGcGllY2VzBAlkZWx0YVRpbWUJAGUCCAUJbGFzdEJsb2Nr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ZHIJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAJQKAgULZHVja0Fzc2V0SWQJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQJAJQKAgIACQCXCgUA////////////AQIAAgAA////////////AQIACQCUCgIFA25pbAkAlQoDBQFyCQENZHVja0luZm9BcnJheQMIBQdkdWNrSW5mAl8xBQlteUFkZHJlc3MIBQdkdWNrSW5mAl8yCQEOd2FsbGV0SW50ZXJuYWwBBQlteUFkZHJlc3MBaQEXZHVja0J5T3duZXJJbmZvUkVBRE9OTFkBC3VzZXJBZGRyZXNzBApzdGFrZWREdWNrCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQULdXNlckFkZHJlc3MJAJQKAgUDbmlsAwMJAQlpc0RlZmluZWQBCQCmCAEFC3VzZXJBZGRyZXNzCQEJaXNEZWZpbmVkAQUKc3Rha2VkRHVjawcEC2R1Y2tBc3NldElkCQEFdmFsdWUBBQpzdGFrZWREdWNrCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkBQt1c2VyQWRkcmVzcwkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAkBDWR1Y2tJbmZvQXJyYXkDAgAFC3VzZXJBZGRyZXNzCQCXCgUA////////////AQIAAgAA////////////AQIAAWkBGWR1Y2tCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2R1Y2tBc3NldElkBAVvd25lcgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQEB2R1Y2tJbmYJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQJAJQKAgUDbmlsCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkAwkBCWlzRGVmaW5lZAEFBW93bmVyCQEFdmFsdWUBBQVvd25lcgIACQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkAWkBGWxhbmRCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAJQKAgUDbmlsCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBQVvd25lcgUKc3Rha2VkVGltZQFpAR5zdGFrZWRMYW5kc0J5T3duZXJJbmZvUkVBRE9OTFkBEGxhbmRPd25lckFkZHJlc3MDCQAAAgUQbGFuZE93bmVyQWRkcmVzcwIACQACAQIcbGFuZE93bmVyQWRkcmVzcyBpcyByZXF1aXJlZAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUQbGFuZE93bmVyQWRkcmVzcwQFbGFuZHMDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIJAL0JAgkBBXZhbHVlAQUIbGFuZHNTdHICAV8FA25pbAoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQECnN0YWtlZFRpbWUJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAP///////////wEJAM0IAgUDYWNjCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBRBsYW5kT3duZXJBZGRyZXNzBQpzdGFrZWRUaW1lBAFyCgACJGwFBWxhbmRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQdvbmVMYW5kAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQBiAGMAZAkAlAoCBQNuaWwFAXIBaQEWbGFuZHNCeUlkc0luZm9SRUFET05MWQEMbGFuZEFzc2V0SWRzCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAM0IAgUDYWNjCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBQVvd25lcgUKc3Rha2VkVGltZQQBcgoAAiRsBQxsYW5kQXNzZXRJZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkCQCUCgIFA25pbAUBcgAUqOt3", "height": 2488123, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: YF4t7ssAW2unMGdVYKvF2qnYsMT9ikYz9vLmVZUf7UJ Next: Arot5aPvrtF9Z1biDvDoErRFbBsukgRshkNKh6Puwi2q Diff:
Old | New | Differences | |
---|---|---|---|
225 | 225 | ||
226 | 226 | ||
227 | 227 | func aL (aM,aN,aH) = { | |
228 | - | let aO = (( | |
229 | - | let aP = split(valueOrElse(getString( | |
230 | - | [ | |
228 | + | let aO = ((toString(aN) + "_") + toString(aH)) | |
229 | + | let aP = split(valueOrElse(getString(aM), (aO + ":0_0_0_0_0_0:0_0_0_0_0_0:")), ":") | |
230 | + | [aP[u], if ((size(split(aP[v], "_")) == k)) | |
231 | 231 | then aP[v] | |
232 | 232 | else "0_0_0_0_0_0", if ((size(split(aP[w], "_")) == k)) | |
233 | 233 | then aP[w] |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = take(drop(this.bytes, 1), 1) | |
5 | 5 | ||
6 | 6 | let b = { | |
7 | 7 | let c = a | |
8 | 8 | if ((base58'2W' == c)) | |
9 | 9 | then base58'DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p' | |
10 | 10 | else if ((base58'2T' == c)) | |
11 | 11 | then base58'HezsdQuRDtzksAYUy97gfhKy7Z1NW2uXYSHA3bgqenNZ' | |
12 | 12 | else throw("Unknown chain") | |
13 | 13 | } | |
14 | 14 | ||
15 | 15 | let d = { | |
16 | 16 | let c = a | |
17 | 17 | if ((base58'2W' == c)) | |
18 | 18 | then 6307198406 | |
19 | 19 | else if ((base58'2T' == c)) | |
20 | 20 | then 63071984 | |
21 | 21 | else throw("Unknown chain") | |
22 | 22 | } | |
23 | 23 | ||
24 | 24 | let e = "LAND" | |
25 | 25 | ||
26 | 26 | let f = "DUCK" | |
27 | 27 | ||
28 | 28 | let g = "__" | |
29 | 29 | ||
30 | 30 | let h = "PRESALE" | |
31 | 31 | ||
32 | 32 | let i = 3456000 | |
33 | 33 | ||
34 | 34 | let j = 86400000 | |
35 | 35 | ||
36 | 36 | let k = 6 | |
37 | 37 | ||
38 | 38 | let l = 25 | |
39 | 39 | ||
40 | 40 | let m = 100 | |
41 | 41 | ||
42 | 42 | let n = 225 | |
43 | 43 | ||
44 | 44 | let o = 400 | |
45 | 45 | ||
46 | 46 | let p = 625 | |
47 | 47 | ||
48 | 48 | let q = 0 | |
49 | 49 | ||
50 | 50 | let r = 1 | |
51 | 51 | ||
52 | 52 | let s = 2 | |
53 | 53 | ||
54 | 54 | let t = 3 | |
55 | 55 | ||
56 | 56 | let u = 0 | |
57 | 57 | ||
58 | 58 | let v = 1 | |
59 | 59 | ||
60 | 60 | let w = 2 | |
61 | 61 | ||
62 | 62 | let x = 3 | |
63 | 63 | ||
64 | 64 | func y () = "%s__restConfig" | |
65 | 65 | ||
66 | 66 | ||
67 | 67 | let z = 1 | |
68 | 68 | ||
69 | 69 | let A = 2 | |
70 | 70 | ||
71 | 71 | let B = 3 | |
72 | 72 | ||
73 | 73 | func C (D,E) = valueOrErrorMessage(getString(D, E), makeString(["mandatory ", toString(D), ".", E, " is not defined"], "")) | |
74 | 74 | ||
75 | 75 | ||
76 | 76 | func F () = split_4C(C(this, y()), g) | |
77 | 77 | ||
78 | 78 | ||
79 | 79 | func G (H,I) = valueOrErrorMessage(addressFromString(H[I]), ("Rest cfg doesn't contain address at index " + toString(I))) | |
80 | 80 | ||
81 | 81 | ||
82 | 82 | let H = F() | |
83 | 83 | ||
84 | 84 | let J = G(H, z) | |
85 | 85 | ||
86 | 86 | let K = G(H, A) | |
87 | 87 | ||
88 | 88 | let L = G(H, A) | |
89 | 89 | ||
90 | 90 | func M (N) = ("duckOwner_" + N) | |
91 | 91 | ||
92 | 92 | ||
93 | 93 | func O (N) = ("stakedTime_" + N) | |
94 | 94 | ||
95 | 95 | ||
96 | 96 | func P (Q) = ("stakedDuckByOwner_" + Q) | |
97 | 97 | ||
98 | 98 | ||
99 | 99 | func R (S,N,Q) = ((((("stakedTimeByTypeAssetIdAndOwner_" + S) + "_") + N) + "_") + Q) | |
100 | 100 | ||
101 | 101 | ||
102 | 102 | func T (U) = ("backPack_" + U) | |
103 | 103 | ||
104 | 104 | ||
105 | 105 | func V (W) = ("wareHouse_" + W) | |
106 | 106 | ||
107 | 107 | ||
108 | 108 | func X (U) = ("duckLocation_" + U) | |
109 | 109 | ||
110 | 110 | ||
111 | 111 | func Y (U) = ("duckHealth_" + U) | |
112 | 112 | ||
113 | 113 | ||
114 | 114 | func Z (N) = ("nftOwner_" + N) | |
115 | 115 | ||
116 | 116 | ||
117 | 117 | func aa (N) = ("infraLevel_" + N) | |
118 | 118 | ||
119 | 119 | ||
120 | 120 | func ab (ac,N) = makeString(["landArtStatus", ac, N], "_") | |
121 | 121 | ||
122 | 122 | ||
123 | 123 | func ad (N) = ("presaleArtActivated_" + N) | |
124 | 124 | ||
125 | 125 | ||
126 | 126 | func ae (Q) = ("stakedLandsByOwner_" + Q) | |
127 | 127 | ||
128 | 128 | ||
129 | 129 | func af (ag) = { | |
130 | 130 | let c = ag | |
131 | 131 | if ($isInstanceOf(c, "String")) | |
132 | 132 | then { | |
133 | 133 | let ah = c | |
134 | 134 | ah | |
135 | 135 | } | |
136 | 136 | else throw("fail to cast into String") | |
137 | 137 | } | |
138 | 138 | ||
139 | 139 | ||
140 | 140 | func ai (aj) = { | |
141 | 141 | let c = aj | |
142 | 142 | if ($isInstanceOf(c, "List[Any]")) | |
143 | 143 | then { | |
144 | 144 | let ak = c | |
145 | 145 | if ((size(ak) != k)) | |
146 | 146 | then throw(("Array size is " + toString(size(ak)))) | |
147 | 147 | else { | |
148 | 148 | func al (am,an) = { | |
149 | 149 | let ao = an | |
150 | 150 | if ($isInstanceOf(ao, "Int")) | |
151 | 151 | then { | |
152 | 152 | let ap = ao | |
153 | 153 | (am :+ toString(ap)) | |
154 | 154 | } | |
155 | 155 | else throw("List type is not Int") | |
156 | 156 | } | |
157 | 157 | ||
158 | 158 | let aq = { | |
159 | 159 | let ar = ak | |
160 | 160 | let as = size(ar) | |
161 | 161 | let at = nil | |
162 | 162 | func au (av,aw) = if ((aw >= as)) | |
163 | 163 | then av | |
164 | 164 | else al(av, ar[aw]) | |
165 | 165 | ||
166 | 166 | func ax (av,aw) = if ((aw >= as)) | |
167 | 167 | then av | |
168 | 168 | else throw("List size exceeds 6") | |
169 | 169 | ||
170 | 170 | ax(au(au(au(au(au(au(at, 0), 1), 2), 3), 4), 5), 6) | |
171 | 171 | } | |
172 | 172 | makeString(aq, "_") | |
173 | 173 | } | |
174 | 174 | } | |
175 | 175 | else throw("fail to cast into List") | |
176 | 176 | } | |
177 | 177 | ||
178 | 178 | ||
179 | 179 | func ay (aj) = { | |
180 | 180 | let c = aj | |
181 | 181 | if ($isInstanceOf(c, "(List[Any], List[Any])")) | |
182 | 182 | then { | |
183 | 183 | let az = c | |
184 | 184 | $Tuple2(ai(az._1), ai(az._2)) | |
185 | 185 | } | |
186 | 186 | else throw("fail to cast into (List, List)") | |
187 | 187 | } | |
188 | 188 | ||
189 | 189 | ||
190 | 190 | func aA (aB) = { | |
191 | 191 | let aC = addressFromString(aB) | |
192 | 192 | let aD = if (isDefined(aC)) | |
193 | 193 | then wavesBalance(value(aC)) | |
194 | 194 | else BalanceDetails(0, 0, 0, 0) | |
195 | 195 | let aE = if (isDefined(aC)) | |
196 | 196 | then assetBalance(value(aC), b) | |
197 | 197 | else 0 | |
198 | 198 | makeString(["%s%d%d", "wallet", toString(aD.available), toString(aE)], g) | |
199 | 199 | } | |
200 | 200 | ||
201 | 201 | ||
202 | 202 | func aF (W,aG) = { | |
203 | 203 | let aH = valueOrElse(getInteger(J, aa(W)), 0) | |
204 | 204 | let aI = valueOrElse(getInteger(J, ab(h, W)), if (valueOrElse(getBoolean(J, ad(W)), false)) | |
205 | 205 | then aG | |
206 | 206 | else 0) | |
207 | 207 | $Tuple3(aH, aI, ((i + fraction(i, aH, 4)) + fraction(i, (aI * 3), (aG * 20)))) | |
208 | 208 | } | |
209 | 209 | ||
210 | 210 | ||
211 | 211 | func aJ (aK) = { | |
212 | 212 | let c = aK | |
213 | 213 | if (("S" == c)) | |
214 | 214 | then l | |
215 | 215 | else if (("M" == c)) | |
216 | 216 | then m | |
217 | 217 | else if (("L" == c)) | |
218 | 218 | then n | |
219 | 219 | else if (("XL" == c)) | |
220 | 220 | then o | |
221 | 221 | else if (("XXL" == c)) | |
222 | 222 | then p | |
223 | 223 | else throw("Unknown land size") | |
224 | 224 | } | |
225 | 225 | ||
226 | 226 | ||
227 | 227 | func aL (aM,aN,aH) = { | |
228 | - | let aO = (( | |
229 | - | let aP = split(valueOrElse(getString( | |
230 | - | [ | |
228 | + | let aO = ((toString(aN) + "_") + toString(aH)) | |
229 | + | let aP = split(valueOrElse(getString(aM), (aO + ":0_0_0_0_0_0:0_0_0_0_0_0:")), ":") | |
230 | + | [aP[u], if ((size(split(aP[v], "_")) == k)) | |
231 | 231 | then aP[v] | |
232 | 232 | else "0_0_0_0_0_0", if ((size(split(aP[w], "_")) == k)) | |
233 | 233 | then aP[w] | |
234 | 234 | else "0_0_0_0_0_0", aP[x]] | |
235 | 235 | } | |
236 | 236 | ||
237 | 237 | ||
238 | 238 | func aQ (U) = $Tuple5(valueOrElse(getInteger(J, O(U)), -1), value(assetInfo(fromBase58String(U))).name, valueOrElse(getString(J, X(U)), ""), valueOrElse(getInteger(J, Y(U)), -1), af(invoke(J, "getBackpackREADONLY", [U], nil))) | |
239 | 239 | ||
240 | 240 | ||
241 | 241 | func aR (U,aS,aT) = [("%s%s__assetId__" + U), ("%s%s__owner__" + aS), ("%s%d__stakedTime__" + toString(aT._1)), ("%s%s__name__" + aT._2), ("%s%s__location__" + aT._3), ("%s%d__health__" + toString(aT._4)), ("%s%s__backPack__" + aT._5)] | |
242 | 242 | ||
243 | 243 | ||
244 | 244 | func aU (W,aS,aV) = if ((W == "")) | |
245 | 245 | then throw("landAssetId is required") | |
246 | 246 | else { | |
247 | 247 | let aW = value(assetInfo(fromBase58String(W))) | |
248 | 248 | let aX = split(aW.description, "_") | |
249 | 249 | let aY = if ((aW.quantity > 0)) | |
250 | 250 | then aX[q] | |
251 | 251 | else ("-" + aX[q]) | |
252 | 252 | let aG = aJ(aX[r]) | |
253 | 253 | let aZ = aF(W, aG) | |
254 | 254 | let ba = (lastBlock.timestamp - aV) | |
255 | 255 | let bb = if ((aV > 0)) | |
256 | 256 | then fraction(ba, (aZ._3 * aG), j) | |
257 | 257 | else 0 | |
258 | 258 | let bc = fraction(d, (aG * (aZ._1 + 1)), l) | |
259 | 259 | let bd = if ((aV > 0)) | |
260 | 260 | then ay(invoke(J, "splitByGlobalAndLocalWeightsREADONLY", [bc, bb, aX[s]], nil)) | |
261 | 261 | else $Tuple2(ai(invoke(J, "splitByGlobalWeightsREADONLY", [bc], nil)), "") | |
262 | 262 | [("%s%s__assetId__" + W), ("%s%s__owner__" + aS), ("%s%d__stakedTime__" + toString(aV)), ("%s%s__description__" + makeString([aY, aX[r], aX[s], aX[t]], "_")), ("%s%d__infraLevel__" + toString(aZ._1)), ("%s%s__availResByType__" + bd._2), ("%s%d__availResTotal__" + toString(bb)), ("%s%s__needMaterial__" + bd._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(aZ._2))], g), ("%s%s__wareHouse__" + makeString(aL(V(W), (aG / l), aZ._1), ":"))] | |
263 | 263 | } | |
264 | 264 | ||
265 | 265 | ||
266 | 266 | @Callable(be) | |
267 | 267 | func constructorV1 (J,K,L) = if ((be.caller != this)) | |
268 | 268 | then throw("permissions denied") | |
269 | 269 | else [StringEntry(y(), makeString(["%s%s%s", J, K, L], g))] | |
270 | 270 | ||
271 | 271 | ||
272 | 272 | ||
273 | 273 | @Callable(be) | |
274 | 274 | func walletInfoREADONLY (aB) = $Tuple2(nil, aA(aB)) | |
275 | 275 | ||
276 | 276 | ||
277 | 277 | ||
278 | 278 | @Callable(be) | |
279 | 279 | func duckInfoREADONLY (U,aB) = { | |
280 | 280 | let aC = addressFromString(aB) | |
281 | 281 | let bf = fromBase58String(U) | |
282 | 282 | if ((U == "")) | |
283 | 283 | then throw("duckAssetId is required") | |
284 | 284 | else { | |
285 | 285 | let bg = getString(J, M(U)) | |
286 | 286 | let aS = if (isDefined(bg)) | |
287 | 287 | then value(bg) | |
288 | 288 | else if (if (isDefined(aC)) | |
289 | 289 | then (assetBalance(value(aC), bf) == 1) | |
290 | 290 | else false) | |
291 | 291 | then aB | |
292 | 292 | else "" | |
293 | 293 | $Tuple2(nil, $Tuple2(aR(U, aS, aQ(U)), aA(aB))) | |
294 | 294 | } | |
295 | 295 | } | |
296 | 296 | ||
297 | 297 | ||
298 | 298 | ||
299 | 299 | @Callable(be) | |
300 | 300 | func landInfoREADONLY (W,aB) = { | |
301 | 301 | let aC = addressFromString(aB) | |
302 | 302 | let bh = fromBase58String(W) | |
303 | 303 | if ((W == "")) | |
304 | 304 | then throw("landAssetId is required") | |
305 | 305 | else { | |
306 | 306 | let aV = valueOrElse(getInteger(J, O(W)), 0) | |
307 | 307 | let aS = if ((aV > 0)) | |
308 | 308 | then value(getString(J, Z(W))) | |
309 | 309 | else if (if (isDefined(aC)) | |
310 | 310 | then (assetBalance(value(aC), bh) == 1) | |
311 | 311 | else false) | |
312 | 312 | then aB | |
313 | 313 | else "" | |
314 | 314 | let bi = getString(J, P(aB)) | |
315 | 315 | let aT = if (if (isDefined(aC)) | |
316 | 316 | then isDefined(bi) | |
317 | 317 | else false) | |
318 | 318 | then { | |
319 | 319 | let U = value(bi) | |
320 | 320 | $Tuple2(U, aQ(U)) | |
321 | 321 | } | |
322 | 322 | else $Tuple2("", $Tuple5(-1, "", "", -1, "")) | |
323 | 323 | $Tuple2(nil, $Tuple3(aU(W, aS, aV), aR(aT._1, aB, aT._2), aA(aB))) | |
324 | 324 | } | |
325 | 325 | } | |
326 | 326 | ||
327 | 327 | ||
328 | 328 | ||
329 | 329 | @Callable(be) | |
330 | 330 | func stakedLandsInfoREADONLY (bj,bk) = if ((bk == "")) | |
331 | 331 | then throw("landOwnerAddress is required") | |
332 | 332 | else { | |
333 | 333 | let bl = addressFromString(bj) | |
334 | 334 | let bm = getString(J, ae(bk)) | |
335 | 335 | let bn = if (isDefined(bm)) | |
336 | 336 | then split_51C(value(bm), "_") | |
337 | 337 | else nil | |
338 | 338 | func bo (am,W) = { | |
339 | 339 | let bh = fromBase58String(W) | |
340 | 340 | if ((W == "")) | |
341 | 341 | then throw("landAssetId is required") | |
342 | 342 | else { | |
343 | 343 | let aV = valueOrElse(getInteger(J, O(W)), 0) | |
344 | 344 | let bp = value(assetInfo(bh)).description | |
345 | 345 | let aX = split(bp, "_") | |
346 | 346 | let aG = aJ(aX[r]) | |
347 | 347 | let aZ = aF(W, aG) | |
348 | 348 | let ba = (lastBlock.timestamp - aV) | |
349 | 349 | let bb = fraction(ba, (aZ._3 * aG), j) | |
350 | 350 | (am :+ [("%s%s__landAssetId__" + W), ("%s%d__stakedTime__" + toString(aV)), ("%s%s__description__" + bp), ("%s%d__infraLevel__" + toString(aZ._1)), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(aZ._2))], g), ("%s%s__availRes__" + toString(bb))]) | |
351 | 351 | } | |
352 | 352 | } | |
353 | 353 | ||
354 | 354 | let aq = { | |
355 | 355 | let ar = bn | |
356 | 356 | let as = size(ar) | |
357 | 357 | let at = nil | |
358 | 358 | func au (av,aw) = if ((aw >= as)) | |
359 | 359 | then av | |
360 | 360 | else bo(av, ar[aw]) | |
361 | 361 | ||
362 | 362 | func ax (av,aw) = if ((aw >= as)) | |
363 | 363 | then av | |
364 | 364 | else throw("List size exceeds 100") | |
365 | 365 | ||
366 | 366 | ax(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(at, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
367 | 367 | } | |
368 | 368 | let bi = getString(J, P(bj)) | |
369 | 369 | let aT = if (if (isDefined(bl)) | |
370 | 370 | then isDefined(bi) | |
371 | 371 | else false) | |
372 | 372 | then { | |
373 | 373 | let U = value(bi) | |
374 | 374 | $Tuple2(U, aQ(U)) | |
375 | 375 | } | |
376 | 376 | else $Tuple2("", $Tuple5(-1, "", "", -1, "")) | |
377 | 377 | $Tuple2(nil, $Tuple3(aq, aR(aT._1, bj, aT._2), aA(bj))) | |
378 | 378 | } | |
379 | 379 | ||
380 | 380 | ||
381 | 381 | ||
382 | 382 | @Callable(be) | |
383 | 383 | func duckByOwnerInfoREADONLY (bq) = { | |
384 | 384 | let bi = getString(J, P(bq)) | |
385 | 385 | $Tuple2(nil, if (if (isDefined(addressFromString(bq))) | |
386 | 386 | then isDefined(bi) | |
387 | 387 | else false) | |
388 | 388 | then { | |
389 | 389 | let U = value(bi) | |
390 | 390 | aR(U, bq, aQ(U)) | |
391 | 391 | } | |
392 | 392 | else aR("", bq, $Tuple5(-1, "", "", -1, ""))) | |
393 | 393 | } | |
394 | 394 | ||
395 | 395 | ||
396 | 396 | ||
397 | 397 | @Callable(be) | |
398 | 398 | func duckByAssetIdInfoREADONLY (U) = { | |
399 | 399 | let aS = getString(J, M(U)) | |
400 | 400 | let aT = aQ(U) | |
401 | 401 | $Tuple2(nil, aR(U, if (isDefined(aS)) | |
402 | 402 | then value(aS) | |
403 | 403 | else "", aQ(U))) | |
404 | 404 | } | |
405 | 405 | ||
406 | 406 | ||
407 | 407 | ||
408 | 408 | @Callable(be) | |
409 | 409 | func landByAssetIdInfoREADONLY (W) = if ((W == "")) | |
410 | 410 | then throw("landAssetId is required") | |
411 | 411 | else { | |
412 | 412 | let aV = valueOrElse(getInteger(J, O(W)), -1) | |
413 | 413 | let aS = if ((aV > 0)) | |
414 | 414 | then value(getString(J, Z(W))) | |
415 | 415 | else "" | |
416 | 416 | $Tuple2(nil, aU(W, aS, aV)) | |
417 | 417 | } | |
418 | 418 | ||
419 | 419 | ||
420 | 420 | ||
421 | 421 | @Callable(be) | |
422 | 422 | func stakedLandsByOwnerInfoREADONLY (bk) = if ((bk == "")) | |
423 | 423 | then throw("landOwnerAddress is required") | |
424 | 424 | else { | |
425 | 425 | let bm = getString(J, ae(bk)) | |
426 | 426 | let bn = if (isDefined(bm)) | |
427 | 427 | then split_51C(value(bm), "_") | |
428 | 428 | else nil | |
429 | 429 | func bo (am,W) = if ((W == "")) | |
430 | 430 | then throw("landAssetId is required") | |
431 | 431 | else { | |
432 | 432 | let aV = valueOrElse(getInteger(J, O(W)), -1) | |
433 | 433 | (am :+ aU(W, bk, aV)) | |
434 | 434 | } | |
435 | 435 | ||
436 | 436 | let aq = { | |
437 | 437 | let ar = bn | |
438 | 438 | let as = size(ar) | |
439 | 439 | let at = nil | |
440 | 440 | func au (av,aw) = if ((aw >= as)) | |
441 | 441 | then av | |
442 | 442 | else bo(av, ar[aw]) | |
443 | 443 | ||
444 | 444 | func ax (av,aw) = if ((aw >= as)) | |
445 | 445 | then av | |
446 | 446 | else throw("List size exceeds 100") | |
447 | 447 | ||
448 | 448 | ax(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(at, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
449 | 449 | } | |
450 | 450 | $Tuple2(nil, aq) | |
451 | 451 | } | |
452 | 452 | ||
453 | 453 | ||
454 | 454 | ||
455 | 455 | @Callable(be) | |
456 | 456 | func landsByIdsInfoREADONLY (br) = { | |
457 | 457 | func bo (am,W) = if ((W == "")) | |
458 | 458 | then throw("landAssetId is required") | |
459 | 459 | else { | |
460 | 460 | let aV = valueOrElse(getInteger(J, O(W)), -1) | |
461 | 461 | let aS = if ((aV > 0)) | |
462 | 462 | then value(getString(J, Z(W))) | |
463 | 463 | else "" | |
464 | 464 | (am :+ aU(W, aS, aV)) | |
465 | 465 | } | |
466 | 466 | ||
467 | 467 | let aq = { | |
468 | 468 | let ar = br | |
469 | 469 | let as = size(ar) | |
470 | 470 | let at = nil | |
471 | 471 | func au (av,aw) = if ((aw >= as)) | |
472 | 472 | then av | |
473 | 473 | else bo(av, ar[aw]) | |
474 | 474 | ||
475 | 475 | func ax (av,aw) = if ((aw >= as)) | |
476 | 476 | then av | |
477 | 477 | else throw("List size exceeds 100") | |
478 | 478 | ||
479 | 479 | ax(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(au(at, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100) | |
480 | 480 | } | |
481 | 481 | $Tuple2(nil, aq) | |
482 | 482 | } | |
483 | 483 | ||
484 | 484 |
github/deemru/w8io/026f985 62.13 ms ◑