tx · 4ftLKDsZgV4CRkkXqTGSfZCpRkS7reXDC3882MRxbxNT

3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy:  -0.02100000 Waves

2023.05.02 17:19 [2560246] smart account 3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy > SELF 0.00000000 Waves

{ "type": 13, "id": "4ftLKDsZgV4CRkkXqTGSfZCpRkS7reXDC3882MRxbxNT", "fee": 2100000, "feeAssetId": null, "timestamp": 1683037155170, "version": 2, "chainId": 84, "sender": "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy", "senderPublicKey": "C3PaRKeL8AUKbwUqdniMQtThgcTh5DYHV1777Hkxy7rp", "proofs": [ "2Rh7P9C78E8cxtLmhSj2iokk9Gw2Sz2p1hUC3xYWsNfKUg4tdsH4tRkkqHmK6GMCvxLFHDvvB1iT7iDWYzGXE7jW" ], "script": "base64:BgJNCAISBQoDCAgIEgMKAQgSBAoCCAgSBAoCCAgSBAoCCAgSAwoBCBIDCgEIEgMKAQgSAwoBCBIDCgEYEgMKAQgSAwoBGBIDCgEYEgMKARg/AAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgARSW5mcmFVcGdyYWRlQ29zdFMEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAgMivoCUDCQAAAgEBVAUHJG1hdGNoMACAwtcvCQACAQINVW5rbm93biBjaGFpbgAKTEFORFBSRUZJWAIETEFORAAKRFVDS1BSRUZJWAIERFVDSwADU0VQAgJfXwAKQVJUUFJFU0FMRQIHUFJFU0FMRQAPREFJTFlSRVNCWVBJRUNFAID40gEACURBWU1JTExJUwCAuJkpAAZOVU1SRVMABgAFU1NJWkUAGQAFTVNJWkUAZAAFTFNJWkUA4QEABlhMU0laRQCQAwAHWFhMU0laRQDxBAAKcmVjTGFuZE51bQAAAAtyZWNMYW5kU2l6ZQABAAtyZWNUZXJyYWlucwACAAxyZWNDb250aW5lbnQAAwAId2hJZHhWb2wAAAAId2hJZHhSZXMAAQAId2hJZHhNYXQAAgAJd2hJZHhQcm9kAAMADndoSWR4TG9ja2VkVm9sAAQBCmtleVJlc3RDZmcAAg4lc19fcmVzdENvbmZpZwARSWR4Q2ZnU3Rha2luZ0RhcHAAAQARSWR4Q2ZnRWNvbm9teURhcHAAAgAUSWR4Q2ZnR292ZXJuYW5jZURhcHAAAwEPZ2V0U3RyaW5nT3JGYWlsAgdhZGRyZXNzA2tleQkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQCdCAIFB2FkZHJlc3MFA2tleQkAuQkCCQDMCAICCm1hbmRhdG9yeSAJAMwIAgkApQgBBQdhZGRyZXNzCQDMCAICAS4JAMwIAgUDa2V5CQDMCAICDyBpcyBub3QgZGVmaW5lZAUDbmlsAgABEXJlYWRSZXN0Q2ZnT3JGYWlsAAkAvAkCCQEPZ2V0U3RyaW5nT3JGYWlsAgUEdGhpcwkBCmtleVJlc3RDZmcABQNTRVABGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIHcmVzdENmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFB3Jlc3RDZmcFA2lkeAkArAICAipSZXN0IGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4AAdyZXN0Q2ZnCQERcmVhZFJlc3RDZmdPckZhaWwAAA9zdGFraW5nQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdTdGFraW5nRGFwcAAPZWNvbm9teUNvbnRyYWN0CQEYZ2V0Q29udHJhY3RBZGRyZXNzT3JGYWlsAgUHcmVzdENmZwURSWR4Q2ZnRWNvbm9teURhcHAAEmdvdmVybmFuY2VDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ0Vjb25vbXlEYXBwAQprZXlCbG9ja2VkAAIQY29udHJhY3RzQmxvY2tlZAEQa2V5RHVja0lkVG9Pd25lcgEHYXNzZXRJZAkArAICAgpkdWNrT3duZXJfBQdhc3NldElkARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQdhc3NldElkCQCsAgICC3N0YWtlZFRpbWVfBQdhc3NldElkARRrZXlTdGFrZWREdWNrQnlPd25lcgEJb3duZXJBZGRyCQCsAgICEnN0YWtlZER1Y2tCeU93bmVyXwUJb3duZXJBZGRyASJrZXlTdGFrZWRUaW1lQnlUeXBlQXNzZXRJZEFuZE93bmVyAwduZnRUeXBlB2Fzc2V0SWQJb3duZXJBZGRyCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgIgc3Rha2VkVGltZUJ5VHlwZUFzc2V0SWRBbmRPd25lcl8FB25mdFR5cGUCAV8FB2Fzc2V0SWQCAV8FCW93bmVyQWRkcgERa2V5QmFja3BhY2tCeUR1Y2sBC2R1Y2tBc3NldElkCQCsAgICCWJhY2tQYWNrXwULZHVja0Fzc2V0SWQBEmtleVdhcmVob3VzZUJ5TGFuZAELbGFuZEFzc2V0SWQJAKwCAgIKd2FyZUhvdXNlXwULbGFuZEFzc2V0SWQBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBDWtleUR1Y2tIZWFsdGgBC2R1Y2tBc3NldElkCQCsAgICC2R1Y2tIZWFsdGhfBQtkdWNrQXNzZXRJZAEVa2V5TGFuZEFzc2V0SWRUb093bmVyAQdhc3NldElkCQCsAgICCW5mdE93bmVyXwUHYXNzZXRJZAEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtpbmZyYUxldmVsXwUHYXNzZXRJZAEga2V5TGFuZEFydFN0YXR1c0J5VHlwZUFuZEFzc2V0SWQCBHR5cGUHYXNzZXRJZAkAuQkCCQDMCAICDWxhbmRBcnRTdGF0dXMJAMwIAgUEdHlwZQkAzAgCBQdhc3NldElkBQNuaWwCAV8BH2tleVByZXNhbGVBcnRBY3RpdmF0ZWRCeUFzc2V0SWQBB2Fzc2V0SWQJAKwCAgIUcHJlc2FsZUFydEFjdGl2YXRlZF8FB2Fzc2V0SWQBFWtleVN0YWtlZExhbmRzQnlPd25lcgEJb3duZXJBZGRyCQCsAgICE3N0YWtlZExhbmRzQnlPd25lcl8FCW93bmVyQWRkcgEOa2V5T3JkZXJCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCmxhbmRPcmRlcl8FC2xhbmRBc3NldElkAQhhc1N0cmluZwEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXMFByRtYXRjaDAFAXMJAAIBAhhmYWlsIHRvIGNhc3QgaW50byBTdHJpbmcBBWFzSW50AQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACA0ludAQBbgUHJG1hdGNoMAUBbgkAAgECFWZhaWwgdG8gY2FzdCBpbnRvIEludAEJYXNCb29sZWFuAQF2BAckbWF0Y2gwBQF2AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXMFByRtYXRjaDAFAXMJAAIBAhlmYWlsIHRvIGNhc3QgaW50byBCb29sZWFuARJhc0xpc3RJbnRDb21wYWN0ZWQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACCUxpc3RbQW55XQQKdmFsQW55TGlzdAUHJG1hdGNoMAMJAQIhPQIJAJADAQUKdmFsQW55TGlzdAUGTlVNUkVTCQACAQkArAICAg5BcnJheSBzaXplIGlzIAkApAMBCQCQAwEFCnZhbEFueUxpc3QKAQRjb252AgNhY2MEaXRlbQQHJG1hdGNoMQUEaXRlbQMJAAECBQckbWF0Y2gxAgNJbnQEAml0BQckbWF0Y2gxCQDNCAIFA2FjYwkApAMBBQJpdAkAAgECFExpc3QgdHlwZSBpcyBub3QgSW50BAFyCgACJGwFCnZhbEFueUxpc3QKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBBGNvbnYCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYJALkJAgUBcgIBXwkAAgECFmZhaWwgdG8gY2FzdCBpbnRvIExpc3QBDWFzU3BsaXRSZXN1bHQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACFihMaXN0W0FueV0sIExpc3RbQW55XSkEAnQyBQckbWF0Y2gwCQCUCgIJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzEJARJhc0xpc3RJbnRDb21wYWN0ZWQBCAUCdDICXzIJAAIBAh5mYWlsIHRvIGNhc3QgaW50byAoTGlzdCwgTGlzdCkBDndhbGxldEludGVybmFsAQ51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQHYmFsYW5jZQMJAQlpc0RlZmluZWQBBQRhZGRyCQDvBwEJAQV2YWx1ZQEFBGFkZHIJAQ5CYWxhbmNlRGV0YWlscwQAAAAAAAAAAAQLdXNkdEJhbGFuY2UDCQEJaXNEZWZpbmVkAQUEYWRkcgkA8AcCCQEFdmFsdWUBBQRhZGRyBQt1c2R0QXNzZXRJZAAACQC5CQIJAMwIAgIGJXMlZCVkCQDMCAICBndhbGxldAkAzAgCCQCkAwEIBQdiYWxhbmNlCWF2YWlsYWJsZQkAzAgCCQCkAwEFC3VzZHRCYWxhbmNlBQNuaWwFA1NFUAEMYXBwbHlCb251c2VzAgtsYW5kQXNzZXRJZAZwaWVjZXMECmluZnJhTGV2ZWwJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEFC2xhbmRBc3NldElkAAAECWFydFBpZWNlcwkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJASBrZXlMYW5kQXJ0U3RhdHVzQnlUeXBlQW5kQXNzZXRJZAIFCkFSVFBSRVNBTEUFC2xhbmRBc3NldElkAwkBC3ZhbHVlT3JFbHNlAgkAmwgCBQ9zdGFraW5nQ29udHJhY3QJAR9rZXlQcmVzYWxlQXJ0QWN0aXZhdGVkQnlBc3NldElkAQULbGFuZEFzc2V0SWQHBQZwaWVjZXMAAAQEYWRkNgkAaQIFCmluZnJhTGV2ZWwABgQEYWRkNwkAaQIFCmluZnJhTGV2ZWwABwkAlQoDBQppbmZyYUxldmVsBQlhcnRQaWVjZXMJAGQCCQBkAgUPREFJTFlSRVNCWVBJRUNFCQBrAwUPREFJTFlSRVNCWVBJRUNFCQBkAgkAZAIFCmluZnJhTGV2ZWwFBGFkZDYJAGgCAAIFBGFkZDcABQkAawMFD0RBSUxZUkVTQllQSUVDRQUJYXJ0UGllY2VzCQBoAgUGcGllY2VzAAUBD251bVBpZWNlc0J5U2l6ZQEIbGFuZFNpemUEByRtYXRjaDAFCGxhbmRTaXplAwkAAAICAVMFByRtYXRjaDAFBVNTSVpFAwkAAAICAU0FByRtYXRjaDAFBU1TSVpFAwkAAAICAUwFByRtYXRjaDAFBUxTSVpFAwkAAAICAlhMBQckbWF0Y2gwBQZYTFNJWkUDCQAAAgIDWFhMBQckbWF0Y2gwBQdYWExTSVpFCQACAQIRVW5rbm93biBsYW5kIHNpemUBDGdldFdhcmVob3VzZQMFd2hLZXkJbGFuZEluZGV4CmluZnJhTGV2ZWwECXZvbFByZWZpeAkArAICCQCsAgIJAKQDAQUJbGFuZEluZGV4AgFfCQCkAwEFCmluZnJhTGV2ZWwEAXAJALUJAgkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9zdGFraW5nQ29udHJhY3QFBXdoS2V5CQCsAgIFCXZvbFByZWZpeAIbOjBfMF8wXzBfMF8wOjBfMF8wXzBfMF8wOjowAgE6CQDMCAIJAJEDAgUBcAUId2hJZHhWb2wJAMwIAgMJAAACCQCQAwEJALUJAgkAkQMCBQFwBQh3aElkeFJlcwIBXwUGTlVNUkVTCQCRAwIFAXAFCHdoSWR4UmVzAgswXzBfMF8wXzBfMAkAzAgCAwkAAAIJAJADAQkAtQkCCQCRAwIFAXAFCHdoSWR4TWF0AgFfBQZOVU1SRVMJAJEDAgUBcAUId2hJZHhNYXQCCzBfMF8wXzBfMF8wCQDMCAIJAJEDAgUBcAUJd2hJZHhQcm9kCQDMCAIDCQBmAgAFCQCQAwEFAXACATAJAJEDAgUBcAUOd2hJZHhMb2NrZWRWb2wFA25pbAENZHVja0luZm9UdXBsZQELZHVja0Fzc2V0SWQJAJcKBQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULZHVja0Fzc2V0SWQA////////////AQgJAQV2YWx1ZQEJAOwHAQkA2QQBBQtkdWNrQXNzZXRJZARuYW1lCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBD2tleUR1Y2tMb2NhdGlvbgEFC2R1Y2tBc3NldElkAgAJAQt2YWx1ZU9yRWxzZQIJAJoIAgUPc3Rha2luZ0NvbnRyYWN0CQENa2V5RHVja0hlYWx0aAEFC2R1Y2tBc3NldElkAP///////////wEJAQhhc1N0cmluZwEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AhNnZXRCYWNrcGFja1JFQURPTkxZCQDMCAIFC2R1Y2tBc3NldElkBQNuaWwFA25pbAENZHVja0luZm9BcnJheQMLZHVja0Fzc2V0SWQFb3duZXIHZHVja0luZgkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULZHVja0Fzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBCAUHZHVja0luZgJfMQkAzAgCCQCsAgICDCVzJXNfX25hbWVfXwgFB2R1Y2tJbmYCXzIJAMwIAgkArAICAhAlcyVzX19sb2NhdGlvbl9fCAUHZHVja0luZgJfMwkAzAgCCQCsAgICDiVzJWRfX2hlYWx0aF9fCQCkAwEIBQdkdWNrSW5mAl80CQDMCAIJAKwCAgIQJXMlc19fYmFja1BhY2tfXwgFB2R1Y2tJbmYCXzUFA25pbAENbGFuZEluZm9BcnJheQMLbGFuZEFzc2V0SWQFb3duZXIKc3Rha2VkVGltZQMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQHbGFuZE51bQMJAGYCCAUBYQhxdWFudGl0eQAACQCRAwIFAWQFCnJlY0xhbmROdW0JAKwCAgIBLQkAkQMCBQFkBQpyZWNMYW5kTnVtBAZwaWVjZXMJAQ9udW1QaWVjZXNCeVNpemUBCQCRAwIFAWQFC3JlY0xhbmRTaXplBAxwcm9kdWN0aXZpdHkJAQxhcHBseUJvbnVzZXMCBQtsYW5kQXNzZXRJZAUGcGllY2VzBAlkZWx0YVRpbWUJAGUCCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUKc3Rha2VkVGltZQQIYXZhaWxSZXMDCQBmAgUKc3Rha2VkVGltZQAACQBrAwUJZGVsdGFUaW1lCQBoAggFDHByb2R1Y3Rpdml0eQJfMwUGcGllY2VzBQlEQVlNSUxMSVMAAAQHbmVlZE1hdAkAawMFEUluZnJhVXBncmFkZUNvc3RTCQBoAgUGcGllY2VzCQBkAggFDHByb2R1Y3Rpdml0eQJfMQABBQVTU0laRQQOZ2xvYmFsQW5kTG9jYWwDCQBmAgUKc3Rha2VkVGltZQAACQENYXNTcGxpdFJlc3VsdAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AiRzcGxpdEJ5R2xvYmFsQW5kTG9jYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAkAzAgCBQhhdmFpbFJlcwkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zBQNuaWwFA25pbAkAlAoCCQESYXNMaXN0SW50Q29tcGFjdGVkAQkA/AcEBQ9zdGFraW5nQ29udHJhY3QCHHNwbGl0QnlHbG9iYWxXZWlnaHRzUkVBRE9OTFkJAMwIAgUHbmVlZE1hdAUDbmlsBQNuaWwCAAkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBBQpzdGFrZWRUaW1lCQDMCAIJAKwCAgITJXMlc19fZGVzY3JpcHRpb25fXwkAuQkCCQDMCAIFB2xhbmROdW0JAMwIAgkAkQMCBQFkBQtyZWNMYW5kU2l6ZQkAzAgCCQCRAwIFAWQFC3JlY1RlcnJhaW5zCQDMCAIJAJEDAgUBZAUMcmVjQ29udGluZW50BQNuaWwCAV8JAMwIAgkArAICAhIlcyVkX19pbmZyYUxldmVsX18JAKQDAQgFDHByb2R1Y3Rpdml0eQJfMQkAzAgCCQCsAgICFiVzJXNfX2F2YWlsUmVzQnlUeXBlX18IBQ5nbG9iYWxBbmRMb2NhbAJfMgkAzAgCCQCsAgICFSVzJWRfX2F2YWlsUmVzVG90YWxfXwkApAMBBQhhdmFpbFJlcwkAzAgCCQCsAgICFCVzJXNfX25lZWRNYXRlcmlhbF9fCAUOZ2xvYmFsQW5kTG9jYWwCXzEJAMwIAgkAuQkCCQDMCAICBCVzJXMJAMwIAgINbGFuZEFydGVmYWN0cwkAzAgCCQCsAgICCFBSRVNBTEU6CQCkAwEIBQxwcm9kdWN0aXZpdHkCXzIFA25pbAUDU0VQCQDMCAIJAKwCAgIRJXMlc19fd2FyZWhvdXNlX18JALkJAgkBDGdldFdhcmVob3VzZQMJARJrZXlXYXJlaG91c2VCeUxhbmQBBQtsYW5kQXNzZXRJZAkAaQIFBnBpZWNlcwUFU1NJWkUIBQxwcm9kdWN0aXZpdHkCXzECAToJAMwIAgkArAICAhElcyVzX19sYW5kT3JkZXJfXwkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ9lY29ub215Q29udHJhY3QJAQ5rZXlPcmRlckJ5TGFuZAEFC2xhbmRBc3NldElkAjAwQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDowQDBfMEAwXzBAMF8wQDBfMEAwXzBAMDoFA25pbAESbGFuZE9yZGVySW5mb0FycmF5AgtsYW5kQXNzZXRJZAVvd25lcgMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQgaXMgcmVxdWlyZWQEAWEJAQV2YWx1ZQEJAOwHAQkA2QQBBQtsYW5kQXNzZXRJZAQBZAkAtQkCCAUBYQtkZXNjcmlwdGlvbgIBXwQGcGllY2VzCQEPbnVtUGllY2VzQnlTaXplAQkAkQMCBQFkBQtyZWNMYW5kU2l6ZQQMcHJvZHVjdGl2aXR5CQEMYXBwbHlCb251c2VzAgULbGFuZEFzc2V0SWQFBnBpZWNlcwkAzAgCCQCsAgICDyVzJXNfX2Fzc2V0SWRfXwULbGFuZEFzc2V0SWQJAMwIAgkArAICAg0lcyVzX19vd25lcl9fBQVvd25lcgkAzAgCCQCsAgICESVzJXNfX3dhcmVob3VzZV9fCQC5CQIJAQxnZXRXYXJlaG91c2UDCQESa2V5V2FyZWhvdXNlQnlMYW5kAQULbGFuZEFzc2V0SWQJAGkCBQZwaWVjZXMFBVNTSVpFCAUMcHJvZHVjdGl2aXR5Al8xAgE6CQDMCAIJAKwCAgIRJXMlc19fbGFuZE9yZGVyX18JAQt2YWx1ZU9yRWxzZQIJAJ0IAgUPZWNvbm9teUNvbnRyYWN0CQEOa2V5T3JkZXJCeUxhbmQBBQtsYW5kQXNzZXRJZAIwMEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6MEAwXzBAMF8wQDBfMEAwXzBAMF8wQDA6BQNuaWwOAWkBDWNvbnN0cnVjdG9yVjEDD3N0YWtpbmdDb250cmFjdA9lY29ub215Q29udHJhY3QSZ292ZXJuYW5jZUNvbnRyYWN0AwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIScGVybWlzc2lvbnMgZGVuaWVkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQprZXlSZXN0Q2ZnAAkAuQkCCQDMCAICBiVzJXMlcwkAzAgCBQ9zdGFraW5nQ29udHJhY3QJAMwIAgUPZWNvbm9teUNvbnRyYWN0CQDMCAIFEmdvdmVybmFuY2VDb250cmFjdAUDbmlsBQNTRVAFA25pbAFpARJ3YWxsZXRJbmZvUkVBRE9OTFkBDnVzZXJBZGRyZXNzT3B0CQCUCgIFA25pbAkBDndhbGxldEludGVybmFsAQUOdXNlckFkZHJlc3NPcHQBaQEQZHVja0luZm9SRUFET05MWQILZHVja0Fzc2V0SWQOdXNlckFkZHJlc3NPcHQEBGFkZHIJAKYIAQUOdXNlckFkZHJlc3NPcHQECWR1Y2tBc3NldAkA2QQBBQtkdWNrQXNzZXRJZAMJAAACBQtkdWNrQXNzZXRJZAIACQACAQIXZHVja0Fzc2V0SWQgaXMgcmVxdWlyZWQECWR1Y2tPd25lcgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQEBW93bmVyAwkBCWlzRGVmaW5lZAEFCWR1Y2tPd25lcgkBBXZhbHVlAQUJZHVja093bmVyAwMJAQlpc0RlZmluZWQBBQRhZGRyCQAAAgkA8AcCCQEFdmFsdWUBBQRhZGRyBQlkdWNrQXNzZXQAAQcFDnVzZXJBZGRyZXNzT3B0AgAJAJQKAgUDbmlsCQCUCgIJAQ1kdWNrSW5mb0FycmF5AwULZHVja0Fzc2V0SWQFBW93bmVyCQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkCQEOd2FsbGV0SW50ZXJuYWwBBQ51c2VyQWRkcmVzc09wdAFpARBsYW5kSW5mb1JFQURPTkxZAgtsYW5kQXNzZXRJZA51c2VyQWRkcmVzc09wdAQEYWRkcgkApggBBQ51c2VyQWRkcmVzc09wdAQJbGFuZEFzc2V0CQDZBAEFC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQAAAQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAwMJAQlpc0RlZmluZWQBBQRhZGRyCQAAAgkA8AcCCQEFdmFsdWUBBQRhZGRyBQlsYW5kQXNzZXQAAQcFDnVzZXJBZGRyZXNzT3B0AgAECnN0YWtlZER1Y2sJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEUa2V5U3Rha2VkRHVja0J5T3duZXIBBQ51c2VyQWRkcmVzc09wdAQHZHVja0luZgMDCQEJaXNEZWZpbmVkAQUEYWRkcgkBCWlzRGVmaW5lZAEFCnN0YWtlZER1Y2sHBAtkdWNrQXNzZXRJZAkBBXZhbHVlAQUKc3Rha2VkRHVjawkAlAoCBQtkdWNrQXNzZXRJZAkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAkAlAoCAgAJAJcKBQD///////////8BAgACAAD///////////8BAgAJAJQKAgUDbmlsCQCVCgMJAQ1sYW5kSW5mb0FycmF5AwULbGFuZEFzc2V0SWQFBW93bmVyBQpzdGFrZWRUaW1lCQENZHVja0luZm9BcnJheQMIBQdkdWNrSW5mAl8xBQ51c2VyQWRkcmVzc09wdAgFB2R1Y2tJbmYCXzIJAQ53YWxsZXRJbnRlcm5hbAEFDnVzZXJBZGRyZXNzT3B0AWkBF3N0YWtlZExhbmRzSW5mb1JFQURPTkxZAglteUFkZHJlc3MQbGFuZE93bmVyQWRkcmVzcwMJAAACBRBsYW5kT3duZXJBZGRyZXNzAgAJAAIBAhxsYW5kT3duZXJBZGRyZXNzIGlzIHJlcXVpcmVkBAZteUFkZHIJAKYIAQUJbXlBZGRyZXNzBAhsYW5kc1N0cgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBBRBsYW5kT3duZXJBZGRyZXNzBAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkBAlsYW5kQXNzZXQJANkEAQULbGFuZEFzc2V0SWQDCQAAAgULbGFuZEFzc2V0SWQCAAkAAgECF2xhbmRBc3NldElkIGlzIHJlcXVpcmVkBApzdGFrZWRUaW1lCQELdmFsdWVPckVsc2UCCQCaCAIFD3N0YWtpbmdDb250cmFjdAkBFmtleVN0YWtlZFRpbWVCeUFzc2V0SWQBBQtsYW5kQXNzZXRJZAAABAVkZXNjcggJAQV2YWx1ZQEJAOwHAQUJbGFuZEFzc2V0C2Rlc2NyaXB0aW9uBAFkCQC1CQIFBWRlc2NyAgFfBAZwaWVjZXMJAQ9udW1QaWVjZXNCeVNpemUBCQCRAwIFAWQFC3JlY0xhbmRTaXplBAxwcm9kdWN0aXZpdHkJAQxhcHBseUJvbnVzZXMCBQtsYW5kQXNzZXRJZAUGcGllY2VzBAlkZWx0YVRpbWUJAGUCCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUKc3Rha2VkVGltZQQIYXZhaWxSZXMJAGsDBQlkZWx0YVRpbWUJAGgCCAUMcHJvZHVjdGl2aXR5Al8zBQZwaWVjZXMFCURBWU1JTExJUwkAzQgCBQNhY2MJAMwIAgkArAICAhMlcyVzX19sYW5kQXNzZXRJZF9fBQtsYW5kQXNzZXRJZAkAzAgCCQCsAgICEiVzJWRfX3N0YWtlZFRpbWVfXwkApAMBBQpzdGFrZWRUaW1lCQDMCAIJAKwCAgITJXMlc19fZGVzY3JpcHRpb25fXwUFZGVzY3IJAMwIAgkArAICAhIlcyVkX19pbmZyYUxldmVsX18JAKQDAQgFDHByb2R1Y3Rpdml0eQJfMQkAzAgCCQC5CQIJAMwIAgIEJXMlcwkAzAgCAg1sYW5kQXJ0ZWZhY3RzCQDMCAIJAKwCAgIIUFJFU0FMRToJAKQDAQgFDHByb2R1Y3Rpdml0eQJfMgUDbmlsBQNTRVAJAMwIAgkArAICAhAlcyVzX19hdmFpbFJlc19fCQCkAwEFCGF2YWlsUmVzBQNuaWwEAXIKAAIkbAUFbGFuZHMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBB29uZUxhbmQCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFUxpc3Qgc2l6ZSBleGNlZWRzIDEwMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAGIAYwBkBApzdGFrZWREdWNrCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQUJbXlBZGRyZXNzBAdkdWNrSW5mAwMJAQlpc0RlZmluZWQBBQZteUFkZHIJAQlpc0RlZmluZWQBBQpzdGFrZWREdWNrBwQLZHVja0Fzc2V0SWQJAQV2YWx1ZQEFCnN0YWtlZER1Y2sJAJQKAgULZHVja0Fzc2V0SWQJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQJAJQKAgIACQCXCgUA////////////AQIAAgAA////////////AQIACQCUCgIFA25pbAkAlQoDBQFyCQENZHVja0luZm9BcnJheQMIBQdkdWNrSW5mAl8xBQlteUFkZHJlc3MIBQdkdWNrSW5mAl8yCQEOd2FsbGV0SW50ZXJuYWwBBQlteUFkZHJlc3MBaQEXZHVja0J5T3duZXJJbmZvUkVBRE9OTFkBC3VzZXJBZGRyZXNzBApzdGFrZWREdWNrCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFGtleVN0YWtlZER1Y2tCeU93bmVyAQULdXNlckFkZHJlc3MJAJQKAgUDbmlsAwMJAQlpc0RlZmluZWQBCQCmCAEFC3VzZXJBZGRyZXNzCQEJaXNEZWZpbmVkAQUKc3Rha2VkRHVjawcEC2R1Y2tBc3NldElkCQEFdmFsdWUBBQpzdGFrZWREdWNrCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkBQt1c2VyQWRkcmVzcwkBDWR1Y2tJbmZvVHVwbGUBBQtkdWNrQXNzZXRJZAkBDWR1Y2tJbmZvQXJyYXkDAgAFC3VzZXJBZGRyZXNzCQCXCgUA////////////AQIAAgAA////////////AQIAAWkBGWR1Y2tCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2R1Y2tBc3NldElkBAVvd25lcgkAnQgCBQ9zdGFraW5nQ29udHJhY3QJARBrZXlEdWNrSWRUb093bmVyAQULZHVja0Fzc2V0SWQEB2R1Y2tJbmYJAQ1kdWNrSW5mb1R1cGxlAQULZHVja0Fzc2V0SWQJAJQKAgUDbmlsCQENZHVja0luZm9BcnJheQMFC2R1Y2tBc3NldElkAwkBCWlzRGVmaW5lZAEFBW93bmVyCQEFdmFsdWUBBQVvd25lcgIACQENZHVja0luZm9UdXBsZQEFC2R1Y2tBc3NldElkAWkBGWxhbmRCeUFzc2V0SWRJbmZvUkVBRE9OTFkBC2xhbmRBc3NldElkAwkAAAIFC2xhbmRBc3NldElkAgAJAAIBAhdsYW5kQXNzZXRJZCBpcyByZXF1aXJlZAQKc3Rha2VkVGltZQkBC3ZhbHVlT3JFbHNlAgkAmggCBQ9zdGFraW5nQ29udHJhY3QJARZrZXlTdGFrZWRUaW1lQnlBc3NldElkAQULbGFuZEFzc2V0SWQA////////////AQQFb3duZXIDCQBmAgUKc3Rha2VkVGltZQAACQEFdmFsdWUBCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBFWtleUxhbmRBc3NldElkVG9Pd25lcgEFC2xhbmRBc3NldElkAgAJAJQKAgUDbmlsCQENbGFuZEluZm9BcnJheQMFC2xhbmRBc3NldElkBQVvd25lcgUKc3Rha2VkVGltZQFpAR5zdGFrZWRMYW5kc0J5T3duZXJJbmZvUkVBRE9OTFkBEGxhbmRPd25lckFkZHJlc3MDCQAAAgUQbGFuZE93bmVyQWRkcmVzcwIACQACAQIcbGFuZE93bmVyQWRkcmVzcyBpcyByZXF1aXJlZAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUQbGFuZE93bmVyQWRkcmVzcwQFbGFuZHMDCQEJaXNEZWZpbmVkAQUIbGFuZHNTdHIJAL0JAgkBBXZhbHVlAQUIbGFuZHNTdHICAV8FA25pbAoBB29uZUxhbmQCA2FjYwtsYW5kQXNzZXRJZAMJAAACBQtsYW5kQXNzZXRJZAIACQACAQIXbGFuZEFzc2V0SWQg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", "height": 2560246, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CYYzs7PLtiXo7F9RdGiWadEcvAERxUBm7YxVacuRrot9 Next: DAgpG1cj4fraJPPZKS4rYm3RZ8RAzkg4datksGw4tVm5 Diff:
OldNewDifferences
147147
148148 func al (aj) = {
149149 let c = aj
150+ if ($isInstanceOf(c, "Int"))
151+ then {
152+ let am = c
153+ am
154+ }
155+ else throw("fail to cast into Int")
156+ }
157+
158+
159+func an (aj) = {
160+ let c = aj
150161 if ($isInstanceOf(c, "Boolean"))
151162 then {
152163 let ak = c
156167 }
157168
158169
159-func am (an) = {
160- let c = an
170+func ao (ap) = {
171+ let c = ap
161172 if ($isInstanceOf(c, "List[Any]"))
162173 then {
163- let ao = c
164- if ((size(ao) != k))
165- then throw(("Array size is " + toString(size(ao))))
174+ let aq = c
175+ if ((size(aq) != k))
176+ then throw(("Array size is " + toString(size(aq))))
166177 else {
167- func ap (aq,ar) = {
168- let as = ar
169- if ($isInstanceOf(as, "Int"))
178+ func ar (as,at) = {
179+ let au = at
180+ if ($isInstanceOf(au, "Int"))
170181 then {
171- let at = as
172- (aq :+ toString(at))
182+ let av = au
183+ (as :+ toString(av))
173184 }
174185 else throw("List type is not Int")
175186 }
176187
177- let au = {
178- let av = ao
179- let aw = size(av)
180- let ax = nil
181- func ay (az,aA) = if ((aA >= aw))
182- then az
183- else ap(az, av[aA])
188+ let aw = {
189+ let ax = aq
190+ let ay = size(ax)
191+ let az = nil
192+ func aA (aB,aC) = if ((aC >= ay))
193+ then aB
194+ else ar(aB, ax[aC])
184195
185- func aB (az,aA) = if ((aA >= aw))
186- then az
196+ func aD (aB,aC) = if ((aC >= ay))
197+ then aB
187198 else throw("List size exceeds 6")
188199
189- aB(ay(ay(ay(ay(ay(ay(ax, 0), 1), 2), 3), 4), 5), 6)
200+ aD(aA(aA(aA(aA(aA(aA(az, 0), 1), 2), 3), 4), 5), 6)
190201 }
191- makeString(au, "_")
202+ makeString(aw, "_")
192203 }
193204 }
194205 else throw("fail to cast into List")
195206 }
196207
197208
198-func aC (an) = {
199- let c = an
209+func aE (ap) = {
210+ let c = ap
200211 if ($isInstanceOf(c, "(List[Any], List[Any])"))
201212 then {
202- let aD = c
203- $Tuple2(am(aD._1), am(aD._2))
213+ let aF = c
214+ $Tuple2(ao(aF._1), ao(aF._2))
204215 }
205216 else throw("fail to cast into (List, List)")
206217 }
207218
208219
209-func aE (aF) = {
210- let aG = addressFromString(aF)
211- let aH = if (isDefined(aG))
212- then wavesBalance(value(aG))
220+func aG (aH) = {
221+ let aI = addressFromString(aH)
222+ let aJ = if (isDefined(aI))
223+ then wavesBalance(value(aI))
213224 else BalanceDetails(0, 0, 0, 0)
214- let aI = if (isDefined(aG))
215- then assetBalance(value(aG), b)
225+ let aK = if (isDefined(aI))
226+ then assetBalance(value(aI), b)
216227 else 0
217- makeString(["%s%d%d", "wallet", toString(aH.available), toString(aI)], g)
228+ makeString(["%s%d%d", "wallet", toString(aJ.available), toString(aK)], g)
218229 }
219230
220231
221-func aJ (Y,aK) = {
222- let aL = valueOrElse(getInteger(K, ac(Y)), 0)
223- let aM = valueOrElse(getInteger(K, ad(h, Y)), if (valueOrElse(getBoolean(K, af(Y)), false))
224- then aK
232+func aL (Y,aM) = {
233+ let aN = valueOrElse(getInteger(K, ac(Y)), 0)
234+ let aO = valueOrElse(getInteger(K, ad(h, Y)), if (valueOrElse(getBoolean(K, af(Y)), false))
235+ then aM
225236 else 0)
226- let aN = (aL / 6)
227- let aO = (aL / 7)
228- $Tuple3(aL, aM, ((i + fraction(i, ((aL + aN) + (2 * aO)), 5)) + fraction(i, aM, (aK * 5))))
237+ let aP = (aN / 6)
238+ let aQ = (aN / 7)
239+ $Tuple3(aN, aO, ((i + fraction(i, ((aN + aP) + (2 * aQ)), 5)) + fraction(i, aO, (aM * 5))))
229240 }
230241
231242
232-func aP (aQ) = {
233- let c = aQ
243+func aR (aS) = {
244+ let c = aS
234245 if (("S" == c))
235246 then l
236247 else if (("M" == c))
245256 }
246257
247258
248-func aR (aS,aT,aL) = {
249- let aU = ((toString(aT) + "_") + toString(aL))
250- let aV = split(valueOrElse(getString(K, aS), (aU + ":0_0_0_0_0_0:0_0_0_0_0_0::0")), ":")
251-[aV[u], if ((size(split(aV[v], "_")) == k))
252- then aV[v]
253- else "0_0_0_0_0_0", if ((size(split(aV[w], "_")) == k))
254- then aV[w]
255- else "0_0_0_0_0_0", aV[x], if ((5 > size(aV)))
259+func aT (aU,aV,aN) = {
260+ let aW = ((toString(aV) + "_") + toString(aN))
261+ let aX = split(valueOrElse(getString(K, aU), (aW + ":0_0_0_0_0_0:0_0_0_0_0_0::0")), ":")
262+[aX[u], if ((size(split(aX[v], "_")) == k))
263+ then aX[v]
264+ else "0_0_0_0_0_0", if ((size(split(aX[w], "_")) == k))
265+ then aX[w]
266+ else "0_0_0_0_0_0", aX[x], if ((5 > size(aX)))
256267 then "0"
257- else aV[y]]
268+ else aX[y]]
258269 }
259270
260271
261-func aW (W) = $Tuple5(valueOrElse(getInteger(K, Q(W)), -1), value(assetInfo(fromBase58String(W))).name, valueOrElse(getString(K, Z(W)), ""), valueOrElse(getInteger(K, aa(W)), -1), ai(invoke(K, "getBackpackREADONLY", [W], nil)))
272+func aY (W) = $Tuple5(valueOrElse(getInteger(K, Q(W)), -1), value(assetInfo(fromBase58String(W))).name, valueOrElse(getString(K, Z(W)), ""), valueOrElse(getInteger(K, aa(W)), -1), ai(invoke(K, "getBackpackREADONLY", [W], nil)))
262273
263274
264-func aX (W,aY,aZ) = [("%s%s__assetId__" + W), ("%s%s__owner__" + aY), ("%s%d__stakedTime__" + toString(aZ._1)), ("%s%s__name__" + aZ._2), ("%s%s__location__" + aZ._3), ("%s%d__health__" + toString(aZ._4)), ("%s%s__backPack__" + aZ._5)]
275+func aZ (W,ba,bb) = [("%s%s__assetId__" + W), ("%s%s__owner__" + ba), ("%s%d__stakedTime__" + toString(bb._1)), ("%s%s__name__" + bb._2), ("%s%s__location__" + bb._3), ("%s%d__health__" + toString(bb._4)), ("%s%s__backPack__" + bb._5)]
265276
266277
267-func ba (Y,aY,bb) = if ((Y == ""))
278+func bc (Y,ba,bd) = if ((Y == ""))
268279 then throw("landAssetId is required")
269280 else {
270- let bc = value(assetInfo(fromBase58String(Y)))
271- let bd = split(bc.description, "_")
272- let be = if ((bc.quantity > 0))
273- then bd[q]
274- else ("-" + bd[q])
275- let aK = aP(bd[r])
276- let bf = aJ(Y, aK)
277- let bg = (lastBlock.timestamp - bb)
278- let bh = if ((bb > 0))
279- then fraction(bg, (bf._3 * aK), j)
281+ let be = value(assetInfo(fromBase58String(Y)))
282+ let bf = split(be.description, "_")
283+ let bg = if ((be.quantity > 0))
284+ then bf[q]
285+ else ("-" + bf[q])
286+ let aM = aR(bf[r])
287+ let bh = aL(Y, aM)
288+ let bi = (lastBlock.timestamp - bd)
289+ let bj = if ((bd > 0))
290+ then fraction(bi, (bh._3 * aM), j)
280291 else 0
281- let bi = fraction(d, (aK * (bf._1 + 1)), l)
282- let bj = if ((bb > 0))
283- then aC(invoke(K, "splitByGlobalAndLocalWeightsREADONLY", [bi, bh, bd[s]], nil))
284- else $Tuple2(am(invoke(K, "splitByGlobalWeightsREADONLY", [bi], nil)), "")
285-[("%s%s__assetId__" + Y), ("%s%s__owner__" + aY), ("%s%d__stakedTime__" + toString(bb)), ("%s%s__description__" + makeString([be, bd[r], bd[s], bd[t]], "_")), ("%s%d__infraLevel__" + toString(bf._1)), ("%s%s__availResByType__" + bj._2), ("%s%d__availResTotal__" + toString(bh)), ("%s%s__needMaterial__" + bj._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bf._2))], g), ("%s%s__warehouse__" + makeString(aR(X(Y), (aK / l), bf._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
292+ let bk = fraction(d, (aM * (bh._1 + 1)), l)
293+ let bl = if ((bd > 0))
294+ then aE(invoke(K, "splitByGlobalAndLocalWeightsREADONLY", [bk, bj, bf[s]], nil))
295+ else $Tuple2(ao(invoke(K, "splitByGlobalWeightsREADONLY", [bk], nil)), "")
296+[("%s%s__assetId__" + Y), ("%s%s__owner__" + ba), ("%s%d__stakedTime__" + toString(bd)), ("%s%s__description__" + makeString([bg, bf[r], bf[s], bf[t]], "_")), ("%s%d__infraLevel__" + toString(bh._1)), ("%s%s__availResByType__" + bl._2), ("%s%d__availResTotal__" + toString(bj)), ("%s%s__needMaterial__" + bl._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bh._2))], g), ("%s%s__warehouse__" + makeString(aT(X(Y), (aM / l), bh._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
286297 }
287298
288299
289-func bk (Y,aY) = if ((Y == ""))
300+func bm (Y,ba) = if ((Y == ""))
290301 then throw("landAssetId is required")
291302 else {
292- let bc = value(assetInfo(fromBase58String(Y)))
293- let bd = split(bc.description, "_")
294- let aK = aP(bd[r])
295- let bf = aJ(Y, aK)
296-[("%s%s__assetId__" + Y), ("%s%s__owner__" + aY), ("%s%s__warehouse__" + makeString(aR(X(Y), (aK / l), bf._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
303+ let be = value(assetInfo(fromBase58String(Y)))
304+ let bf = split(be.description, "_")
305+ let aM = aR(bf[r])
306+ let bh = aL(Y, aM)
307+[("%s%s__assetId__" + Y), ("%s%s__owner__" + ba), ("%s%s__warehouse__" + makeString(aT(X(Y), (aM / l), bh._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
297308 }
298309
299310
300-@Callable(bl)
301-func constructorV1 (K,L,M) = if ((bl.caller != this))
311+@Callable(bn)
312+func constructorV1 (K,L,M) = if ((bn.caller != this))
302313 then throw("permissions denied")
303314 else [StringEntry(z(), makeString(["%s%s%s", K, L, M], g))]
304315
305316
306317
307-@Callable(bl)
308-func walletInfoREADONLY (aF) = $Tuple2(nil, aE(aF))
318+@Callable(bn)
319+func walletInfoREADONLY (aH) = $Tuple2(nil, aG(aH))
309320
310321
311322
312-@Callable(bl)
313-func duckInfoREADONLY (W,aF) = {
314- let aG = addressFromString(aF)
315- let bm = fromBase58String(W)
323+@Callable(bn)
324+func duckInfoREADONLY (W,aH) = {
325+ let aI = addressFromString(aH)
326+ let bo = fromBase58String(W)
316327 if ((W == ""))
317328 then throw("duckAssetId is required")
318329 else {
319- let bn = getString(K, O(W))
320- let aY = if (isDefined(bn))
321- then value(bn)
322- else if (if (isDefined(aG))
323- then (assetBalance(value(aG), bm) == 1)
330+ let bp = getString(K, O(W))
331+ let ba = if (isDefined(bp))
332+ then value(bp)
333+ else if (if (isDefined(aI))
334+ then (assetBalance(value(aI), bo) == 1)
324335 else false)
325- then aF
336+ then aH
326337 else ""
327- $Tuple2(nil, $Tuple2(aX(W, aY, aW(W)), aE(aF)))
338+ $Tuple2(nil, $Tuple2(aZ(W, ba, aY(W)), aG(aH)))
328339 }
329340 }
330341
331342
332343
333-@Callable(bl)
334-func landInfoREADONLY (Y,aF) = {
335- let aG = addressFromString(aF)
336- let bo = fromBase58String(Y)
344+@Callable(bn)
345+func landInfoREADONLY (Y,aH) = {
346+ let aI = addressFromString(aH)
347+ let bq = fromBase58String(Y)
337348 if ((Y == ""))
338349 then throw("landAssetId is required")
339350 else {
340- let bb = valueOrElse(getInteger(K, Q(Y)), 0)
341- let aY = if ((bb > 0))
351+ let bd = valueOrElse(getInteger(K, Q(Y)), 0)
352+ let ba = if ((bd > 0))
342353 then value(getString(K, ab(Y)))
343- else if (if (isDefined(aG))
344- then (assetBalance(value(aG), bo) == 1)
354+ else if (if (isDefined(aI))
355+ then (assetBalance(value(aI), bq) == 1)
345356 else false)
346- then aF
357+ then aH
347358 else ""
348- let bp = getString(K, R(aF))
349- let aZ = if (if (isDefined(aG))
350- then isDefined(bp)
359+ let br = getString(K, R(aH))
360+ let bb = if (if (isDefined(aI))
361+ then isDefined(br)
351362 else false)
352363 then {
353- let W = value(bp)
354- $Tuple2(W, aW(W))
364+ let W = value(br)
365+ $Tuple2(W, aY(W))
355366 }
356367 else $Tuple2("", $Tuple5(-1, "", "", -1, ""))
357- $Tuple2(nil, $Tuple3(ba(Y, aY, bb), aX(aZ._1, aF, aZ._2), aE(aF)))
368+ $Tuple2(nil, $Tuple3(bc(Y, ba, bd), aZ(bb._1, aH, bb._2), aG(aH)))
358369 }
359370 }
360371
361372
362373
363-@Callable(bl)
364-func stakedLandsInfoREADONLY (bq,br) = if ((br == ""))
374+@Callable(bn)
375+func stakedLandsInfoREADONLY (bs,bt) = if ((bt == ""))
365376 then throw("landOwnerAddress is required")
366377 else {
367- let bs = addressFromString(bq)
368- let bt = getString(K, ag(br))
369- let bu = if (isDefined(bt))
370- then split_51C(value(bt), "_")
378+ let bu = addressFromString(bs)
379+ let bv = getString(K, ag(bt))
380+ let bw = if (isDefined(bv))
381+ then split_51C(value(bv), "_")
371382 else nil
372- func bv (aq,Y) = {
373- let bo = fromBase58String(Y)
383+ func bx (as,Y) = {
384+ let bq = fromBase58String(Y)
374385 if ((Y == ""))
375386 then throw("landAssetId is required")
376387 else {
377- let bb = valueOrElse(getInteger(K, Q(Y)), 0)
378- let bw = value(assetInfo(bo)).description
379- let bd = split(bw, "_")
380- let aK = aP(bd[r])
381- let bf = aJ(Y, aK)
382- let bg = (lastBlock.timestamp - bb)
383- let bh = fraction(bg, (bf._3 * aK), j)
384- (aq :+ [("%s%s__landAssetId__" + Y), ("%s%d__stakedTime__" + toString(bb)), ("%s%s__description__" + bw), ("%s%d__infraLevel__" + toString(bf._1)), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bf._2))], g), ("%s%s__availRes__" + toString(bh))])
388+ let bd = valueOrElse(getInteger(K, Q(Y)), 0)
389+ let by = value(assetInfo(bq)).description
390+ let bf = split(by, "_")
391+ let aM = aR(bf[r])
392+ let bh = aL(Y, aM)
393+ let bi = (lastBlock.timestamp - bd)
394+ let bj = fraction(bi, (bh._3 * aM), j)
395+ (as :+ [("%s%s__landAssetId__" + Y), ("%s%d__stakedTime__" + toString(bd)), ("%s%s__description__" + by), ("%s%d__infraLevel__" + toString(bh._1)), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bh._2))], g), ("%s%s__availRes__" + toString(bj))])
385396 }
386397 }
387398
388- let au = {
389- let av = bu
390- let aw = size(av)
391- let ax = nil
392- func ay (az,aA) = if ((aA >= aw))
393- then az
394- else bv(az, av[aA])
399+ let aw = {
400+ let ax = bw
401+ let ay = size(ax)
402+ let az = nil
403+ func aA (aB,aC) = if ((aC >= ay))
404+ then aB
405+ else bx(aB, ax[aC])
395406
396- func aB (az,aA) = if ((aA >= aw))
397- then az
407+ func aD (aB,aC) = if ((aC >= ay))
408+ then aB
398409 else throw("List size exceeds 100")
399410
400- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
411+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
401412 }
402- let bp = getString(K, R(bq))
403- let aZ = if (if (isDefined(bs))
404- then isDefined(bp)
413+ let br = getString(K, R(bs))
414+ let bb = if (if (isDefined(bu))
415+ then isDefined(br)
405416 else false)
406417 then {
407- let W = value(bp)
408- $Tuple2(W, aW(W))
418+ let W = value(br)
419+ $Tuple2(W, aY(W))
409420 }
410421 else $Tuple2("", $Tuple5(-1, "", "", -1, ""))
411- $Tuple2(nil, $Tuple3(au, aX(aZ._1, bq, aZ._2), aE(bq)))
422+ $Tuple2(nil, $Tuple3(aw, aZ(bb._1, bs, bb._2), aG(bs)))
412423 }
413424
414425
415426
416-@Callable(bl)
417-func duckByOwnerInfoREADONLY (bx) = {
418- let bp = getString(K, R(bx))
419- $Tuple2(nil, if (if (isDefined(addressFromString(bx)))
420- then isDefined(bp)
427+@Callable(bn)
428+func duckByOwnerInfoREADONLY (bz) = {
429+ let br = getString(K, R(bz))
430+ $Tuple2(nil, if (if (isDefined(addressFromString(bz)))
431+ then isDefined(br)
421432 else false)
422433 then {
423- let W = value(bp)
424- aX(W, bx, aW(W))
434+ let W = value(br)
435+ aZ(W, bz, aY(W))
425436 }
426- else aX("", bx, $Tuple5(-1, "", "", -1, "")))
437+ else aZ("", bz, $Tuple5(-1, "", "", -1, "")))
427438 }
428439
429440
430441
431-@Callable(bl)
442+@Callable(bn)
432443 func duckByAssetIdInfoREADONLY (W) = {
433- let aY = getString(K, O(W))
434- let aZ = aW(W)
435- $Tuple2(nil, aX(W, if (isDefined(aY))
436- then value(aY)
437- else "", aW(W)))
444+ let ba = getString(K, O(W))
445+ let bb = aY(W)
446+ $Tuple2(nil, aZ(W, if (isDefined(ba))
447+ then value(ba)
448+ else "", aY(W)))
438449 }
439450
440451
441452
442-@Callable(bl)
453+@Callable(bn)
443454 func landByAssetIdInfoREADONLY (Y) = if ((Y == ""))
444455 then throw("landAssetId is required")
445456 else {
446- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
447- let aY = if ((bb > 0))
457+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
458+ let ba = if ((bd > 0))
448459 then value(getString(K, ab(Y)))
449460 else ""
450- $Tuple2(nil, ba(Y, aY, bb))
461+ $Tuple2(nil, bc(Y, ba, bd))
451462 }
452463
453464
454465
455-@Callable(bl)
456-func stakedLandsByOwnerInfoREADONLY (br) = if ((br == ""))
466+@Callable(bn)
467+func stakedLandsByOwnerInfoREADONLY (bt) = if ((bt == ""))
457468 then throw("landOwnerAddress is required")
458469 else {
459- let bt = getString(K, ag(br))
460- let bu = if (isDefined(bt))
461- then split_51C(value(bt), "_")
470+ let bv = getString(K, ag(bt))
471+ let bw = if (isDefined(bv))
472+ then split_51C(value(bv), "_")
462473 else nil
463- func bv (aq,Y) = if ((Y == ""))
474+ func bx (as,Y) = if ((Y == ""))
464475 then throw("landAssetId is required")
465476 else {
466- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
467- (aq :+ ba(Y, br, bb))
477+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
478+ (as :+ bc(Y, bt, bd))
468479 }
469480
470- let au = {
471- let av = bu
472- let aw = size(av)
473- let ax = nil
474- func ay (az,aA) = if ((aA >= aw))
475- then az
476- else bv(az, av[aA])
481+ let aw = {
482+ let ax = bw
483+ let ay = size(ax)
484+ let az = nil
485+ func aA (aB,aC) = if ((aC >= ay))
486+ then aB
487+ else bx(aB, ax[aC])
477488
478- func aB (az,aA) = if ((aA >= aw))
479- then az
489+ func aD (aB,aC) = if ((aC >= ay))
490+ then aB
480491 else throw("List size exceeds 100")
481492
482- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
493+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
483494 }
484- $Tuple2(nil, au)
495+ $Tuple2(nil, aw)
485496 }
486497
487498
488499
489-@Callable(bl)
490-func landsByIdsInfoREADONLY (by) = {
491- func bv (aq,Y) = if ((Y == ""))
500+@Callable(bn)
501+func landsByIdsInfoREADONLY (bA) = {
502+ func bx (as,Y) = if ((Y == ""))
492503 then throw("landAssetId is required")
493504 else {
494- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
495- let aY = if ((bb > 0))
505+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
506+ let ba = if ((bd > 0))
496507 then value(getString(K, ab(Y)))
497508 else ""
498- (aq :+ ba(Y, aY, bb))
509+ (as :+ bc(Y, ba, bd))
499510 }
500511
501- let au = {
502- let av = by
503- let aw = size(av)
504- let ax = nil
505- func ay (az,aA) = if ((aA >= aw))
506- then az
507- else bv(az, av[aA])
512+ let aw = {
513+ let ax = bA
514+ let ay = size(ax)
515+ let az = nil
516+ func aA (aB,aC) = if ((aC >= ay))
517+ then aB
518+ else bx(aB, ax[aC])
508519
509- func aB (az,aA) = if ((aA >= aw))
510- then az
520+ func aD (aB,aC) = if ((aC >= ay))
521+ then aB
511522 else throw("List size exceeds 100")
512523
513- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
524+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
514525 }
515- $Tuple2(nil, au)
526+ $Tuple2(nil, aw)
516527 }
517528
518529
519530
520-@Callable(bl)
531+@Callable(bn)
521532 func warehouseOrderByAssetIdInfoREADONLY (Y) = if ((Y == ""))
522533 then throw("landAssetId is required")
523534 else {
524- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
525- let aY = if ((bb > 0))
535+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
536+ let ba = if ((bd > 0))
526537 then value(getString(K, ab(Y)))
527538 else ""
528- $Tuple2(nil, bk(Y, aY))
539+ $Tuple2(nil, bm(Y, ba))
529540 }
530541
531542
532543
533-@Callable(bl)
534-func ordersByLandIdsInfoREADONLY (by) = {
535- func bv (aq,Y) = if ((Y == ""))
544+@Callable(bn)
545+func ordersByLandIdsInfoREADONLY (bA) = {
546+ func bx (as,Y) = if ((Y == ""))
536547 then throw("landAssetId is required")
537548 else {
538- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
539- let aY = if ((bb > 0))
549+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
550+ let ba = if ((bd > 0))
540551 then value(getString(K, ab(Y)))
541552 else ""
542- (aq :+ bk(Y, aY))
553+ (as :+ bm(Y, ba))
543554 }
544555
545- let au = {
546- let av = by
547- let aw = size(av)
548- let ax = nil
549- func ay (az,aA) = if ((aA >= aw))
550- then az
551- else bv(az, av[aA])
556+ let aw = {
557+ let ax = bA
558+ let ay = size(ax)
559+ let az = nil
560+ func aA (aB,aC) = if ((aC >= ay))
561+ then aB
562+ else bx(aB, ax[aC])
552563
553- func aB (az,aA) = if ((aA >= aw))
554- then az
564+ func aD (aB,aC) = if ((aC >= ay))
565+ then aB
555566 else throw("List size exceeds 100")
556567
557- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
568+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
558569 }
559- $Tuple2(nil, au)
570+ $Tuple2(nil, aw)
560571 }
561572
562573
563574
564-@Callable(bl)
565-func cancelWarehouseOrders (by) = if ((bl.caller != this))
575+@Callable(bn)
576+func cancelWarehouseOrders (bA) = if ((bn.caller != this))
566577 then throw("permission denied")
567578 else {
568- let bz = getBoolean(K, N())
569- if (if (!(isDefined(bz)))
579+ let bB = getBoolean(K, N())
580+ if (if (!(isDefined(bB)))
570581 then true
571- else (value(bz) == false))
582+ else (value(bB) == false))
572583 then throw("Contracts should be blocked before canceling orders")
573584 else {
574- func bv (bc,Y) = if ((Y == ""))
585+ func bx (be,Y) = if ((Y == ""))
575586 then throw("landAssetId is required")
576587 else {
577- let bA = al(invoke(L, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", Y], nil))
578- if (if (bc)
588+ let bC = an(invoke(L, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", Y], nil))
589+ if (if (be)
579590 then true
580- else bA)
581- then !(if (bc)
582- then bA
591+ else bC)
592+ then !(if (be)
593+ then bC
583594 else false)
584595 else false
585596 }
586597
587- let au = {
588- let av = by
589- let aw = size(av)
590- let ax = false
591- func ay (az,aA) = if ((aA >= aw))
592- then az
593- else bv(az, av[aA])
598+ let aw = {
599+ let ax = bA
600+ let ay = size(ax)
601+ let az = false
602+ func aA (aB,aC) = if ((aC >= ay))
603+ then aB
604+ else bx(aB, ax[aC])
594605
595- func aB (az,aA) = if ((aA >= aw))
596- then az
606+ func aD (aB,aC) = if ((aC >= ay))
607+ then aB
597608 else throw("List size exceeds 30")
598609
599- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
610+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
600611 }
601- $Tuple2(nil, au)
612+ $Tuple2(nil, aw)
602613 }
614+ }
615+
616+
617+
618+@Callable(bn)
619+func replaceBooleanArtifacts (bA) = if ((bn.caller != this))
620+ then throw("permission denied")
621+ else {
622+ func bx (as,Y) = if ((Y == ""))
623+ then throw("landAssetId is required")
624+ else if (isDefined(getBoolean(K, af(Y))))
625+ then (as + al(invoke(K, "replaceBooleanArtifact", [Y], nil)))
626+ else as
627+
628+ let aw = {
629+ let ax = bA
630+ let ay = size(ax)
631+ let az = 0
632+ func aA (aB,aC) = if ((aC >= ay))
633+ then aB
634+ else bx(aB, ax[aC])
635+
636+ func aD (aB,aC) = if ((aC >= ay))
637+ then aB
638+ else throw("List size exceeds 25")
639+
640+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
641+ }
642+ $Tuple2(nil, aw)
603643 }
604644
605645
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = take(drop(this.bytes, 1), 1)
55
66 let b = {
77 let c = a
88 if ((base58'2W' == c))
99 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
1010 else if ((base58'2T' == c))
1111 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
1212 else throw("Unknown chain")
1313 }
1414
1515 let d = {
1616 let c = a
1717 if ((base58'2W' == c))
1818 then 10000000000
1919 else if ((base58'2T' == c))
2020 then 100000000
2121 else throw("Unknown chain")
2222 }
2323
2424 let e = "LAND"
2525
2626 let f = "DUCK"
2727
2828 let g = "__"
2929
3030 let h = "PRESALE"
3131
3232 let i = 3456000
3333
3434 let j = 86400000
3535
3636 let k = 6
3737
3838 let l = 25
3939
4040 let m = 100
4141
4242 let n = 225
4343
4444 let o = 400
4545
4646 let p = 625
4747
4848 let q = 0
4949
5050 let r = 1
5151
5252 let s = 2
5353
5454 let t = 3
5555
5656 let u = 0
5757
5858 let v = 1
5959
6060 let w = 2
6161
6262 let x = 3
6363
6464 let y = 4
6565
6666 func z () = "%s__restConfig"
6767
6868
6969 let A = 1
7070
7171 let B = 2
7272
7373 let C = 3
7474
7575 func D (E,F) = valueOrErrorMessage(getString(E, F), makeString(["mandatory ", toString(E), ".", F, " is not defined"], ""))
7676
7777
7878 func G () = split_4C(D(this, z()), g)
7979
8080
8181 func H (I,J) = valueOrErrorMessage(addressFromString(I[J]), ("Rest cfg doesn't contain address at index " + toString(J)))
8282
8383
8484 let I = G()
8585
8686 let K = H(I, A)
8787
8888 let L = H(I, B)
8989
9090 let M = H(I, B)
9191
9292 func N () = "contractsBlocked"
9393
9494
9595 func O (P) = ("duckOwner_" + P)
9696
9797
9898 func Q (P) = ("stakedTime_" + P)
9999
100100
101101 func R (S) = ("stakedDuckByOwner_" + S)
102102
103103
104104 func T (U,P,S) = ((((("stakedTimeByTypeAssetIdAndOwner_" + U) + "_") + P) + "_") + S)
105105
106106
107107 func V (W) = ("backPack_" + W)
108108
109109
110110 func X (Y) = ("wareHouse_" + Y)
111111
112112
113113 func Z (W) = ("duckLocation_" + W)
114114
115115
116116 func aa (W) = ("duckHealth_" + W)
117117
118118
119119 func ab (P) = ("nftOwner_" + P)
120120
121121
122122 func ac (P) = ("infraLevel_" + P)
123123
124124
125125 func ad (ae,P) = makeString(["landArtStatus", ae, P], "_")
126126
127127
128128 func af (P) = ("presaleArtActivated_" + P)
129129
130130
131131 func ag (S) = ("stakedLandsByOwner_" + S)
132132
133133
134134 func ah (Y) = ("landOrder_" + Y)
135135
136136
137137 func ai (aj) = {
138138 let c = aj
139139 if ($isInstanceOf(c, "String"))
140140 then {
141141 let ak = c
142142 ak
143143 }
144144 else throw("fail to cast into String")
145145 }
146146
147147
148148 func al (aj) = {
149149 let c = aj
150+ if ($isInstanceOf(c, "Int"))
151+ then {
152+ let am = c
153+ am
154+ }
155+ else throw("fail to cast into Int")
156+ }
157+
158+
159+func an (aj) = {
160+ let c = aj
150161 if ($isInstanceOf(c, "Boolean"))
151162 then {
152163 let ak = c
153164 ak
154165 }
155166 else throw("fail to cast into Boolean")
156167 }
157168
158169
159-func am (an) = {
160- let c = an
170+func ao (ap) = {
171+ let c = ap
161172 if ($isInstanceOf(c, "List[Any]"))
162173 then {
163- let ao = c
164- if ((size(ao) != k))
165- then throw(("Array size is " + toString(size(ao))))
174+ let aq = c
175+ if ((size(aq) != k))
176+ then throw(("Array size is " + toString(size(aq))))
166177 else {
167- func ap (aq,ar) = {
168- let as = ar
169- if ($isInstanceOf(as, "Int"))
178+ func ar (as,at) = {
179+ let au = at
180+ if ($isInstanceOf(au, "Int"))
170181 then {
171- let at = as
172- (aq :+ toString(at))
182+ let av = au
183+ (as :+ toString(av))
173184 }
174185 else throw("List type is not Int")
175186 }
176187
177- let au = {
178- let av = ao
179- let aw = size(av)
180- let ax = nil
181- func ay (az,aA) = if ((aA >= aw))
182- then az
183- else ap(az, av[aA])
188+ let aw = {
189+ let ax = aq
190+ let ay = size(ax)
191+ let az = nil
192+ func aA (aB,aC) = if ((aC >= ay))
193+ then aB
194+ else ar(aB, ax[aC])
184195
185- func aB (az,aA) = if ((aA >= aw))
186- then az
196+ func aD (aB,aC) = if ((aC >= ay))
197+ then aB
187198 else throw("List size exceeds 6")
188199
189- aB(ay(ay(ay(ay(ay(ay(ax, 0), 1), 2), 3), 4), 5), 6)
200+ aD(aA(aA(aA(aA(aA(aA(az, 0), 1), 2), 3), 4), 5), 6)
190201 }
191- makeString(au, "_")
202+ makeString(aw, "_")
192203 }
193204 }
194205 else throw("fail to cast into List")
195206 }
196207
197208
198-func aC (an) = {
199- let c = an
209+func aE (ap) = {
210+ let c = ap
200211 if ($isInstanceOf(c, "(List[Any], List[Any])"))
201212 then {
202- let aD = c
203- $Tuple2(am(aD._1), am(aD._2))
213+ let aF = c
214+ $Tuple2(ao(aF._1), ao(aF._2))
204215 }
205216 else throw("fail to cast into (List, List)")
206217 }
207218
208219
209-func aE (aF) = {
210- let aG = addressFromString(aF)
211- let aH = if (isDefined(aG))
212- then wavesBalance(value(aG))
220+func aG (aH) = {
221+ let aI = addressFromString(aH)
222+ let aJ = if (isDefined(aI))
223+ then wavesBalance(value(aI))
213224 else BalanceDetails(0, 0, 0, 0)
214- let aI = if (isDefined(aG))
215- then assetBalance(value(aG), b)
225+ let aK = if (isDefined(aI))
226+ then assetBalance(value(aI), b)
216227 else 0
217- makeString(["%s%d%d", "wallet", toString(aH.available), toString(aI)], g)
228+ makeString(["%s%d%d", "wallet", toString(aJ.available), toString(aK)], g)
218229 }
219230
220231
221-func aJ (Y,aK) = {
222- let aL = valueOrElse(getInteger(K, ac(Y)), 0)
223- let aM = valueOrElse(getInteger(K, ad(h, Y)), if (valueOrElse(getBoolean(K, af(Y)), false))
224- then aK
232+func aL (Y,aM) = {
233+ let aN = valueOrElse(getInteger(K, ac(Y)), 0)
234+ let aO = valueOrElse(getInteger(K, ad(h, Y)), if (valueOrElse(getBoolean(K, af(Y)), false))
235+ then aM
225236 else 0)
226- let aN = (aL / 6)
227- let aO = (aL / 7)
228- $Tuple3(aL, aM, ((i + fraction(i, ((aL + aN) + (2 * aO)), 5)) + fraction(i, aM, (aK * 5))))
237+ let aP = (aN / 6)
238+ let aQ = (aN / 7)
239+ $Tuple3(aN, aO, ((i + fraction(i, ((aN + aP) + (2 * aQ)), 5)) + fraction(i, aO, (aM * 5))))
229240 }
230241
231242
232-func aP (aQ) = {
233- let c = aQ
243+func aR (aS) = {
244+ let c = aS
234245 if (("S" == c))
235246 then l
236247 else if (("M" == c))
237248 then m
238249 else if (("L" == c))
239250 then n
240251 else if (("XL" == c))
241252 then o
242253 else if (("XXL" == c))
243254 then p
244255 else throw("Unknown land size")
245256 }
246257
247258
248-func aR (aS,aT,aL) = {
249- let aU = ((toString(aT) + "_") + toString(aL))
250- let aV = split(valueOrElse(getString(K, aS), (aU + ":0_0_0_0_0_0:0_0_0_0_0_0::0")), ":")
251-[aV[u], if ((size(split(aV[v], "_")) == k))
252- then aV[v]
253- else "0_0_0_0_0_0", if ((size(split(aV[w], "_")) == k))
254- then aV[w]
255- else "0_0_0_0_0_0", aV[x], if ((5 > size(aV)))
259+func aT (aU,aV,aN) = {
260+ let aW = ((toString(aV) + "_") + toString(aN))
261+ let aX = split(valueOrElse(getString(K, aU), (aW + ":0_0_0_0_0_0:0_0_0_0_0_0::0")), ":")
262+[aX[u], if ((size(split(aX[v], "_")) == k))
263+ then aX[v]
264+ else "0_0_0_0_0_0", if ((size(split(aX[w], "_")) == k))
265+ then aX[w]
266+ else "0_0_0_0_0_0", aX[x], if ((5 > size(aX)))
256267 then "0"
257- else aV[y]]
268+ else aX[y]]
258269 }
259270
260271
261-func aW (W) = $Tuple5(valueOrElse(getInteger(K, Q(W)), -1), value(assetInfo(fromBase58String(W))).name, valueOrElse(getString(K, Z(W)), ""), valueOrElse(getInteger(K, aa(W)), -1), ai(invoke(K, "getBackpackREADONLY", [W], nil)))
272+func aY (W) = $Tuple5(valueOrElse(getInteger(K, Q(W)), -1), value(assetInfo(fromBase58String(W))).name, valueOrElse(getString(K, Z(W)), ""), valueOrElse(getInteger(K, aa(W)), -1), ai(invoke(K, "getBackpackREADONLY", [W], nil)))
262273
263274
264-func aX (W,aY,aZ) = [("%s%s__assetId__" + W), ("%s%s__owner__" + aY), ("%s%d__stakedTime__" + toString(aZ._1)), ("%s%s__name__" + aZ._2), ("%s%s__location__" + aZ._3), ("%s%d__health__" + toString(aZ._4)), ("%s%s__backPack__" + aZ._5)]
275+func aZ (W,ba,bb) = [("%s%s__assetId__" + W), ("%s%s__owner__" + ba), ("%s%d__stakedTime__" + toString(bb._1)), ("%s%s__name__" + bb._2), ("%s%s__location__" + bb._3), ("%s%d__health__" + toString(bb._4)), ("%s%s__backPack__" + bb._5)]
265276
266277
267-func ba (Y,aY,bb) = if ((Y == ""))
278+func bc (Y,ba,bd) = if ((Y == ""))
268279 then throw("landAssetId is required")
269280 else {
270- let bc = value(assetInfo(fromBase58String(Y)))
271- let bd = split(bc.description, "_")
272- let be = if ((bc.quantity > 0))
273- then bd[q]
274- else ("-" + bd[q])
275- let aK = aP(bd[r])
276- let bf = aJ(Y, aK)
277- let bg = (lastBlock.timestamp - bb)
278- let bh = if ((bb > 0))
279- then fraction(bg, (bf._3 * aK), j)
281+ let be = value(assetInfo(fromBase58String(Y)))
282+ let bf = split(be.description, "_")
283+ let bg = if ((be.quantity > 0))
284+ then bf[q]
285+ else ("-" + bf[q])
286+ let aM = aR(bf[r])
287+ let bh = aL(Y, aM)
288+ let bi = (lastBlock.timestamp - bd)
289+ let bj = if ((bd > 0))
290+ then fraction(bi, (bh._3 * aM), j)
280291 else 0
281- let bi = fraction(d, (aK * (bf._1 + 1)), l)
282- let bj = if ((bb > 0))
283- then aC(invoke(K, "splitByGlobalAndLocalWeightsREADONLY", [bi, bh, bd[s]], nil))
284- else $Tuple2(am(invoke(K, "splitByGlobalWeightsREADONLY", [bi], nil)), "")
285-[("%s%s__assetId__" + Y), ("%s%s__owner__" + aY), ("%s%d__stakedTime__" + toString(bb)), ("%s%s__description__" + makeString([be, bd[r], bd[s], bd[t]], "_")), ("%s%d__infraLevel__" + toString(bf._1)), ("%s%s__availResByType__" + bj._2), ("%s%d__availResTotal__" + toString(bh)), ("%s%s__needMaterial__" + bj._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bf._2))], g), ("%s%s__warehouse__" + makeString(aR(X(Y), (aK / l), bf._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
292+ let bk = fraction(d, (aM * (bh._1 + 1)), l)
293+ let bl = if ((bd > 0))
294+ then aE(invoke(K, "splitByGlobalAndLocalWeightsREADONLY", [bk, bj, bf[s]], nil))
295+ else $Tuple2(ao(invoke(K, "splitByGlobalWeightsREADONLY", [bk], nil)), "")
296+[("%s%s__assetId__" + Y), ("%s%s__owner__" + ba), ("%s%d__stakedTime__" + toString(bd)), ("%s%s__description__" + makeString([bg, bf[r], bf[s], bf[t]], "_")), ("%s%d__infraLevel__" + toString(bh._1)), ("%s%s__availResByType__" + bl._2), ("%s%d__availResTotal__" + toString(bj)), ("%s%s__needMaterial__" + bl._1), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bh._2))], g), ("%s%s__warehouse__" + makeString(aT(X(Y), (aM / l), bh._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
286297 }
287298
288299
289-func bk (Y,aY) = if ((Y == ""))
300+func bm (Y,ba) = if ((Y == ""))
290301 then throw("landAssetId is required")
291302 else {
292- let bc = value(assetInfo(fromBase58String(Y)))
293- let bd = split(bc.description, "_")
294- let aK = aP(bd[r])
295- let bf = aJ(Y, aK)
296-[("%s%s__assetId__" + Y), ("%s%s__owner__" + aY), ("%s%s__warehouse__" + makeString(aR(X(Y), (aK / l), bf._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
303+ let be = value(assetInfo(fromBase58String(Y)))
304+ let bf = split(be.description, "_")
305+ let aM = aR(bf[r])
306+ let bh = aL(Y, aM)
307+[("%s%s__assetId__" + Y), ("%s%s__owner__" + ba), ("%s%s__warehouse__" + makeString(aT(X(Y), (aM / l), bh._1), ":")), ("%s%s__landOrder__" + valueOrElse(getString(L, ah(Y)), "0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:"))]
297308 }
298309
299310
300-@Callable(bl)
301-func constructorV1 (K,L,M) = if ((bl.caller != this))
311+@Callable(bn)
312+func constructorV1 (K,L,M) = if ((bn.caller != this))
302313 then throw("permissions denied")
303314 else [StringEntry(z(), makeString(["%s%s%s", K, L, M], g))]
304315
305316
306317
307-@Callable(bl)
308-func walletInfoREADONLY (aF) = $Tuple2(nil, aE(aF))
318+@Callable(bn)
319+func walletInfoREADONLY (aH) = $Tuple2(nil, aG(aH))
309320
310321
311322
312-@Callable(bl)
313-func duckInfoREADONLY (W,aF) = {
314- let aG = addressFromString(aF)
315- let bm = fromBase58String(W)
323+@Callable(bn)
324+func duckInfoREADONLY (W,aH) = {
325+ let aI = addressFromString(aH)
326+ let bo = fromBase58String(W)
316327 if ((W == ""))
317328 then throw("duckAssetId is required")
318329 else {
319- let bn = getString(K, O(W))
320- let aY = if (isDefined(bn))
321- then value(bn)
322- else if (if (isDefined(aG))
323- then (assetBalance(value(aG), bm) == 1)
330+ let bp = getString(K, O(W))
331+ let ba = if (isDefined(bp))
332+ then value(bp)
333+ else if (if (isDefined(aI))
334+ then (assetBalance(value(aI), bo) == 1)
324335 else false)
325- then aF
336+ then aH
326337 else ""
327- $Tuple2(nil, $Tuple2(aX(W, aY, aW(W)), aE(aF)))
338+ $Tuple2(nil, $Tuple2(aZ(W, ba, aY(W)), aG(aH)))
328339 }
329340 }
330341
331342
332343
333-@Callable(bl)
334-func landInfoREADONLY (Y,aF) = {
335- let aG = addressFromString(aF)
336- let bo = fromBase58String(Y)
344+@Callable(bn)
345+func landInfoREADONLY (Y,aH) = {
346+ let aI = addressFromString(aH)
347+ let bq = fromBase58String(Y)
337348 if ((Y == ""))
338349 then throw("landAssetId is required")
339350 else {
340- let bb = valueOrElse(getInteger(K, Q(Y)), 0)
341- let aY = if ((bb > 0))
351+ let bd = valueOrElse(getInteger(K, Q(Y)), 0)
352+ let ba = if ((bd > 0))
342353 then value(getString(K, ab(Y)))
343- else if (if (isDefined(aG))
344- then (assetBalance(value(aG), bo) == 1)
354+ else if (if (isDefined(aI))
355+ then (assetBalance(value(aI), bq) == 1)
345356 else false)
346- then aF
357+ then aH
347358 else ""
348- let bp = getString(K, R(aF))
349- let aZ = if (if (isDefined(aG))
350- then isDefined(bp)
359+ let br = getString(K, R(aH))
360+ let bb = if (if (isDefined(aI))
361+ then isDefined(br)
351362 else false)
352363 then {
353- let W = value(bp)
354- $Tuple2(W, aW(W))
364+ let W = value(br)
365+ $Tuple2(W, aY(W))
355366 }
356367 else $Tuple2("", $Tuple5(-1, "", "", -1, ""))
357- $Tuple2(nil, $Tuple3(ba(Y, aY, bb), aX(aZ._1, aF, aZ._2), aE(aF)))
368+ $Tuple2(nil, $Tuple3(bc(Y, ba, bd), aZ(bb._1, aH, bb._2), aG(aH)))
358369 }
359370 }
360371
361372
362373
363-@Callable(bl)
364-func stakedLandsInfoREADONLY (bq,br) = if ((br == ""))
374+@Callable(bn)
375+func stakedLandsInfoREADONLY (bs,bt) = if ((bt == ""))
365376 then throw("landOwnerAddress is required")
366377 else {
367- let bs = addressFromString(bq)
368- let bt = getString(K, ag(br))
369- let bu = if (isDefined(bt))
370- then split_51C(value(bt), "_")
378+ let bu = addressFromString(bs)
379+ let bv = getString(K, ag(bt))
380+ let bw = if (isDefined(bv))
381+ then split_51C(value(bv), "_")
371382 else nil
372- func bv (aq,Y) = {
373- let bo = fromBase58String(Y)
383+ func bx (as,Y) = {
384+ let bq = fromBase58String(Y)
374385 if ((Y == ""))
375386 then throw("landAssetId is required")
376387 else {
377- let bb = valueOrElse(getInteger(K, Q(Y)), 0)
378- let bw = value(assetInfo(bo)).description
379- let bd = split(bw, "_")
380- let aK = aP(bd[r])
381- let bf = aJ(Y, aK)
382- let bg = (lastBlock.timestamp - bb)
383- let bh = fraction(bg, (bf._3 * aK), j)
384- (aq :+ [("%s%s__landAssetId__" + Y), ("%s%d__stakedTime__" + toString(bb)), ("%s%s__description__" + bw), ("%s%d__infraLevel__" + toString(bf._1)), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bf._2))], g), ("%s%s__availRes__" + toString(bh))])
388+ let bd = valueOrElse(getInteger(K, Q(Y)), 0)
389+ let by = value(assetInfo(bq)).description
390+ let bf = split(by, "_")
391+ let aM = aR(bf[r])
392+ let bh = aL(Y, aM)
393+ let bi = (lastBlock.timestamp - bd)
394+ let bj = fraction(bi, (bh._3 * aM), j)
395+ (as :+ [("%s%s__landAssetId__" + Y), ("%s%d__stakedTime__" + toString(bd)), ("%s%s__description__" + by), ("%s%d__infraLevel__" + toString(bh._1)), makeString(["%s%s", "landArtefacts", ("PRESALE:" + toString(bh._2))], g), ("%s%s__availRes__" + toString(bj))])
385396 }
386397 }
387398
388- let au = {
389- let av = bu
390- let aw = size(av)
391- let ax = nil
392- func ay (az,aA) = if ((aA >= aw))
393- then az
394- else bv(az, av[aA])
399+ let aw = {
400+ let ax = bw
401+ let ay = size(ax)
402+ let az = nil
403+ func aA (aB,aC) = if ((aC >= ay))
404+ then aB
405+ else bx(aB, ax[aC])
395406
396- func aB (az,aA) = if ((aA >= aw))
397- then az
407+ func aD (aB,aC) = if ((aC >= ay))
408+ then aB
398409 else throw("List size exceeds 100")
399410
400- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
411+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
401412 }
402- let bp = getString(K, R(bq))
403- let aZ = if (if (isDefined(bs))
404- then isDefined(bp)
413+ let br = getString(K, R(bs))
414+ let bb = if (if (isDefined(bu))
415+ then isDefined(br)
405416 else false)
406417 then {
407- let W = value(bp)
408- $Tuple2(W, aW(W))
418+ let W = value(br)
419+ $Tuple2(W, aY(W))
409420 }
410421 else $Tuple2("", $Tuple5(-1, "", "", -1, ""))
411- $Tuple2(nil, $Tuple3(au, aX(aZ._1, bq, aZ._2), aE(bq)))
422+ $Tuple2(nil, $Tuple3(aw, aZ(bb._1, bs, bb._2), aG(bs)))
412423 }
413424
414425
415426
416-@Callable(bl)
417-func duckByOwnerInfoREADONLY (bx) = {
418- let bp = getString(K, R(bx))
419- $Tuple2(nil, if (if (isDefined(addressFromString(bx)))
420- then isDefined(bp)
427+@Callable(bn)
428+func duckByOwnerInfoREADONLY (bz) = {
429+ let br = getString(K, R(bz))
430+ $Tuple2(nil, if (if (isDefined(addressFromString(bz)))
431+ then isDefined(br)
421432 else false)
422433 then {
423- let W = value(bp)
424- aX(W, bx, aW(W))
434+ let W = value(br)
435+ aZ(W, bz, aY(W))
425436 }
426- else aX("", bx, $Tuple5(-1, "", "", -1, "")))
437+ else aZ("", bz, $Tuple5(-1, "", "", -1, "")))
427438 }
428439
429440
430441
431-@Callable(bl)
442+@Callable(bn)
432443 func duckByAssetIdInfoREADONLY (W) = {
433- let aY = getString(K, O(W))
434- let aZ = aW(W)
435- $Tuple2(nil, aX(W, if (isDefined(aY))
436- then value(aY)
437- else "", aW(W)))
444+ let ba = getString(K, O(W))
445+ let bb = aY(W)
446+ $Tuple2(nil, aZ(W, if (isDefined(ba))
447+ then value(ba)
448+ else "", aY(W)))
438449 }
439450
440451
441452
442-@Callable(bl)
453+@Callable(bn)
443454 func landByAssetIdInfoREADONLY (Y) = if ((Y == ""))
444455 then throw("landAssetId is required")
445456 else {
446- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
447- let aY = if ((bb > 0))
457+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
458+ let ba = if ((bd > 0))
448459 then value(getString(K, ab(Y)))
449460 else ""
450- $Tuple2(nil, ba(Y, aY, bb))
461+ $Tuple2(nil, bc(Y, ba, bd))
451462 }
452463
453464
454465
455-@Callable(bl)
456-func stakedLandsByOwnerInfoREADONLY (br) = if ((br == ""))
466+@Callable(bn)
467+func stakedLandsByOwnerInfoREADONLY (bt) = if ((bt == ""))
457468 then throw("landOwnerAddress is required")
458469 else {
459- let bt = getString(K, ag(br))
460- let bu = if (isDefined(bt))
461- then split_51C(value(bt), "_")
470+ let bv = getString(K, ag(bt))
471+ let bw = if (isDefined(bv))
472+ then split_51C(value(bv), "_")
462473 else nil
463- func bv (aq,Y) = if ((Y == ""))
474+ func bx (as,Y) = if ((Y == ""))
464475 then throw("landAssetId is required")
465476 else {
466- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
467- (aq :+ ba(Y, br, bb))
477+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
478+ (as :+ bc(Y, bt, bd))
468479 }
469480
470- let au = {
471- let av = bu
472- let aw = size(av)
473- let ax = nil
474- func ay (az,aA) = if ((aA >= aw))
475- then az
476- else bv(az, av[aA])
481+ let aw = {
482+ let ax = bw
483+ let ay = size(ax)
484+ let az = nil
485+ func aA (aB,aC) = if ((aC >= ay))
486+ then aB
487+ else bx(aB, ax[aC])
477488
478- func aB (az,aA) = if ((aA >= aw))
479- then az
489+ func aD (aB,aC) = if ((aC >= ay))
490+ then aB
480491 else throw("List size exceeds 100")
481492
482- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
493+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
483494 }
484- $Tuple2(nil, au)
495+ $Tuple2(nil, aw)
485496 }
486497
487498
488499
489-@Callable(bl)
490-func landsByIdsInfoREADONLY (by) = {
491- func bv (aq,Y) = if ((Y == ""))
500+@Callable(bn)
501+func landsByIdsInfoREADONLY (bA) = {
502+ func bx (as,Y) = if ((Y == ""))
492503 then throw("landAssetId is required")
493504 else {
494- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
495- let aY = if ((bb > 0))
505+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
506+ let ba = if ((bd > 0))
496507 then value(getString(K, ab(Y)))
497508 else ""
498- (aq :+ ba(Y, aY, bb))
509+ (as :+ bc(Y, ba, bd))
499510 }
500511
501- let au = {
502- let av = by
503- let aw = size(av)
504- let ax = nil
505- func ay (az,aA) = if ((aA >= aw))
506- then az
507- else bv(az, av[aA])
512+ let aw = {
513+ let ax = bA
514+ let ay = size(ax)
515+ let az = nil
516+ func aA (aB,aC) = if ((aC >= ay))
517+ then aB
518+ else bx(aB, ax[aC])
508519
509- func aB (az,aA) = if ((aA >= aw))
510- then az
520+ func aD (aB,aC) = if ((aC >= ay))
521+ then aB
511522 else throw("List size exceeds 100")
512523
513- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
524+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
514525 }
515- $Tuple2(nil, au)
526+ $Tuple2(nil, aw)
516527 }
517528
518529
519530
520-@Callable(bl)
531+@Callable(bn)
521532 func warehouseOrderByAssetIdInfoREADONLY (Y) = if ((Y == ""))
522533 then throw("landAssetId is required")
523534 else {
524- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
525- let aY = if ((bb > 0))
535+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
536+ let ba = if ((bd > 0))
526537 then value(getString(K, ab(Y)))
527538 else ""
528- $Tuple2(nil, bk(Y, aY))
539+ $Tuple2(nil, bm(Y, ba))
529540 }
530541
531542
532543
533-@Callable(bl)
534-func ordersByLandIdsInfoREADONLY (by) = {
535- func bv (aq,Y) = if ((Y == ""))
544+@Callable(bn)
545+func ordersByLandIdsInfoREADONLY (bA) = {
546+ func bx (as,Y) = if ((Y == ""))
536547 then throw("landAssetId is required")
537548 else {
538- let bb = valueOrElse(getInteger(K, Q(Y)), -1)
539- let aY = if ((bb > 0))
549+ let bd = valueOrElse(getInteger(K, Q(Y)), -1)
550+ let ba = if ((bd > 0))
540551 then value(getString(K, ab(Y)))
541552 else ""
542- (aq :+ bk(Y, aY))
553+ (as :+ bm(Y, ba))
543554 }
544555
545- let au = {
546- let av = by
547- let aw = size(av)
548- let ax = nil
549- func ay (az,aA) = if ((aA >= aw))
550- then az
551- else bv(az, av[aA])
556+ let aw = {
557+ let ax = bA
558+ let ay = size(ax)
559+ let az = nil
560+ func aA (aB,aC) = if ((aC >= ay))
561+ then aB
562+ else bx(aB, ax[aC])
552563
553- func aB (az,aA) = if ((aA >= aw))
554- then az
564+ func aD (aB,aC) = if ((aC >= ay))
565+ then aB
555566 else throw("List size exceeds 100")
556567
557- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
568+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
558569 }
559- $Tuple2(nil, au)
570+ $Tuple2(nil, aw)
560571 }
561572
562573
563574
564-@Callable(bl)
565-func cancelWarehouseOrders (by) = if ((bl.caller != this))
575+@Callable(bn)
576+func cancelWarehouseOrders (bA) = if ((bn.caller != this))
566577 then throw("permission denied")
567578 else {
568- let bz = getBoolean(K, N())
569- if (if (!(isDefined(bz)))
579+ let bB = getBoolean(K, N())
580+ if (if (!(isDefined(bB)))
570581 then true
571- else (value(bz) == false))
582+ else (value(bB) == false))
572583 then throw("Contracts should be blocked before canceling orders")
573584 else {
574- func bv (bc,Y) = if ((Y == ""))
585+ func bx (be,Y) = if ((Y == ""))
575586 then throw("landAssetId is required")
576587 else {
577- let bA = al(invoke(L, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", Y], nil))
578- if (if (bc)
588+ let bC = an(invoke(L, "setWarehouseOrder", ["0@0_0@0_0@0_0@0_0@0_0@0:0@0_0@0_0@0_0@0_0@0_0@0:", Y], nil))
589+ if (if (be)
579590 then true
580- else bA)
581- then !(if (bc)
582- then bA
591+ else bC)
592+ then !(if (be)
593+ then bC
583594 else false)
584595 else false
585596 }
586597
587- let au = {
588- let av = by
589- let aw = size(av)
590- let ax = false
591- func ay (az,aA) = if ((aA >= aw))
592- then az
593- else bv(az, av[aA])
598+ let aw = {
599+ let ax = bA
600+ let ay = size(ax)
601+ let az = false
602+ func aA (aB,aC) = if ((aC >= ay))
603+ then aB
604+ else bx(aB, ax[aC])
594605
595- func aB (az,aA) = if ((aA >= aw))
596- then az
606+ func aD (aB,aC) = if ((aC >= ay))
607+ then aB
597608 else throw("List size exceeds 30")
598609
599- aB(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ay(ax, 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)
610+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
600611 }
601- $Tuple2(nil, au)
612+ $Tuple2(nil, aw)
602613 }
614+ }
615+
616+
617+
618+@Callable(bn)
619+func replaceBooleanArtifacts (bA) = if ((bn.caller != this))
620+ then throw("permission denied")
621+ else {
622+ func bx (as,Y) = if ((Y == ""))
623+ then throw("landAssetId is required")
624+ else if (isDefined(getBoolean(K, af(Y))))
625+ then (as + al(invoke(K, "replaceBooleanArtifact", [Y], nil)))
626+ else as
627+
628+ let aw = {
629+ let ax = bA
630+ let ay = size(ax)
631+ let az = 0
632+ func aA (aB,aC) = if ((aC >= ay))
633+ then aB
634+ else bx(aB, ax[aC])
635+
636+ func aD (aB,aC) = if ((aC >= ay))
637+ then aB
638+ else throw("List size exceeds 25")
639+
640+ aD(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(az, 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)
641+ }
642+ $Tuple2(nil, aw)
603643 }
604644
605645

github/deemru/w8io/169f3d6 
576.97 ms