tx · 466abnDDzXoaujQ9XYrdQ9f4BnXDSkkWyCUSpdmVPBGp

3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy:  -0.01500000 Waves

2023.06.21 14:30 [2632347] smart account 3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy > SELF 0.00000000 Waves

{ "type": 13, "id": "466abnDDzXoaujQ9XYrdQ9f4BnXDSkkWyCUSpdmVPBGp", "fee": 1500000, "feeAssetId": null, "timestamp": 1687347054246, "version": 2, "chainId": 84, "sender": "3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy", "senderPublicKey": "FsR18761ZAsUqsTd7TK3XmR6bhihs1UXVmpHYxz5JzQ1", "proofs": [ "29ThddyMmPSfaBxCtXNhMYUc4aTansTkGQXcEYSrNneAseRczyAXZp8iwgDGaG3xF1oXgxTAiheaaH2Su3A2Lg2g" ], "script": "base64:BgIZCAISBQoDCAgIEgASABIAEgMKAQgSAwoBCJMBAAVjaGFpbgkAyQECCQDKAQIIBQR0aGlzBWJ5dGVzAAEAAQALdXNkdEFzc2V0SWQEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDABIITaerIIAz9O0bvKju6Lk7zJgt0LXfoHlqjUI/moD/+5AwkAAAIBAVQFByRtYXRjaDABIFWx2J9yh4Lv5eNbjawFq2XemkOhLxa7BfMat4el8cUYCQACAQINVW5rbm93biBjaGFpbgAVZGVmYXVsdFJlc3RBZGRyZXNzU3RyBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAiMzUFFDdXZGYnZoNExrUFVucm5VMXozam5iQTFwOW0zV05odgMJAAACAQFUBQckbWF0Y2gwAiMzTXVta0dHenRDS0FYcFdEcXhrZGRvZnFYU1VicVFrdlNKeQkAAgECDVVua25vd24gY2hhaW4AEUluZnJhVXBncmFkZUNvc3RTBAckbWF0Y2gwBQVjaGFpbgMJAAACAQFXBQckbWF0Y2gwAIDIr6AlAwkAAAIBAVQFByRtYXRjaDAAgMLXLwkAAgECDVVua25vd24gY2hhaW4AA1NFUAICX18ABU1VTFQ2AMCEPQAFTVVMVDcAgK3iBAAFTVVMVDgAgMLXLwAGTVVMVDEwAIDIr6AlAApMQU5EUFJFRklYAgRMQU5EAApEVUNLUFJFRklYAgREVUNLAApBUlRQUkVTQUxFAgdQUkVTQUxFAAZOVU1SRVMABgAFU1NJWkUAGQAFTVNJWkUAZAAFTFNJWkUA4QEABlhMU0laRQCQAwAHWFhMU0laRQDxBAAPREFJTFlSRVNCWVBJRUNFAID40gEACURBWU1JTExJUwCAuJkpAAxXSE1VTFRJUExJRVIAgMivoCUAD0RFRkFVTFRMT0NBVElPTgIPQWZyaWNhX0ZfQWZyaWNhABBSRVNPVVJDRVBSSUNFTUlOANW1AgANRVNNQVhQQUNLQUdFUwADAAlFU0JVWUNPRUYABAAKRVNTRUxMQ09FRgAKAAVNQVhIUABkAAhyZXNUeXBlcwkAzAgCAgNPaWwJAMwIAgIDT3JlCQDMCAICBFdvb2QJAMwIAgIEU2FuZAkAzAgCAgRDbGF5CQDMCAICB09yZ2FuaWMFA25pbAAIbWF0VHlwZXMJAMwIAgIERnVlbAkAzAgCAgVNZXRhbAkAzAgCAgVQbGFuawkAzAgCAgVHbGFzcwkAzAgCAgdQbGFzdGljCQDMCAICB1Byb3RlaW4FA25pbAAJcHJvZFR5cGVzCQDMCAICEEZpcnN0IEFpZCBLaXQgTDEJAMwIAgIQRmlyc3QgQWlkIEtpdCBMMgkAzAgCAhBGaXJzdCBBaWQgS2l0IEwzCQDMCAICC0JhY2twYWNrIEwxCQDMCAICC0JhY2twYWNrIEwyCQDMCAICC0JhY2twYWNrIEwzCQDMCAICDkZvb2QgUmF0aW9uIEwxCQDMCAICDkZvb2QgUmF0aW9uIEwyCQDMCAICDkZvb2QgUmF0aW9uIEwzCQDMCAICC0pldCBQYWNrIEwxCQDMCAICC0pldCBQYWNrIEwyCQDMCAICC0pldCBQYWNrIEwzCQDMCAICCVNoaWVsZCBMMQkAzAgCAglTaGllbGQgTDIJAMwIAgIJU2hpZWxkIEwzBQNuaWwACmNvbnRpbmVudHMJAMwIAgIIQW1lcmljYXMJAMwIAgIGRXVyb3BlCQDMCAICBEFzaWEJAMwIAgIGQWZyaWNhCQDMCAICB09jZWFuaWEFA25pbAAQcHJvZHVjdGlvbk1hdHJpeAkAzAgCAhIxXzFfMV8yXzJfNV8xXzEwXzAJAMwIAgITMl8yXzJfNF80XzEwXzFfMTBfMAkAzAgCAhMzXzNfM182XzZfMTVfMV8xMF8wCQDMCAICEzJfNV81XzJfN181XzJfMTAwXzEJAMwIAgIXNF8xMF8xMF80XzE0XzEwXzJfMTAwXzEJAMwIAgIXNl8xNV8xNV82XzIxXzE1XzJfMTAwXzEJAMwIAgISMV8xXzFfMV8xXzhfMV8xMF8yCQDMCAICEzJfMl8yXzJfMl8xNl8xXzEwXzIJAMwIAgITM18zXzNfM18zXzI0XzFfMTBfMgkAzAgCAhM5XzlfMV81XzVfMV81XzEwMF8zCQDMCAICFzE4XzE4XzJfMTBfMTBfMl81XzEwMF8zCQDMCAICFzI3XzI3XzNfMTVfMTVfM181XzEwMF8zCQDMCAICEjJfMl8xXzJfMl8yXzFfMTBfNAkAzAgCAhI0XzRfMl80XzRfNF8xXzEwXzQJAMwIAgISNl82XzNfNl82XzZfMV8xMF80BQNuaWwAD2NvbnRJZHhBbWVyaWNhcwAAAA1jb250SWR4RXVyb3BlAAEAC2NvbnRJZHhBc2lhAAIADWNvbnRJZHhBZnJpY2EAAwAOY29udElkeE9jZWFuaWEABAANcmVjaXBlSWR4RnVlbAAAAA5yZWNpcGVJZHhNZXRhbAABAA5yZWNpcGVJZHhQbGFuawACAA5yZWNpcGVJZHhHbGFzcwADABByZWNpcGVJZHhQbGFzdGljAAQAEHJlY2lwZUlkeFByb3RlaW4ABQAPcmVjaXBlSWR4V2VpZ2h0AAYAEXJlY2lwZUlkeFBhY2tzaXplAAcAEnJlY2lwZUlkeENvbnRpbmVudAAIAApyZWNMYW5kTnVtAAAAC3JlY0xhbmRTaXplAAEAC3JlY1RlcnJhaW5zAAIADHJlY0NvbnRpbmVudAADAAt3aElkeExldmVscwAAAAh3aElkeFJlcwABAAh3aElkeE1hdAACAAl3aElkeFByb2QAAwAJd2hJZHhMT0ZUAAQACXZvbExvY2tlZAAAAAt2b2xPY2N1cGllZAABAAd2b2xGcmVlAAIACHZvbFRvdGFsAAMACmJwSWR4TGV2ZWwAAAAIYnBJZHhSZXMAAQAIYnBJZHhNYXQAAgAJYnBJZHhQcm9kAAMBCmdldFBrZ1NpemUBB3Byb2RJZHgJAQ1wYXJzZUludFZhbHVlAQkAkQMCCQC1CQIJAJEDAgUQcHJvZHVjdGlvbk1hdHJpeAUHcHJvZElkeAIBXwURcmVjaXBlSWR4UGFja3NpemUBD2dldFN0cmluZ09yRmFpbAIHYWRkcmVzcwNrZXkJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnQgCBQdhZGRyZXNzBQNrZXkJALkJAgkAzAgCAgptYW5kYXRvcnkgCQDMCAIJAKUIAQUHYWRkcmVzcwkAzAgCAgEuCQDMCAIFA2tleQkAzAgCAg8gaXMgbm90IGRlZmluZWQFA25pbAIAAQxnZXRJbnRPckVsc2UCA2tleQpkZWZhdWx0VmFsCQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFA2tleQUKZGVmYXVsdFZhbAARSWR4Q2ZnU3Rha2luZ0RhcHAAAQARSWR4Q2ZnRWNvbm9teURhcHAAAgAUSWR4Q2ZnR292ZXJuYW5jZURhcHAAAwANSWR4Q2ZnV2xnRGFwcAAEAQprZXlSZXN0Q2ZnAAIOJXNfX3Jlc3RDb25maWcBDmtleVJlc3RBZGRyZXNzAAIMJXNfX3Jlc3RBZGRyARFyZWFkUmVzdENmZ09yRmFpbAEEcmVzdAkAvAkCCQEPZ2V0U3RyaW5nT3JGYWlsAgUEcmVzdAkBCmtleVJlc3RDZmcABQNTRVABGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIHcmVzdENmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFB3Jlc3RDZmcFA2lkeAkArAICAipSZXN0IGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4AAxyZXN0Q29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBDmtleVJlc3RBZGRyZXNzAAUVZGVmYXVsdFJlc3RBZGRyZXNzU3RyAAdyZXN0Q2ZnCQERcmVhZFJlc3RDZmdPckZhaWwBBQxyZXN0Q29udHJhY3QAD3N0YWtpbmdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ1N0YWtpbmdEYXBwAA9lY29ub215Q29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdFY29ub215RGFwcAALZ292Q29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdHb3Zlcm5hbmNlRGFwcAALd2xnQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBQ1JZHhDZmdXbGdEYXBwARFrZXlMYXN0VHhJZEJ5VXNlcgEEYWRkcgkArAICAg9sYXN0VHhJZEJ5VXNlcl8FBGFkZHIBFWtleUxhbmRBc3NldElkVG9Pd25lcgEHYXNzZXRJZAkArAICAgluZnRPd25lcl8FB2Fzc2V0SWQBGmtleUxhbmRBc3NldElkVG9DdXN0b21OYW1lAQdhc3NldElkCQCsAgICGGxhbmRDdXN0b21OYW1lQnlBc3NldElkXwUHYXNzZXRJZAEWa2V5U3Rha2VkVGltZUJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtzdGFrZWRUaW1lXwUHYXNzZXRJZAEWa2V5SW5mcmFMZXZlbEJ5QXNzZXRJZAEHYXNzZXRJZAkArAICAgtpbmZyYUxldmVsXwUHYXNzZXRJZAEga2V5TGFuZEFydFN0YXR1c0J5VHlwZUFuZEFzc2V0SWQCBHR5cGUHYXNzZXRJZAkAuQkCCQDMCAICDWxhbmRBcnRTdGF0dXMJAMwIAgUEdHlwZQkAzAgCBQdhc3NldElkBQNuaWwCAV8BImtleVN0YWtlZFRpbWVCeVR5cGVBc3NldElkQW5kT3duZXIDB25mdFR5cGUHYXNzZXRJZAlvd25lckFkZHIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAiBzdGFrZWRUaW1lQnlUeXBlQXNzZXRJZEFuZE93bmVyXwUHbmZ0VHlwZQIBXwUHYXNzZXRJZAIBXwUJb3duZXJBZGRyARJrZXlXYXJlaG91c2VCeUxhbmQBC2xhbmRBc3NldElkCQCsAgICCndhcmVIb3VzZV8FC2xhbmRBc3NldElkARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIBFmtleVN0YWtlZFBpZWNlc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhRzdGFrZWRQaWVjZXNCeU93bmVyXwUJb3duZXJBZGRyARprZXlEdWNrQXNzZXRJZFRvQ3VzdG9tTmFtZQEHYXNzZXRJZAkArAICAhhkdWNrQ3VzdG9tTmFtZUJ5QXNzZXRJZF8FB2Fzc2V0SWQBFmtleUFkZHJlc3NUb0N1c3RvbU5hbWUBBGFkZHIJAKwCAgIYYWNjb3VudEN1c3RvbU5hbWVCeUFkZHJfBQRhZGRyAQ9rZXlBZGRyZXNzUmVmQnkBBGFkZHIJAKwCAgIJYWNjUmVmQnlfBQRhZGRyARNrZXlBZGRyZXNzUmVmZXJyYWxzAQRhZGRyCQCsAgICDWFjY1JlZmVycmFsc18FBGFkZHIBEGtleUR1Y2tJZFRvT3duZXIBB2Fzc2V0SWQJAKwCAgIKZHVja093bmVyXwUHYXNzZXRJZAEUa2V5U3Rha2VkRHVja0J5T3duZXIBCW93bmVyQWRkcgkArAICAhJzdGFrZWREdWNrQnlPd25lcl8FCW93bmVyQWRkcgERa2V5QmFja3BhY2tCeUR1Y2sBC2R1Y2tBc3NldElkCQCsAgICCWJhY2tQYWNrXwULZHVja0Fzc2V0SWQBD2tleUR1Y2tMb2NhdGlvbgELZHVja0Fzc2V0SWQJAKwCAgINZHVja0xvY2F0aW9uXwULZHVja0Fzc2V0SWQBDWtleUR1Y2tIZWFsdGgBC2R1Y2tBc3NldElkCQCsAgICC2R1Y2tIZWFsdGhfBQtkdWNrQXNzZXRJZAERa2V5UmVzUHJvcG9ydGlvbnMAAhNyZXNUeXBlc1Byb3BvcnRpb25zAQprZXlCbG9ja2VkAAIQY29udHJhY3RzQmxvY2tlZAEVa2V5VXNlckd3bFJlbGVhc2VUaW1lAQh1c2VyQWRkcgkArAICAholcyVzX191c2VyR3dsUmVsZWFzZVRpbWVfXwUIdXNlckFkZHIBDmtleU9yZGVyQnlMYW5kAQtsYW5kQXNzZXRJZAkArAICAgpsYW5kT3JkZXJfBQtsYW5kQXNzZXRJZAEOa2V5RXNXYXJlaG91c2UAAhplbWVyZ2VuY3lXYXJlaG91c2VQcm9kdWN0cwAPbG9jSWR4Q29udGluZW50AAAACmxvY0lkeFR5cGUAAQAIbG9jSWR4SWQAAgEIYXNTdHJpbmcBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAFzBQckbWF0Y2gwBQFzCQACAQIYZmFpbCB0byBjYXN0IGludG8gU3RyaW5nAQVhc0ludAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAW4FByRtYXRjaDAFAW4JAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBCWFzQW55TGlzdAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAglMaXN0W0FueV0EAWwFByRtYXRjaDAFAWwJAAIBAhtmYWlsIHRvIGNhc3QgaW50byBMaXN0W0FueV0BCWFzQm9vbGVhbgEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgdCb29sZWFuBAFzBQckbWF0Y2gwBQFzCQACAQIZZmFpbCB0byBjYXN0IGludG8gQm9vbGVhbgEPbnVtUGllY2VzQnlTaXplAQhsYW5kU2l6ZQQHJG1hdGNoMAUIbGFuZFNpemUDCQAAAgIBUwUHJG1hdGNoMAUFU1NJWkUDCQAAAgIBTQUHJG1hdGNoMAUFTVNJWkUDCQAAAgIBTAUHJG1hdGNoMAUFTFNJWkUDCQAAAgICWEwFByRtYXRjaDAFBlhMU0laRQMJAAACAgNYWEwFByRtYXRjaDAFB1hYTFNJWkUJAAIBAhFVbmtub3duIGxhbmQgc2l6ZQALSWR4RWZmVG90YWwAAAAKSWR4RWZmVXNlcgABAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIDCQAAAgUSdXNlckFkZHJTdHJPckVtcHR5AgAAAAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVtcHR5BAVsYW5kcwMJAQlpc0RlZmluZWQBBQhsYW5kc1N0cgkAvQkCCQEFdmFsdWUBBQhsYW5kc1N0cgIBXwUDbmlsCgEHb25lTGFuZAIDYWNjC2xhbmRBc3NldElkBAVhc3NldAkBBXZhbHVlAQkA7AcBCQDZBAEFC2xhbmRBc3NldElkBAhs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CVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UACldFRUtNSUxMSVMAgIiyoAIACU1BWFBFUklPRACcAQAQVEVOTUlOVVRFU01JTExJUwDAzyQAAkE2AIDC1y8AAkI4AIDh6xcADXdsZ0Fzc2V0SWRLZXkCC3dsZ19hc3NldElkAA93bGdJc3N1ZVRpbWVLZXkCDXdsZ19pc3N1ZVRpbWUAEndsZ0lzc3VlZEFtb3VudEtleQIQd2xnX2lzc3VlZEFtb3VudAAQbWFya2V0aW5nQWRkcktleQINbWFya2V0aW5nQWRkcgALdGVhbUFkZHJLZXkCCHRlYW1BZGRyABRsYXN0TWFya2V0aW5nVGltZUtleQIZbGFzdENsYWltZWRUaW1lX21hcmtldGluZwAPbGFzdFRlYW1UaW1lS2V5AhRsYXN0Q2xhaW1lZFRpbWVfdGVhbQAVbGFzdEFjdGl2aXRpZXNUaW1lS2V5AhpsYXN0Q2xhaW1lZFRpbWVfYWN0aXZpdGllcwEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQRhZGRyCQCsAgICFGxhc3RDbGFpbWVkVGltZVVzZXJfBQRhZGRyARRrZXlMYXN0QXJiVGltZUJ5VXNlcgEEYWRkcgkArAICAhBsYXN0QXJiVGltZVVzZXJfBQRhZGRyABRzdGFrZXJzQW1vdW50TGVmdEtleQIRc3Rha2Vyc0Ftb3VudExlZnQAGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkCFnN0YWtlcnNBbW91bnRQYWlkVG90YWwBGGtleVN0YWtlcnNBbW91bnRQYWlkVXNlcgEEYWRkcgkArAICAhZzdGFrZXJzQW1vdW50UGFpZFVzZXJfBQRhZGRyAAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgAKd2xnQXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCQChCAEFDXdsZ0Fzc2V0SWRLZXkCE05vdCBpbml0aWFsaXplZCB5ZXQBBnByb2xvZwADCQELdmFsdWVPckVsc2UCCQCbCAIFD3N0YWtpbmdDb250cmFjdAkBCmtleUJsb2NrZWQABwkAAgECH0NvbnRyYWN0cyBhcmUgdW5kZXIgbWFpbnRlbmFuY2UJAQVhc0ludAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AgpzYXZlTGFzdFR4BQNuaWwFA25pbAELZ2V0V2xnU3RhdHMABAxpc3N1ZWRBbW91bnQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBBRJ3bGdJc3N1ZWRBbW91bnRLZXkCGFdMR09MRCBpcyBub3QgaXNzdWVkIHlldAQFZnVuZHMJAGQCCQBkAgkA8AcCBQ9lY29ub215Q29udHJhY3QFC3VzZHRBc3NldElkCQDwBwIFDHJlc3RDb250cmFjdAULdXNkdEFzc2V0SWQJAPAHAgULd2xnQ29udHJhY3QFC3VzZHRBc3NldElkCQDMCAIFDGlzc3VlZEFtb3VudAkAzAgCCQBrAwUFZnVuZHMFBU1VTFQ4BQxpc3N1ZWRBbW91bnQJAMwIAgUFZnVuZHMFA25pbAEMZ2V0U3dhcExpbWl0AQRhZGRyBAhsYXN0VGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5TGFzdEFyYlRpbWVCeVVzZXIBBQRhZGRyAAAEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXADCQBmAgUQVEVOTUlOVVRFU01JTExJUwkAZQIFA25vdwUIbGFzdFRpbWUJAAIBAilBcmJpdHJhZ2VzIGFyZSBwb3NzaWJsZSBvbmNlIGEgMTAgbWludXRlcwQGcGllY2VzCQCRAwIJAQ5nZXRWb3RpbmdQb3dlcgEFBGFkZHIFCklkeEVmZlVzZXIEBHBvdzgJAGwGBQZwaWVjZXMAAAUCQjgACAAIBQdDRUlMSU5HCQBrAwUCQTYFBHBvdzgFBU1VTFQ4BgFpAQ1jb25zdHJ1Y3RvclYxAwhyZXN0QWRkcg1tYXJrZXRpbmdBZGRyCHRlYW1BZGRyAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIRUGVybWlzc2lvbiBkZW5pZWQDCQEJaXNEZWZpbmVkAQkAoQgBBQ13bGdBc3NldElkS2V5CQACAQITQWxyZWFkeSBpbml0aWFsaXplZAQMaXNzdWVkQW1vdW50BQZNVUxUMTQEBWlzc3VlCQDDCAcCBldMR09MRAIgV2F2ZXNMYW5kcyBHb2xkIGludmVzdG1lbnQgdG9rZW4FDGlzc3VlZEFtb3VudAAIBgUEdW5pdAAABAdhc3NldElkCQC4CAEFBWlzc3VlCQDMCAIFBWlzc3VlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ93bGdJc3N1ZVRpbWVLZXkIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJ3bGdJc3N1ZWRBbW91bnRLZXkFDGlzc3VlZEFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUZc3Rha2Vyc0Ftb3VudFBhaWRUb3RhbEtleQAACQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRzdGFrZXJzQW1vdW50TGVmdEtleQkAawMFBk1VTFQxNAULUExBWUVSU0hBUkUFBU1VTFQ2CQDMCAIJAQtCaW5hcnlFbnRyeQIFDXdsZ0Fzc2V0SWRLZXkFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgkBDmtleVJlc3RBZGRyZXNzAAUIcmVzdEFkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgUQbWFya2V0aW5nQWRkcktleQUNbWFya2V0aW5nQWRkcgkAzAgCCQELU3RyaW5nRW50cnkCBQt0ZWFtQWRkcktleQUIdGVhbUFkZHIFA25pbAFpAQZidXlXbGcABAxwcm9sb2dSZXN1bHQJAQZwcm9sb2cAAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEB3VzZHRBbXQIBQNwbXQGYW1vdW50BApwbXRBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQNwbXQHYXNzZXRJZAIeV0FWRVMgY2FuJ3QgYmUgdXNlZCBhcyBwYXltZW50AwkBAiE9AgUKcG10QXNzZXRJZAULdXNkdEFzc2V0SWQJAAIBAhNVU0RUIHBheW1lbnRzIG9ubHkhBAZjYWxsZXIIBQFpBmNhbGxlcgQEYWRkcgkApQgBBQZjYWxsZXIEB21heFVzZHQJAQxnZXRTd2FwTGltaXQBBQRhZGRyAwkAZgIFB3VzZHRBbXQFB21heFVzZHQJAAIBCQCsAgIJAKwCAgISWW91IGNhbiBzcGVuZCBtYXggCQCkAwEFB21heFVzZHQCBSBVU0RUBAhjdXJTdGF0cwkBC2dldFdsZ1N0YXRzAAQJY3VyQW1vdW50CQCRAwIFCGN1clN0YXRzBQxpZHhXbGdBbW91bnQECGJ1eVByaWNlCQBrAwkAkQMCBQhjdXJTdGF0cwULaWR4V2xnUHJpY2UABgAFBAl3bGdBbW91bnQJAGsDBQd1c2R0QW10BQVNVUxUOAUIYnV5UHJpY2UECHJlaXNzdWVkCQBrAwUHdXNkdEFtdAUJY3VyQW1vdW50CQBlAgkAkQMCBQhjdXJTdGF0cwULaWR4V2xnRnVuZHMFB3VzZHRBbXQJAJQKAgkAzAgCCQEHUmVpc3N1ZQMFCndsZ0Fzc2V0SWQFCHJlaXNzdWVkBgkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5CQBkAgUJY3VyQW1vdW50BQhyZWlzc3VlZAkAzAgCCQEMSW50ZWdlckVudHJ5AgkBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQUEYWRkcggFCWxhc3RCbG9jawl0aW1lc3RhbXAJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUGY2FsbGVyBQl3bGdBbW91bnQFCndsZ0Fzc2V0SWQFA25pbAUMcHJvbG9nUmVzdWx0AWkBB3NlbGxXbGcABAxwcm9sb2dSZXN1bHQJAQZwcm9sb2cAAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIiZXhhY3RseSAxIHBheW1lbnQgbXVzdCBiZSBhdHRhY2hlZAQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEBndsZ0FtdAgFA3BtdAZhbW91bnQECnBtdEFzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAggFA3BtdAdhc3NldElkAh5XQVZFUyBjYW4ndCBiZSB1c2VkIGFzIHBheW1lbnQDCQECIT0CBQpwbXRBc3NldElkBQp3bGdBc3NldElkCQACAQIVV0xHT0xEIHBheW1lbnRzIG9ubHkhBAZjYWxsZXIIBQFpBmNhbGxlcgQEYWRkcgkApQgBBQZjYWxsZXIEB21heFVzZHQJAQxnZXRTd2FwTGltaXQBBQRhZGRyBAhjdXJTdGF0cwkBC2dldFdsZ1N0YXRzAAQJY3VyQW1vdW50CQBlAgkAkQMCBQhjdXJTdGF0cwUMaWR4V2xnQW1vdW50BQZ3bGdBbXQECXNlbGxQcmljZQkAawMJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ1ByaWNlAAQABQQKdXNkdEFtb3VudAkAawMFBndsZ0FtdAUJc2VsbFByaWNlBQVNVUxUOAMJAGYCBQp1c2R0QW1vdW50BQdtYXhVc2R0CQACAQkArAICCQCsAgICEFlvdSBjYW4gZ2V0IG1heCAJAKQDAQUHbWF4VXNkdAIFIFVTRFQEBmJ1cm5lZAkAawMFCnVzZHRBbW91bnQFCWN1ckFtb3VudAkAkQMCBQhjdXJTdGF0cwULaWR4V2xnRnVuZHMJAJQKAgkAzAgCCQEEQnVybgIFCndsZ0Fzc2V0SWQFBmJ1cm5lZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5CQBlAgUJY3VyQW1vdW50BQZidXJuZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlMYXN0QXJiVGltZUJ5VXNlcgEFBGFkZHIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUKdXNkdEFtb3VudAULdXNkdEFzc2V0SWQFA25pbAUMcHJvbG9nUmVzdWx0AWkBBWNsYWltAAQMcHJvbG9nUmVzdWx0CQEGcHJvbG9nAAQGY2FsbGVyCAUBaQZjYWxsZXIECmNhbGxlckFkZHIJAKUIAQUGY2FsbGVyBANub3cIBQlsYXN0QmxvY2sJdGltZXN0YW1wBAlpc3N1ZVRpbWUJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAnwgBBQ93bGdJc3N1ZVRpbWVLZXkCD05vdCBpbml0aWFsaXplZAQRbGFzdE1hcmtldGluZ1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUUbGFzdE1hcmtldGluZ1RpbWVLZXkFCWlzc3VlVGltZQQNbWFya2V0aW5nQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBRBtYXJrZXRpbmdBZGRyS2V5BA9tYXJrZXRpbmdBbW91bnQJAGsDCQBrAwUGTVVMVDE0BQ5NQVJLRVRJTkdTSEFSRQUFTVVMVDYJAGUCBQNub3cFEWxhc3RNYXJrZXRpbmdUaW1lBQpZRUFSTUlMTElTBAxsYXN0VGVhbVRpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUPbGFzdFRlYW1UaW1lS2V5BQlpc3N1ZVRpbWUECHRlYW1BZGRyCQERQGV4dHJOYXRpdmUoMTA2MikBCQEFdmFsdWUBCQCiCAEFC3RlYW1BZGRyS2V5BAp0ZWFtQW1vdW50CQBrAwkAawMFBk1VTFQxNAUJVEVBTVNIQVJFBQVNVUxUNgkAZQIFA25vdwUMbGFzdFRlYW1UaW1lCQBoAgADBQpZRUFSTUlMTElTBBJsYXN0QWN0aXZpdGllc1RpbWUJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQlpc3N1ZVRpbWUECWFjdEFtb3VudAkAawMJAGsDBQZNVUxUMTQFDUFDVElWSVRZU0hBUkUFBU1VTFQ2CQBlAgUDbm93BRJsYXN0QWN0aXZpdGllc1RpbWUJAGgCAAMFCllFQVJNSUxMSVMECWN1clBlcmlvZAkAaQIJAGUCBQNub3cFCWlzc3VlVGltZQUKV0VFS01JTExJUwMJAGYCBQljdXJQZXJpb2QJAGkCBQlNQVhQRVJJT0QAAgkAAgECPVBsZWFzZSBtb2RpZnkgY29udHJhY3QgZm9yIG5leHQgMS41IHllYXJzLCBhY2NvcmRpbmcgdG8gc3RhdHMEA2VmZgkBDmdldFZvdGluZ1Bvd2VyAQUKY2FsbGVyQWRkcgQLdG90YWxQaWVjZXMJAJEDAgUDZWZmBQtJZHhFZmZUb3RhbAQPYW1vdW50TGVmdFRvdGFsCQELdmFsdWVPckVsc2UCCQCfCAEFFHN0YWtlcnNBbW91bnRMZWZ0S2V5AAAEFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAawMFD2Ftb3VudExlZnRUb3RhbAkAaAIAAgULdG90YWxQaWVjZXMJAGQCBQt0b3RhbFBpZWNlcwkAaAIJAJYDAQkAzAgCAKCNBgkAzAgCBQt0b3RhbFBpZWNlcwUDbmlsCQBlAgUJTUFYUEVSSU9EBQljdXJQZXJpb2QEC3VzZXJUaW1lS2V5CQEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQUKY2FsbGVyQWRkcgQMbGFzdFVzZXJUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEFC3VzZXJUaW1lS2V5BQlpc3N1ZVRpbWUECnVzZXJBbW91bnQJAGsDCQBrAwUVY3VyUGVyaW9kRGlzdHJpYnV0aW9uCQCRAwIFA2VmZgUKSWR4RWZmVXNlcgULdG90YWxQaWVjZXMJAGUCBQNub3cFDGxhc3RVc2VyVGltZQkAaAIAAwUKWUVBUk1JTExJUwQHdXNlcktleQkBGGtleVN0YWtlcnNBbW91bnRQYWlkVXNlcgEFCmNhbGxlckFkZHIJAJQKAgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQ1tYXJrZXRpbmdBZGRyBQ9tYXJrZXRpbmdBbW91bnQFCndsZ0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUIdGVhbUFkZHIFCnRlYW1BbW91bnQFCndsZ0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUMcmVzdENvbnRyYWN0BQlhY3RBbW91bnQFCndsZ0Fzc2V0SWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUGY2FsbGVyBQp1c2VyQW1vdW50BQp3bGdBc3NldElkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQd1c2VyS2V5CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBBQd1c2VyS2V5AAAFCnVzZXJBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkJAGQCCQELdmFsdWVPckVsc2UCCQCfCAEFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkAAAUKdXNlckFtb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAGUCBQ9hbW91bnRMZWZ0VG90YWwFCnVzZXJBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFFGxhc3RNYXJrZXRpbmdUaW1lS2V5BQNub3cJAMwIAgkBDEludGVnZXJFbnRyeQIFD2xhc3RUZWFtVGltZUtleQUDbm93CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRVsYXN0QWN0aXZpdGllc1RpbWVLZXkFA25vdwkAzAgCCQEMSW50ZWdlckVudHJ5AgULdXNlclRpbWVLZXkFA25vdwUDbmlsBQxwcm9sb2dSZXN1bHQBaQELb25TdGFrZUxhbmQBBGFkZHIDCQECIT0CCAUBaQZjYWxsZXIFD3N0YWtpbmdDb250cmFjdAkAAgECEVBlcm1pc3Npb24gZGVuaWVkCQCUCgIJAMwIAgkBDEludGVnZXJFbnRyeQIJARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBQRhZGRyCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUDbmlsCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAFpAQ1vblVuc3Rha2VMYW5kAQRhZGRyAwkBAiE9AggFAWkGY2FsbGVyBQ9zdGFraW5nQ29udHJhY3QJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAkAlAoCCQDMCAIJAQtEZWxldGVFbnRyeQEJARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBQRhZGRyBQNuaWwAAABc68pp", "height": 2632347, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EzSzww8dnq91LsQU6U4E6YKet1JSnCsbBML4KAYcgyzA Next: Cyb8hCxo8i4m7RVwPD9uzviw4WkWkshEPUimvLtD2Fmv Diff:
OldNewDifferences
589589 }
590590
591591
592+
593+@Callable(cP)
594+func onStakeLand (aK) = if ((cP.caller != aF))
595+ then throw("Permission denied")
596+ else $Tuple2([IntegerEntry(cx(aK), lastBlock.timestamp)], lastBlock.timestamp)
597+
598+
599+
600+@Callable(cP)
601+func onUnstakeLand (aK) = if ((cP.caller != aF))
602+ then throw("Permission denied")
603+ else $Tuple2([DeleteEntry(cx(aK))], 0)
604+
605+
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 "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
1919 else if ((base58'2T' == c))
2020 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
2121 else throw("Unknown chain")
2222 }
2323
2424 let e = {
2525 let c = a
2626 if ((base58'2W' == c))
2727 then 10000000000
2828 else if ((base58'2T' == c))
2929 then 100000000
3030 else throw("Unknown chain")
3131 }
3232
3333 let f = "__"
3434
3535 let g = 1000000
3636
3737 let h = 10000000
3838
3939 let i = 100000000
4040
4141 let j = 10000000000
4242
4343 let k = "LAND"
4444
4545 let l = "DUCK"
4646
4747 let m = "PRESALE"
4848
4949 let n = 6
5050
5151 let o = 25
5252
5353 let p = 100
5454
5555 let q = 225
5656
5757 let r = 400
5858
5959 let s = 625
6060
6161 let t = 3456000
6262
6363 let u = 86400000
6464
6565 let v = 10000000000
6666
6767 let w = "Africa_F_Africa"
6868
6969 let x = 39637
7070
7171 let y = 3
7272
7373 let z = 4
7474
7575 let A = 10
7676
7777 let B = 100
7878
7979 let C = ["Oil", "Ore", "Wood", "Sand", "Clay", "Organic"]
8080
8181 let D = ["Fuel", "Metal", "Plank", "Glass", "Plastic", "Protein"]
8282
8383 let E = ["First Aid Kit L1", "First Aid Kit L2", "First Aid Kit L3", "Backpack L1", "Backpack L2", "Backpack L3", "Food Ration L1", "Food Ration L2", "Food Ration L3", "Jet Pack L1", "Jet Pack L2", "Jet Pack L3", "Shield L1", "Shield L2", "Shield L3"]
8484
8585 let F = ["Americas", "Europe", "Asia", "Africa", "Oceania"]
8686
8787 let G = ["1_1_1_2_2_5_1_10_0", "2_2_2_4_4_10_1_10_0", "3_3_3_6_6_15_1_10_0", "2_5_5_2_7_5_2_100_1", "4_10_10_4_14_10_2_100_1", "6_15_15_6_21_15_2_100_1", "1_1_1_1_1_8_1_10_2", "2_2_2_2_2_16_1_10_2", "3_3_3_3_3_24_1_10_2", "9_9_1_5_5_1_5_100_3", "18_18_2_10_10_2_5_100_3", "27_27_3_15_15_3_5_100_3", "2_2_1_2_2_2_1_10_4", "4_4_2_4_4_4_1_10_4", "6_6_3_6_6_6_1_10_4"]
8888
8989 let H = 0
9090
9191 let I = 1
9292
9393 let J = 2
9494
9595 let K = 3
9696
9797 let L = 4
9898
9999 let M = 0
100100
101101 let N = 1
102102
103103 let O = 2
104104
105105 let P = 3
106106
107107 let Q = 4
108108
109109 let R = 5
110110
111111 let S = 6
112112
113113 let T = 7
114114
115115 let U = 8
116116
117117 let V = 0
118118
119119 let W = 1
120120
121121 let X = 2
122122
123123 let Y = 3
124124
125125 let Z = 0
126126
127127 let aa = 1
128128
129129 let ab = 2
130130
131131 let ac = 3
132132
133133 let ad = 4
134134
135135 let ae = 0
136136
137137 let af = 1
138138
139139 let ag = 2
140140
141141 let ah = 3
142142
143143 let ai = 0
144144
145145 let aj = 1
146146
147147 let ak = 2
148148
149149 let al = 3
150150
151151 func am (an) = parseIntValue(split(G[an], "_")[T])
152152
153153
154154 func ao (ap,aq) = valueOrErrorMessage(getString(ap, aq), makeString(["mandatory ", toString(ap), ".", aq, " is not defined"], ""))
155155
156156
157157 func ar (aq,as) = valueOrElse(getInteger(this, aq), as)
158158
159159
160160 let at = 1
161161
162162 let au = 2
163163
164164 let av = 3
165165
166166 let aw = 4
167167
168168 func ax () = "%s__restConfig"
169169
170170
171171 func ay () = "%s__restAddr"
172172
173173
174174 func az (aA) = split_4C(ao(aA, ax()), f)
175175
176176
177177 func aB (aC,aD) = valueOrErrorMessage(addressFromString(aC[aD]), ("Rest cfg doesn't contain address at index " + toString(aD)))
178178
179179
180180 let aE = addressFromStringValue(valueOrElse(getString(this, ay()), d))
181181
182182 let aC = az(aE)
183183
184184 let aF = aB(aC, at)
185185
186186 let aG = aB(aC, au)
187187
188188 let aH = aB(aC, av)
189189
190190 let aI = aB(aC, aw)
191191
192192 func aJ (aK) = ("lastTxIdByUser_" + aK)
193193
194194
195195 func aL (aM) = ("nftOwner_" + aM)
196196
197197
198198 func aN (aM) = ("landCustomNameByAssetId_" + aM)
199199
200200
201201 func aO (aM) = ("stakedTime_" + aM)
202202
203203
204204 func aP (aM) = ("infraLevel_" + aM)
205205
206206
207207 func aQ (aR,aM) = makeString(["landArtStatus", aR, aM], "_")
208208
209209
210210 func aS (aT,aM,aU) = ((((("stakedTimeByTypeAssetIdAndOwner_" + aT) + "_") + aM) + "_") + aU)
211211
212212
213213 func aV (aW) = ("wareHouse_" + aW)
214214
215215
216216 func aX (aU) = ("stakedLandsByOwner_" + aU)
217217
218218
219219 func aY (aU) = ("stakedPiecesByOwner_" + aU)
220220
221221
222222 func aZ (aM) = ("duckCustomNameByAssetId_" + aM)
223223
224224
225225 func ba (aK) = ("accountCustomNameByAddr_" + aK)
226226
227227
228228 func bb (aK) = ("accRefBy_" + aK)
229229
230230
231231 func bc (aK) = ("accReferrals_" + aK)
232232
233233
234234 func bd (aM) = ("duckOwner_" + aM)
235235
236236
237237 func be (aU) = ("stakedDuckByOwner_" + aU)
238238
239239
240240 func bf (bg) = ("backPack_" + bg)
241241
242242
243243 func bh (bg) = ("duckLocation_" + bg)
244244
245245
246246 func bi (bg) = ("duckHealth_" + bg)
247247
248248
249249 func bj () = "resTypesProportions"
250250
251251
252252 func bk () = "contractsBlocked"
253253
254254
255255 func bl (bm) = ("%s%s__userGwlReleaseTime__" + bm)
256256
257257
258258 func bn (aW) = ("landOrder_" + aW)
259259
260260
261261 func bo () = "emergencyWarehouseProducts"
262262
263263
264264 let bp = 0
265265
266266 let bq = 1
267267
268268 let br = 2
269269
270270 func bs (bt) = {
271271 let c = bt
272272 if ($isInstanceOf(c, "String"))
273273 then {
274274 let bu = c
275275 bu
276276 }
277277 else throw("fail to cast into String")
278278 }
279279
280280
281281 func bv (bt) = {
282282 let c = bt
283283 if ($isInstanceOf(c, "Int"))
284284 then {
285285 let bw = c
286286 bw
287287 }
288288 else throw("fail to cast into Int")
289289 }
290290
291291
292292 func bx (bt) = {
293293 let c = bt
294294 if ($isInstanceOf(c, "List[Any]"))
295295 then {
296296 let by = c
297297 by
298298 }
299299 else throw("fail to cast into List[Any]")
300300 }
301301
302302
303303 func bz (bt) = {
304304 let c = bt
305305 if ($isInstanceOf(c, "Boolean"))
306306 then {
307307 let bu = c
308308 bu
309309 }
310310 else throw("fail to cast into Boolean")
311311 }
312312
313313
314314 func bA (bB) = {
315315 let c = bB
316316 if (("S" == c))
317317 then o
318318 else if (("M" == c))
319319 then p
320320 else if (("L" == c))
321321 then q
322322 else if (("XL" == c))
323323 then r
324324 else if (("XXL" == c))
325325 then s
326326 else throw("Unknown land size")
327327 }
328328
329329
330330 let bC = 0
331331
332332 let bD = 1
333333
334334 func bE (bF) = {
335335 let bG = split(valueOrElse(getString(aF, bj()), "0_0_0_0_0_0"), "_")
336336 func bH (bI,bJ) = (bI + parseIntValue(bJ))
337337
338338 let bK = {
339339 let bL = bG
340340 let bM = size(bL)
341341 let bN = 0
342342 func bO (bP,bQ) = if ((bQ >= bM))
343343 then bP
344344 else bH(bP, bL[bQ])
345345
346346 func bR (bP,bQ) = if ((bQ >= bM))
347347 then bP
348348 else throw("List size exceeds 6")
349349
350350 bR(bO(bO(bO(bO(bO(bO(bN, 0), 1), 2), 3), 4), 5), 6)
351351 }
352352 let bS = if ((bF == ""))
353353 then 0
354354 else {
355355 let bT = getString(aF, aX(bF))
356356 let bU = if (isDefined(bT))
357357 then split_51C(value(bT), "_")
358358 else nil
359359 func bV (bI,aW) = {
360360 let bW = value(assetInfo(fromBase58String(aW)))
361361 let bB = split(bW.description, "_")[W]
362362 (bI + bA(bB))
363363 }
364364
365365 let bL = bU
366366 let bM = size(bL)
367367 let bN = 0
368368 func bX (bP,bQ) = if ((bQ >= bM))
369369 then bP
370370 else bV(bP, bL[bQ])
371371
372372 func bY (bP,bQ) = if ((bQ >= bM))
373373 then bP
374374 else throw("List size exceeds 100")
375375
376376 bY(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bX(bN, 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)
377377 }
378378 [bK, bS]
379379 }
380380
381381
382382 func bZ (ca) = {
383383 func cb (cc,cd) = (cc + parseIntValue(ca[cd]))
384384
385385 let bL = [0, 1, 2, 3, 4, 5]
386386 let bM = size(bL)
387387 let bN = 0
388388 func bO (bP,bQ) = if ((bQ >= bM))
389389 then bP
390390 else cb(bP, bL[bQ])
391391
392392 func bR (bP,bQ) = if ((bQ >= bM))
393393 then bP
394394 else throw("List size exceeds 6")
395395
396396 bR(bO(bO(bO(bO(bO(bO(bN, 0), 1), 2), 3), 4), 5), 6)
397397 }
398398
399399
400400 let ce = 100000000000000
401401
402402 let cf = 100000
403403
404404 let cg = 200000
405405
406406 let ch = 100000
407407
408408 let ci = 400000
409409
410410 let cj = 31557600000
411411
412412 let ck = 604800000
413413
414414 let cl = 156
415415
416416 let cm = 600000
417417
418418 let cn = 100000000
419419
420420 let co = 50000000
421421
422422 let cp = "wlg_assetId"
423423
424424 let cq = "wlg_issueTime"
425425
426426 let cr = "wlg_issuedAmount"
427427
428428 let cs = "marketingAddr"
429429
430430 let ct = "teamAddr"
431431
432432 let cu = "lastClaimedTime_marketing"
433433
434434 let cv = "lastClaimedTime_team"
435435
436436 let cw = "lastClaimedTime_activities"
437437
438438 func cx (aK) = ("lastClaimedTimeUser_" + aK)
439439
440440
441441 func cy (aK) = ("lastArbTimeUser_" + aK)
442442
443443
444444 let cz = "stakersAmountLeft"
445445
446446 let cA = "stakersAmountPaidTotal"
447447
448448 func cB (aK) = ("stakersAmountPaidUser_" + aK)
449449
450450
451451 let cC = 0
452452
453453 let cD = 1
454454
455455 let cE = 2
456456
457457 let cF = valueOrErrorMessage(getBinary(cp), "Not initialized yet")
458458
459459 func cG () = if (valueOrElse(getBoolean(aF, bk()), false))
460460 then throw("Contracts are under maintenance")
461461 else bv(invoke(aF, "saveLastTx", nil, nil))
462462
463463
464464 func cH () = {
465465 let cI = valueOrErrorMessage(getInteger(cr), "WLGOLD is not issued yet")
466466 let cJ = ((assetBalance(aG, b) + assetBalance(aE, b)) + assetBalance(aI, b))
467467 [cI, fraction(cJ, i, cI), cJ]
468468 }
469469
470470
471471 func cK (aK) = {
472472 let cL = valueOrElse(getInteger(cy(aK)), 0)
473473 let cM = lastBlock.timestamp
474474 if ((cm > (cM - cL)))
475475 then throw("Arbitrages are possible once a 10 minutes")
476476 else {
477477 let cN = bE(aK)[bD]
478478 let cO = pow(cN, 0, co, 8, 8, CEILING)
479479 fraction(cn, cO, i)
480480 }
481481 }
482482
483483
484484 @Callable(cP)
485485 func constructorV1 (cQ,cR,cS) = if ((cP.caller != this))
486486 then throw("Permission denied")
487487 else if (isDefined(getBinary(cp)))
488488 then throw("Already initialized")
489489 else {
490490 let cI = ce
491491 let cT = Issue("WLGOLD", "WavesLands Gold investment token", cI, 8, true, unit, 0)
492492 let aM = calculateAssetId(cT)
493493 [cT, IntegerEntry(cq, lastBlock.timestamp), IntegerEntry(cr, cI), IntegerEntry(cA, 0), IntegerEntry(cz, fraction(ce, ci, g)), BinaryEntry(cp, aM), StringEntry(ay(), cQ), StringEntry(cs, cR), StringEntry(ct, cS)]
494494 }
495495
496496
497497
498498 @Callable(cP)
499499 func buyWlg () = {
500500 let cU = cG()
501501 if ((size(cP.payments) != 1))
502502 then throw("exactly 1 payment must be attached")
503503 else {
504504 let cV = cP.payments[0]
505505 let cW = cV.amount
506506 let cX = valueOrErrorMessage(cV.assetId, "WAVES can't be used as payment")
507507 if ((cX != b))
508508 then throw("USDT payments only!")
509509 else {
510510 let cY = cP.caller
511511 let aK = toString(cY)
512512 let cZ = cK(aK)
513513 if ((cW > cZ))
514514 then throw((("You can spend max " + toString(cZ)) + " USDT"))
515515 else {
516516 let da = cH()
517517 let db = da[cC]
518518 let dc = fraction(da[cD], 6, 5)
519519 let dd = fraction(cW, i, dc)
520520 let de = fraction(cW, db, (da[cE] - cW))
521521 $Tuple2([Reissue(cF, de, true), IntegerEntry(cr, (db + de)), IntegerEntry(cy(aK), lastBlock.timestamp), ScriptTransfer(cY, dd, cF)], cU)
522522 }
523523 }
524524 }
525525 }
526526
527527
528528
529529 @Callable(cP)
530530 func sellWlg () = {
531531 let cU = cG()
532532 if ((size(cP.payments) != 1))
533533 then throw("exactly 1 payment must be attached")
534534 else {
535535 let cV = cP.payments[0]
536536 let df = cV.amount
537537 let cX = valueOrErrorMessage(cV.assetId, "WAVES can't be used as payment")
538538 if ((cX != cF))
539539 then throw("WLGOLD payments only!")
540540 else {
541541 let cY = cP.caller
542542 let aK = toString(cY)
543543 let cZ = cK(aK)
544544 let da = cH()
545545 let db = (da[cC] - df)
546546 let dg = fraction(da[cD], 4, 5)
547547 let dh = fraction(df, dg, i)
548548 if ((dh > cZ))
549549 then throw((("You can get max " + toString(cZ)) + " USDT"))
550550 else {
551551 let di = fraction(dh, db, da[cE])
552552 $Tuple2([Burn(cF, di), IntegerEntry(cr, (db - di)), IntegerEntry(cy(aK), lastBlock.timestamp), ScriptTransfer(cY, dh, b)], cU)
553553 }
554554 }
555555 }
556556 }
557557
558558
559559
560560 @Callable(cP)
561561 func claim () = {
562562 let cU = cG()
563563 let cY = cP.caller
564564 let dj = toString(cY)
565565 let cM = lastBlock.timestamp
566566 let dk = valueOrErrorMessage(getInteger(cq), "Not initialized")
567567 let dl = valueOrElse(getInteger(cu), dk)
568568 let cR = addressFromStringValue(value(getString(cs)))
569569 let dm = fraction(fraction(ce, cf, g), (cM - dl), cj)
570570 let dn = valueOrElse(getInteger(cv), dk)
571571 let cS = addressFromStringValue(value(getString(ct)))
572572 let do = fraction(fraction(ce, cg, g), (cM - dn), (3 * cj))
573573 let dp = valueOrElse(getInteger(cw), dk)
574574 let dq = fraction(fraction(ce, ch, g), (cM - dp), (3 * cj))
575575 let dr = ((cM - dk) / ck)
576576 if ((dr > (cl / 2)))
577577 then throw("Please modify contract for next 1.5 years, according to stats")
578578 else {
579579 let ds = bE(dj)
580580 let dt = ds[bC]
581581 let du = valueOrElse(getInteger(cz), 0)
582582 let dv = fraction(du, (2 * dt), (dt + (max([100000, dt]) * (cl - dr))))
583583 let dw = cx(dj)
584584 let dx = valueOrElse(getInteger(dw), dk)
585585 let dy = fraction(fraction(dv, ds[bD], dt), (cM - dx), (3 * cj))
586586 let dz = cB(dj)
587587 $Tuple2([ScriptTransfer(cR, dm, cF), ScriptTransfer(cS, do, cF), ScriptTransfer(aE, dq, cF), ScriptTransfer(cY, dy, cF), IntegerEntry(dz, (valueOrElse(getInteger(dz), 0) + dy)), IntegerEntry(cA, (valueOrElse(getInteger(cA), 0) + dy)), IntegerEntry(cz, (du - dy)), IntegerEntry(cu, cM), IntegerEntry(cv, cM), IntegerEntry(cw, cM), IntegerEntry(dw, cM)], cU)
588588 }
589589 }
590590
591591
592+
593+@Callable(cP)
594+func onStakeLand (aK) = if ((cP.caller != aF))
595+ then throw("Permission denied")
596+ else $Tuple2([IntegerEntry(cx(aK), lastBlock.timestamp)], lastBlock.timestamp)
597+
598+
599+
600+@Callable(cP)
601+func onUnstakeLand (aK) = if ((cP.caller != aF))
602+ then throw("Permission denied")
603+ else $Tuple2([DeleteEntry(cx(aK))], 0)
604+
605+

github/deemru/w8io/026f985 
57.28 ms