tx · 8BxwmeViHPzVizosVW5M3V4xLwkVece7uM5UAkcPQT7T

3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy:  -0.01100000 Waves

2023.06.29 23:31 [2644416] smart account 3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy > SELF 0.00000000 Waves

{ "type": 13, "id": "8BxwmeViHPzVizosVW5M3V4xLwkVece7uM5UAkcPQT7T", "fee": 1100000, "feeAssetId": null, "timestamp": 1688070733104, "version": 2, "chainId": 84, "sender": "3N7HtrKeFFLz5oy6PfGv1Lg3GwPk4gCPdGy", "senderPublicKey": "FsR18761ZAsUqsTd7TK3XmR6bhihs1UXVmpHYxz5JzQ1", "proofs": [ "4ZRYaYBJg91JqUUZ7dj5domM5p3GMQ8r95rz6WBXHfBVH4pYXdtqpb3ecHbze2jbPjfwLsSdMLQcQf98D2cdDCFD" ], "script": "base64:BgIZCAISBQoDCAgIEgASABIAEgMKAQgSAwoBCEIBCmtleUJsb2NrZWQAAhBjb250cmFjdHNCbG9ja2VkAAtJZHhFZmZUb3RhbAAAAApJZHhFZmZVc2VyAAEABWNoYWluCQDJAQIJAMoBAggFBHRoaXMFYnl0ZXMAAQABAAt1c2R0QXNzZXRJZAQHJG1hdGNoMAUFY2hhaW4DCQAAAgEBVwUHJG1hdGNoMAEghNp6sggDP07Ru8qO7ouTvMmC3Qtd+geWqNQj+agP/7kDCQAAAgEBVAUHJG1hdGNoMAEgVbHYn3KHgu/l41uNrAWrZd6aQ6EvFrsF8xq3h6XxxRgJAAIBAg1Vbmtub3duIGNoYWluABVkZWZhdWx0UmVzdEFkZHJlc3NTdHIEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDACIzNQUUN1dkZidmg0TGtQVW5yblUxejNqbmJBMXA5bTNXTmh2AwkAAAIBAVQFByRtYXRjaDACIzNNdW1rR0d6dENLQVhwV0RxeGtkZG9mcVhTVWJxUWt2U0p5CQACAQINVW5rbm93biBjaGFpbgAOYXJiaXRyYWdlRGVsYXkEByRtYXRjaDAFBWNoYWluAwkAAAIBAVcFByRtYXRjaDAAwM8kAwkAAAIBAVQFByRtYXRjaDAA4NQDCQACAQINVW5rbm93biBjaGFpbgADU0VQAgJfXwAFTVVMVDYAwIQ9AAVNVUxUOACAwtcvAAVTU0laRQAZAAVNU0laRQBkAAVMU0laRQDhAQAGWExTSVpFAJADAAdYWExTSVpFAPEEAQ9nZXRTdHJpbmdPckZhaWwCB2FkZHJlc3MDa2V5CQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUHYWRkcmVzcwUDa2V5CQC5CQIJAMwIAgIKbWFuZGF0b3J5IAkAzAgCCQClCAEFB2FkZHJlc3MJAMwIAgIBLgkAzAgCBQNrZXkJAMwIAgIPIGlzIG5vdCBkZWZpbmVkBQNuaWwCAAARSWR4Q2ZnU3Rha2luZ0RhcHAAAQARSWR4Q2ZnRWNvbm9teURhcHAAAgANSWR4Q2ZnV2xnRGFwcAAEABRJZHhDZmdQdXp6bGVQb29sRGFwcAAFAQprZXlSZXN0Q2ZnAAIOJXNfX3Jlc3RDb25maWcBDmtleVJlc3RBZGRyZXNzAAIMJXNfX3Jlc3RBZGRyARFyZWFkUmVzdENmZ09yRmFpbAEEcmVzdAkAvAkCCQEPZ2V0U3RyaW5nT3JGYWlsAgUEcmVzdAkBCmtleVJlc3RDZmcABQNTRVABGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIHcmVzdENmZwNpZHgJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkApggBCQCRAwIFB3Jlc3RDZmcFA2lkeAkArAICAipSZXN0IGNmZyBkb2Vzbid0IGNvbnRhaW4gYWRkcmVzcyBhdCBpbmRleCAJAKQDAQUDaWR4AAxyZXN0Q29udHJhY3QJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQt2YWx1ZU9yRWxzZQIJAJ0IAgUEdGhpcwkBDmtleVJlc3RBZGRyZXNzAAUVZGVmYXVsdFJlc3RBZGRyZXNzU3RyAAdyZXN0Q2ZnCQERcmVhZFJlc3RDZmdPckZhaWwBBQxyZXN0Q29udHJhY3QAD3N0YWtpbmdDb250cmFjdAkBGGdldENvbnRyYWN0QWRkcmVzc09yRmFpbAIFB3Jlc3RDZmcFEUlkeENmZ1N0YWtpbmdEYXBwAA9lY29ub215Q29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRFJZHhDZmdFY29ub215RGFwcAALd2xnQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBQ1JZHhDZmdXbGdEYXBwABJwdXp6bGVQb29sQ29udHJhY3QJARhnZXRDb250cmFjdEFkZHJlc3NPckZhaWwCBQdyZXN0Q2ZnBRRJZHhDZmdQdXp6bGVQb29sRGFwcAALcmVjTGFuZFNpemUAAQERa2V5UmVzUHJvcG9ydGlvbnMAAhNyZXNUeXBlc1Byb3BvcnRpb25zARVrZXlTdGFrZWRMYW5kc0J5T3duZXIBCW93bmVyQWRkcgkArAICAhNzdGFrZWRMYW5kc0J5T3duZXJfBQlvd25lckFkZHIAEndsZ0lzc3VlZEFtb3VudEtleQIQd2xnX2lzc3VlZEFtb3VudAANd2xnQXNzZXRJZEtleQILd2xnX2Fzc2V0SWQACndsZ0Fzc2V0SWQJARN2YWx1ZU9yRXJyb3JNZXNzYWdlAgkAoQgBBQ13bGdBc3NldElkS2V5AhNOb3QgaW5pdGlhbGl6ZWQgeWV0AAxpZHhXbGdBbW91bnQAAAALaWR4V2xnUHJpY2UAAQALaWR4V2xnRnVuZHMAAgEFYXNJbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIDSW50BAFuBQckbWF0Y2gwBQFuCQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQ9udW1QaWVjZXNCeVNpemUBCGxhbmRTaXplBAckbWF0Y2gwBQhsYW5kU2l6ZQMJAAACAgFTBQckbWF0Y2gwBQVTU0laRQMJAAACAgFNBQckbWF0Y2gwBQVNU0laRQMJAAACAgFMBQckbWF0Y2gwBQVMU0laRQMJAAACAgJYTAUHJG1hdGNoMAUGWExTSVpFAwkAAAICA1hYTAUHJG1hdGNoMAUHWFhMU0laRQkAAgECEVVua25vd24gbGFuZCBzaXplAQ5nZXRWb3RpbmdQb3dlcgESdXNlckFkZHJTdHJPckVtcHR5BAVwcm9wcwkAtQkCCQELdmFsdWVPckVsc2UCCQCdCAIFD3N0YWtpbmdDb250cmFjdAkBEWtleVJlc1Byb3BvcnRpb25zAAILMF8wXzBfMF8wXzACAV8KAQVhZGRlcgIDYWNjBGl0ZW0JAGQCBQNhY2MJAQ1wYXJzZUludFZhbHVlAQUEaXRlbQQKdG90YWxQb3dlcgoAAiRsBQVwcm9wcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEFYWRkZXICBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDYJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYECnVzZXJzUG93ZXIDCQAAAgUSdXNlckFkZHJTdHJPckVtcHR5AgAAAAQIbGFuZHNTdHIJAJ0IAgUPc3Rha2luZ0NvbnRyYWN0CQEVa2V5U3Rha2VkTGFuZHNCeU93bmVyAQUSdXNlckFkZHJTdHJPckVt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enpsZVBvb2xDb250cmFjdAULdXNkdEFzc2V0SWQECHRvdGFsVXNkCQBkAgkAZAIJAGQCBQplY29ub215VXNkBQdyZXN0VXNkBQZ3bGdVc2QFCXB1enpsZVVzZAkAzAgCBQxpc3N1ZWRBbW91bnQJAMwIAgkAawMFCHRvdGFsVXNkBQVNVUxUOAUMaXNzdWVkQW1vdW50CQDMCAIFCHRvdGFsVXNkCQDMCAIFCmVjb25vbXlVc2QJAMwIAgUHcmVzdFVzZAkAzAgCBQZ3bGdVc2QJAMwIAgUJcHV6emxlVXNkBQNuaWwABk1VTFQxNACAgOmDsd4WAA5NQVJLRVRJTkdTSEFSRQCgjQYACVRFQU1TSEFSRQDAmgwADUFDVElWSVRZU0hBUkUAoI0GAAtQTEFZRVJTSEFSRQCAtRgACllFQVJNSUxMSVMAgIbrx3UACldFRUtNSUxMSVMAgIiyoAIACU1BWFBFUklPRACcAQACQTYAgMLXLwACQjgAgOHrFwAPd2xnSXNzdWVUaW1lS2V5Ag13bGdfaXNzdWVUaW1lABBtYXJrZXRpbmdBZGRyS2V5Ag1tYXJrZXRpbmdBZGRyAAt0ZWFtQWRkcktleQIIdGVhbUFkZHIAFGxhc3RNYXJrZXRpbmdUaW1lS2V5AhlsYXN0Q2xhaW1lZFRpbWVfbWFya2V0aW5nAA9sYXN0VGVhbVRpbWVLZXkCFGxhc3RDbGFpbWVkVGltZV90ZWFtABVsYXN0QWN0aXZpdGllc1RpbWVLZXkCGmxhc3RDbGFpbWVkVGltZV9hY3Rpdml0aWVzARhrZXlMYXN0Q2xhaW1lZFRpbWVCeVVzZXIBBGFkZHIJAKwCAgIUbGFzdENsYWltZWRUaW1lVXNlcl8FBGFkZHIBFGtleUxhc3RBcmJUaW1lQnlVc2VyAQRhZGRyCQCsAgICEGxhc3RBcmJUaW1lVXNlcl8FBGFkZHIAFHN0YWtlcnNBbW91bnRMZWZ0S2V5AhFzdGFrZXJzQW1vdW50TGVmdAAZc3Rha2Vyc0Ftb3VudFBhaWRUb3RhbEtleQIWc3Rha2Vyc0Ftb3VudFBhaWRUb3RhbAEYa2V5U3Rha2Vyc0Ftb3VudFBhaWRVc2VyAQRhZGRyCQCsAgICFnN0YWtlcnNBbW91bnRQYWlkVXNlcl8FBGFkZHIBBnByb2xvZwADCQELdmFsdWVPckVsc2UCCQCbCAIFD3N0YWtpbmdDb250cmFjdAkBCmtleUJsb2NrZWQABwkAAgECH0NvbnRyYWN0cyBhcmUgdW5kZXIgbWFpbnRlbmFuY2UJAQVhc0ludAEJAPwHBAUPc3Rha2luZ0NvbnRyYWN0AgpzYXZlTGFzdFR4BQNuaWwFA25pbAEMZ2V0U3dhcExpbWl0AQRhZGRyBAhsYXN0VGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBCQEUa2V5TGFzdEFyYlRpbWVCeVVzZXIBBQRhZGRyAAAEA25vdwgFCWxhc3RCbG9jawl0aW1lc3RhbXADCQBmAgUOYXJiaXRyYWdlRGVsYXkJAGUCBQNub3cFCGxhc3RUaW1lCQACAQIpQXJiaXRyYWdlcyBhcmUgcG9zc2libGUgb25jZSBhIDEwIG1pbnV0ZXMEBnBpZWNlcwkAkQMCCQEOZ2V0Vm90aW5nUG93ZXIBBQRhZGRyBQpJZHhFZmZVc2VyBARwb3c4CQBsBgUGcGllY2VzAAAFAkI4AAgACAUHQ0VJTElORwkAawMFAkE2BQRwb3c4BQVNVUxUOAYBaQENY29uc3RydWN0b3JWMQMIcmVzdEFkZHINbWFya2V0aW5nQWRkcgh0ZWFtQWRkcgMJAQIhPQIIBQFpBmNhbGxlcgUEdGhpcwkAAgECEVBlcm1pc3Npb24gZGVuaWVkAwkBCWlzRGVmaW5lZAEJAKEIAQUNd2xnQXNzZXRJZEtleQkAAgECE0FscmVhZHkgaW5pdGlhbGl6ZWQEDGlzc3VlZEFtb3VudAUGTVVMVDE0BAVpc3N1ZQkAwwgHAgZXTEdPTEQCIFdhdmVzTGFuZHMgR29sZCBpbnZlc3RtZW50IHRva2VuBQxpc3N1ZWRBbW91bnQACAYFBHVuaXQAAAQHYXNzZXRJZAkAuAgBBQVpc3N1ZQkAzAgCBQVpc3N1ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUPd2xnSXNzdWVUaW1lS2V5CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSd2xnSXNzdWVkQW1vdW50S2V5BQxpc3N1ZWRBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFGXN0YWtlcnNBbW91bnRQYWlkVG90YWxLZXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUUc3Rha2Vyc0Ftb3VudExlZnRLZXkJAGsDBQZNVUxUMTQFC1BMQVlFUlNIQVJFBQVNVUxUNgkAzAgCCQELQmluYXJ5RW50cnkCBQ13bGdBc3NldElkS2V5BQdhc3NldElkCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ5rZXlSZXN0QWRkcmVzcwAFCHJlc3RBZGRyCQDMCAIJAQtTdHJpbmdFbnRyeQIFEG1hcmtldGluZ0FkZHJLZXkFDW1hcmtldGluZ0FkZHIJAMwIAgkBC1N0cmluZ0VudHJ5AgULdGVhbUFkZHJLZXkFCHRlYW1BZGRyBQNuaWwBaQEGYnV5V2xnAAQMcHJvbG9nUmVzdWx0CQEGcHJvbG9nAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAd1c2R0QW10CAUDcG10BmFtb3VudAQKcG10QXNzZXRJZAkBE3ZhbHVlT3JFcnJvck1lc3NhZ2UCCAUDcG10B2Fzc2V0SWQCHldBVkVTIGNhbid0IGJlIHVzZWQgYXMgcGF5bWVudAMJAQIhPQIFCnBtdEFzc2V0SWQFC3VzZHRBc3NldElkCQACAQITVVNEVCBwYXltZW50cyBvbmx5IQQGY2FsbGVyCAUBaQZjYWxsZXIEBGFkZHIJAKUIAQUGY2FsbGVyBAdtYXhVc2R0CQEMZ2V0U3dhcExpbWl0AQUEYWRkcgMJAGYCBQd1c2R0QW10BQdtYXhVc2R0CQACAQkArAICCQCsAgICEllvdSBjYW4gc3BlbmQgbWF4IAkApAMBBQdtYXhVc2R0AgUgVVNEVAQIY3VyU3RhdHMJAQtnZXRXbGdTdGF0cwAECWN1ckFtb3VudAkAkQMCBQhjdXJTdGF0cwUMaWR4V2xnQW1vdW50BAhidXlQcmljZQkAawMJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ1ByaWNlAAYABQQJd2xnQW1vdW50CQBrAwUHdXNkdEFtdAUFTVVMVDgFCGJ1eVByaWNlBAhyZWlzc3VlZAkAawMFB3VzZHRBbXQFCWN1ckFtb3VudAkAZQIJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ0Z1bmRzBQd1c2R0QW10CQCUCgIJAMwIAgkBB1JlaXNzdWUDBQp3bGdBc3NldElkBQhyZWlzc3VlZAYJAMwIAgkBDEludGVnZXJFbnRyeQIFEndsZ0lzc3VlZEFtb3VudEtleQkAZAIFCWN1ckFtb3VudAUIcmVpc3N1ZWQJAMwIAgkBDEludGVnZXJFbnRyeQIJARRrZXlMYXN0QXJiVGltZUJ5VXNlcgEFBGFkZHIIBQlsYXN0QmxvY2sJdGltZXN0YW1wCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUJd2xnQW1vdW50BQp3bGdBc3NldElkBQNuaWwFDHByb2xvZ1Jlc3VsdAFpAQdzZWxsV2xnAAQMcHJvbG9nUmVzdWx0CQEGcHJvbG9nAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECImV4YWN0bHkgMSBwYXltZW50IG11c3QgYmUgYXR0YWNoZWQEA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAZ3bGdBbXQIBQNwbXQGYW1vdW50BApwbXRBc3NldElkCQETdmFsdWVPckVycm9yTWVzc2FnZQIIBQNwbXQHYXNzZXRJZAIeV0FWRVMgY2FuJ3QgYmUgdXNlZCBhcyBwYXltZW50AwkBAiE9AgUKcG10QXNzZXRJZAUKd2xnQXNzZXRJZAkAAgECFVdMR09MRCBwYXltZW50cyBvbmx5IQQGY2FsbGVyCAUBaQZjYWxsZXIEBGFkZHIJAKUIAQUGY2FsbGVyBAdtYXhVc2R0CQEMZ2V0U3dhcExpbWl0AQUEYWRkcgQIY3VyU3RhdHMJAQtnZXRXbGdTdGF0cwAECWN1ckFtb3VudAkAZQIJAJEDAgUIY3VyU3RhdHMFDGlkeFdsZ0Ftb3VudAUGd2xnQW10BAlzZWxsUHJpY2UJAGsDCQCRAwIFCGN1clN0YXRzBQtpZHhXbGdQcmljZQAEAAUECnVzZHRBbW91bnQJAGsDBQZ3bGdBbXQFCXNlbGxQcmljZQUFTVVMVDgDCQBmAgUKdXNkdEFtb3VudAUHbWF4VXNkdAkAAgEJAKwCAgkArAICAhBZb3UgY2FuIGdldCBtYXggCQCkAwEFB21heFVzZHQCBSBVU0RUBAZidXJuZWQJAGsDBQp1c2R0QW1vdW50BQljdXJBbW91bnQJAJEDAgUIY3VyU3RhdHMFC2lkeFdsZ0Z1bmRzCQCUCgIJAMwIAgkBBEJ1cm4CBQp3bGdBc3NldElkBQZidXJuZWQJAMwIAgkBDEludGVnZXJFbnRyeQIFEndsZ0lzc3VlZEFtb3VudEtleQkAZQIFCWN1ckFtb3VudAUGYnVybmVkCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEUa2V5TGFzdEFyYlRpbWVCeVVzZXIBBQRhZGRyCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQZjYWxsZXIFCnVzZHRBbW91bnQFC3VzZHRBc3NldElkBQNuaWwFDHByb2xvZ1Jlc3VsdAFpAQVjbGFpbQAEDHByb2xvZ1Jlc3VsdAkBBnByb2xvZwAEBmNhbGxlcggFAWkGY2FsbGVyBApjYWxsZXJBZGRyCQClCAEFBmNhbGxlcgQDbm93CAUJbGFzdEJsb2NrCXRpbWVzdGFtcAQJaXNzdWVUaW1lCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ8IAQUPd2xnSXNzdWVUaW1lS2V5Ag9Ob3QgaW5pdGlhbGl6ZWQEEWxhc3RNYXJrZXRpbmdUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEFFGxhc3RNYXJrZXRpbmdUaW1lS2V5BQlpc3N1ZVRpbWUEDW1hcmtldGluZ0FkZHIJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAQV2YWx1ZQEJAKIIAQUQbWFya2V0aW5nQWRkcktleQQPbWFya2V0aW5nQW1vdW50CQBrAwkAawMFBk1VTFQxNAUOTUFSS0VUSU5HU0hBUkUFBU1VTFQ2CQBlAgUDbm93BRFsYXN0TWFya2V0aW5nVGltZQUKWUVBUk1JTExJUwQMbGFzdFRlYW1UaW1lCQELdmFsdWVPckVsc2UCCQCfCAEFD2xhc3RUZWFtVGltZUtleQUJaXNzdWVUaW1lBAh0ZWFtQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQkBBXZhbHVlAQkAoggBBQt0ZWFtQWRkcktleQQKdGVhbUFtb3VudAkAawMJAGsDBQZNVUxUMTQFCVRFQU1TSEFSRQUFTVVMVDYJAGUCBQNub3cFDGxhc3RUZWFtVGltZQkAaAIAAwUKWUVBUk1JTExJUwQSbGFzdEFjdGl2aXRpZXNUaW1lCQELdmFsdWVPckVsc2UCCQCfCAEFFWxhc3RBY3Rpdml0aWVzVGltZUtleQUJaXNzdWVUaW1lBAlhY3RBbW91bnQJAGsDCQBrAwUGTVVMVDE0BQ1BQ1RJVklUWVNIQVJFBQVNVUxUNgkAZQIFA25vdwUSbGFzdEFjdGl2aXRpZXNUaW1lCQBoAgADBQpZRUFSTUlMTElTBAljdXJQZXJpb2QJAGkCCQBlAgUDbm93BQlpc3N1ZVRpbWUFCldFRUtNSUxMSVMDCQBmAgUJY3VyUGVyaW9kCQBpAgUJTUFYUEVSSU9EAAIJAAIBAj1QbGVhc2UgbW9kaWZ5IGNvbnRyYWN0IGZvciBuZXh0IDEuNSB5ZWFycywgYWNjb3JkaW5nIHRvIHN0YXRzBANlZmYJAQ5nZXRWb3RpbmdQb3dlcgEFCmNhbGxlckFkZHIEC3RvdGFsUGllY2VzCQCRAwIFA2VmZgULSWR4RWZmVG90YWwED2Ftb3VudExlZnRUb3RhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBBRRzdGFrZXJzQW1vdW50TGVmdEtleQAABBVjdXJQZXJpb2REaXN0cmlidXRpb24JAGsDBQ9hbW91bnRMZWZ0VG90YWwJAGgCAAIFC3RvdGFsUGllY2VzCQBkAgULdG90YWxQaWVjZXMJAGgCCQCWAwEJAMwIAgCgjQYJAMwIAgULdG90YWxQaWVjZXMFA25pbAkAZQIFCU1BWFBFUklPRAUJY3VyUGVyaW9kBAt1c2VyVGltZUtleQkBGGtleUxhc3RDbGFpbWVkVGltZUJ5VXNlcgEFCmNhbGxlckFkZHIEDGxhc3RVc2VyVGltZQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQt1c2VyVGltZUtleQUJaXNzdWVUaW1lBAp1c2VyQW1vdW50CQBrAwkAawMFFWN1clBlcmlvZERpc3RyaWJ1dGlvbgkAkQMCBQNlZmYFCklkeEVmZlVzZXIFC3RvdGFsUGllY2VzCQBlAgUDbm93BQxsYXN0VXNlclRpbWUJAGgCAAMFCllFQVJNSUxMSVMEB3VzZXJLZXkJARhrZXlTdGFrZXJzQW1vdW50UGFpZFVzZXIBBQpjYWxsZXJBZGRyCQCUCgIJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUNbWFya2V0aW5nQWRkcgUPbWFya2V0aW5nQW1vdW50BQp3bGdBc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFCHRlYW1BZGRyBQp0ZWFtQW1vdW50BQp3bGdBc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDHJlc3RDb250cmFjdAUJYWN0QW1vdW50BQp3bGdBc3NldElkCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFBmNhbGxlcgUKdXNlckFtb3VudAUKd2xnQXNzZXRJZAkAzAgCCQEMSW50ZWdlckVudHJ5AgUHdXNlcktleQkAZAIJAQt2YWx1ZU9yRWxzZQIJAJ8IAQUHdXNlcktleQAABQp1c2VyQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRlzdGFrZXJzQW1vdW50UGFpZFRvdGFsS2V5CQBkAgkBC3ZhbHVlT3JFbHNlAgkAnwgBBRlzdGFrZXJzQW1vdW50UGFpZFRvdGFsS2V5AAAFCnVzZXJBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFFHN0YWtlcnNBbW91bnRMZWZ0S2V5CQBlAgUPYW1vdW50TGVmdFRvdGFsBQp1c2VyQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRRsYXN0TWFya2V0aW5nVGltZUtleQUDbm93CQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ9sYXN0VGVhbVRpbWVLZXkFA25vdwkAzAgCCQEMSW50ZWdlckVudHJ5AgUVbGFzdEFjdGl2aXRpZXNUaW1lS2V5BQNub3cJAMwIAgkBDEludGVnZXJFbnRyeQIFC3VzZXJUaW1lS2V5BQNub3cFA25pbAUMcHJvbG9nUmVzdWx0AWkBC29uU3Rha2VMYW5kAQRhZGRyAwkBAiE9AggFAWkGY2FsbGVyBQ9zdGFraW5nQ29udHJhY3QJAAIBAhFQZXJtaXNzaW9uIGRlbmllZAkAlAoCCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQUEYWRkcggFCWxhc3RCbG9jawl0aW1lc3RhbXAFA25pbAgFCWxhc3RCbG9jawl0aW1lc3RhbXABaQENb25VbnN0YWtlTGFuZAEEYWRkcgMJAQIhPQIIBQFpBmNhbGxlcgUPc3Rha2luZ0NvbnRyYWN0CQACAQIRUGVybWlzc2lvbiBkZW5pZWQJAJQKAgkAzAgCCQELRGVsZXRlRW50cnkBCQEYa2V5TGFzdENsYWltZWRUaW1lQnlVc2VyAQUEYWRkcgUDbmlsAAAArlmLqw==", "height": 2644416, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3RGwQj4cUoEMVvJbuDmiiqREfYbdCAdSFUape7GHDtVY Next: AHMNGC3CAwwpLGD94tHVmMCM7HjxvbZtfp87jUJ3gu2m Diff:
OldNewDifferences
9898
9999 let N = "wlg_issuedAmount"
100100
101-let O = 0
101+let O = "wlg_assetId"
102102
103-let P = 1
103+let P = valueOrErrorMessage(getBinary(O), "Not initialized yet")
104104
105-let Q = 2
105+let Q = 0
106106
107-func R (S) = {
108- let f = S
107+let R = 1
108+
109+let S = 2
110+
111+func T (U) = {
112+ let f = U
109113 if ($isInstanceOf(f, "Int"))
110114 then {
111- let T = f
112- T
115+ let V = f
116+ V
113117 }
114118 else throw("fail to cast into Int")
115119 }
116120
117121
118-func U (V) = {
119- let f = V
122+func W (X) = {
123+ let f = X
120124 if (("S" == f))
121125 then l
122126 else if (("M" == f))
131135 }
132136
133137
134-func W (X) = {
135- let Y = split(valueOrElse(getString(F, K()), "0_0_0_0_0_0"), "_")
136- func Z (aa,ab) = (aa + parseIntValue(ab))
138+func Y (Z) = {
139+ let aa = split(valueOrElse(getString(F, K()), "0_0_0_0_0_0"), "_")
140+ func ab (ac,ad) = (ac + parseIntValue(ad))
137141
138- let ac = {
139- let ad = Y
140- let ae = size(ad)
141- let af = 0
142- func ag (ah,ai) = if ((ai >= ae))
143- then ah
144- else Z(ah, ad[ai])
142+ let ae = {
143+ let af = aa
144+ let ag = size(af)
145+ let ah = 0
146+ func ai (aj,ak) = if ((ak >= ag))
147+ then aj
148+ else ab(aj, af[ak])
145149
146- func aj (ah,ai) = if ((ai >= ae))
147- then ah
150+ func al (aj,ak) = if ((ak >= ag))
151+ then aj
148152 else throw("List size exceeds 6")
149153
150- aj(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6)
154+ al(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6)
151155 }
152- let ak = if ((X == ""))
156+ let am = if ((Z == ""))
153157 then 0
154158 else {
155- let al = getString(F, L(X))
156- let am = if (isDefined(al))
157- then split_51C(value(al), "_")
159+ let an = getString(F, L(Z))
160+ let ao = if (isDefined(an))
161+ then split_51C(value(an), "_")
158162 else nil
159- func an (aa,ao) = {
160- let ap = value(assetInfo(fromBase58String(ao)))
161- let V = split(ap.description, "_")[J]
162- (aa + U(V))
163+ func ap (ac,aq) = {
164+ let ar = value(assetInfo(fromBase58String(aq)))
165+ let X = split(ar.description, "_")[J]
166+ (ac + W(X))
163167 }
164168
165- let ad = am
166- let ae = size(ad)
167- let af = 0
168- func aq (ah,ai) = if ((ai >= ae))
169- then ah
170- else an(ah, ad[ai])
169+ let af = ao
170+ let ag = size(af)
171+ let ah = 0
172+ func as (aj,ak) = if ((ak >= ag))
173+ then aj
174+ else ap(aj, af[ak])
171175
172- func ar (ah,ai) = if ((ai >= ae))
173- then ah
176+ func at (aj,ak) = if ((ak >= ag))
177+ then aj
174178 else throw("List size exceeds 100")
175179
176- ar(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(af, 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)
180+ at(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ah, 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)
177181 }
178-[ac, ak]
182+[ae, am]
179183 }
180184
181185
182-func as () = {
183- let at = valueOrErrorMessage(getInteger(H, N), "WLGOLD is not issued yet")
184- let au = assetBalance(G, e)
185- let av = assetBalance(E, e)
186- let aw = assetBalance(H, e)
187- let ax = assetBalance(I, e)
188- let ay = (((au + av) + aw) + ax)
189-[at, fraction(ay, k, at), ay, au, av, aw, ax]
186+func au () = {
187+ let av = valueOrErrorMessage(getInteger(H, N), "WLGOLD is not issued yet")
188+ let aw = assetBalance(G, e)
189+ let ax = assetBalance(E, e)
190+ let ay = assetBalance(H, e)
191+ let az = assetBalance(I, e)
192+ let aA = (((aw + ax) + ay) + az)
193+[av, fraction(aA, k, av), aA, aw, ax, ay, az]
190194 }
191195
192196
193-let az = 100000000000000
194-
195-let aA = 100000
196-
197-let aB = 200000
197+let aB = 100000000000000
198198
199199 let aC = 100000
200200
201-let aD = 400000
201+let aD = 200000
202202
203-let aE = 31557600000
203+let aE = 100000
204204
205-let aF = 604800000
205+let aF = 400000
206206
207-let aG = 156
207+let aG = 31557600000
208208
209-let aH = 100000000
209+let aH = 604800000
210210
211-let aI = 50000000
211+let aI = 156
212212
213-let aJ = "wlg_assetId"
213+let aJ = 100000000
214214
215-let aK = "wlg_issueTime"
215+let aK = 50000000
216216
217-let aL = "marketingAddr"
217+let aL = "wlg_issueTime"
218218
219-let aM = "teamAddr"
219+let aM = "marketingAddr"
220220
221-let aN = "lastClaimedTime_marketing"
221+let aN = "teamAddr"
222222
223-let aO = "lastClaimedTime_team"
223+let aO = "lastClaimedTime_marketing"
224224
225-let aP = "lastClaimedTime_activities"
225+let aP = "lastClaimedTime_team"
226226
227-func aQ (aR) = ("lastClaimedTimeUser_" + aR)
227+let aQ = "lastClaimedTime_activities"
228+
229+func aR (aS) = ("lastClaimedTimeUser_" + aS)
228230
229231
230-func aS (aR) = ("lastArbTimeUser_" + aR)
232+func aT (aS) = ("lastArbTimeUser_" + aS)
231233
232234
233-let aT = "stakersAmountLeft"
235+let aU = "stakersAmountLeft"
234236
235-let aU = "stakersAmountPaidTotal"
237+let aV = "stakersAmountPaidTotal"
236238
237-func aV (aR) = ("stakersAmountPaidUser_" + aR)
239+func aW (aS) = ("stakersAmountPaidUser_" + aS)
238240
239-
240-let aW = valueOrErrorMessage(getBinary(aJ), "Not initialized yet")
241241
242242 func aX () = if (valueOrElse(getBoolean(F, a()), false))
243243 then throw("Contracts are under maintenance")
244- else R(invoke(F, "saveLastTx", nil, nil))
244+ else T(invoke(F, "saveLastTx", nil, nil))
245245
246246
247-func aY (aR) = {
248- let aZ = valueOrElse(getInteger(aS(aR)), 0)
247+func aY (aS) = {
248+ let aZ = valueOrElse(getInteger(aT(aS)), 0)
249249 let ba = lastBlock.timestamp
250250 if ((h > (ba - aZ)))
251251 then throw("Arbitrages are possible once a 10 minutes")
252252 else {
253- let bb = W(aR)[c]
254- let bc = pow(bb, 0, aI, 8, 8, CEILING)
255- fraction(aH, bc, k)
253+ let bb = Y(aS)[c]
254+ let bc = pow(bb, 0, aK, 8, 8, CEILING)
255+ fraction(aJ, bc, k)
256256 }
257257 }
258258
260260 @Callable(bd)
261261 func constructorV1 (be,bf,bg) = if ((bd.caller != this))
262262 then throw("Permission denied")
263- else if (isDefined(getBinary(aJ)))
263+ else if (isDefined(getBinary(O)))
264264 then throw("Already initialized")
265265 else {
266- let at = az
267- let bh = Issue("WLGOLD", "WavesLands Gold investment token", at, 8, true, unit, 0)
266+ let av = aB
267+ let bh = Issue("WLGOLD", "WavesLands Gold investment token", av, 8, true, unit, 0)
268268 let bi = calculateAssetId(bh)
269-[bh, IntegerEntry(aK, lastBlock.timestamp), IntegerEntry(N, at), IntegerEntry(aU, 0), IntegerEntry(aT, fraction(az, aD, j)), BinaryEntry(aJ, bi), StringEntry(y(), be), StringEntry(aL, bf), StringEntry(aM, bg)]
269+[bh, IntegerEntry(aL, lastBlock.timestamp), IntegerEntry(N, av), IntegerEntry(aV, 0), IntegerEntry(aU, fraction(aB, aF, j)), BinaryEntry(O, bi), StringEntry(y(), be), StringEntry(aM, bf), StringEntry(aN, bg)]
270270 }
271271
272272
284284 then throw("USDT payments only!")
285285 else {
286286 let bn = bd.caller
287- let aR = toString(bn)
288- let bo = aY(aR)
287+ let aS = toString(bn)
288+ let bo = aY(aS)
289289 if ((bl > bo))
290290 then throw((("You can spend max " + toString(bo)) + " USDT"))
291291 else {
292- let bp = as()
293- let bq = bp[O]
294- let br = fraction(bp[P], 6, 5)
292+ let bp = au()
293+ let bq = bp[Q]
294+ let br = fraction(bp[R], 6, 5)
295295 let bs = fraction(bl, k, br)
296- let bt = fraction(bl, bq, (bp[Q] - bl))
297- $Tuple2([Reissue(aW, bt, true), IntegerEntry(N, (bq + bt)), IntegerEntry(aS(aR), lastBlock.timestamp), ScriptTransfer(bn, bs, aW)], bj)
296+ let bt = fraction(bl, bq, (bp[S] - bl))
297+ $Tuple2([Reissue(P, bt, true), IntegerEntry(N, (bq + bt)), IntegerEntry(aT(aS), lastBlock.timestamp), ScriptTransfer(bn, bs, P)], bj)
298298 }
299299 }
300300 }
311311 let bk = bd.payments[0]
312312 let bu = bk.amount
313313 let bm = valueOrErrorMessage(bk.assetId, "WAVES can't be used as payment")
314- if ((bm != aW))
314+ if ((bm != P))
315315 then throw("WLGOLD payments only!")
316316 else {
317317 let bn = bd.caller
318- let aR = toString(bn)
319- let bo = aY(aR)
320- let bp = as()
321- let bq = (bp[O] - bu)
322- let bv = fraction(bp[P], 4, 5)
318+ let aS = toString(bn)
319+ let bo = aY(aS)
320+ let bp = au()
321+ let bq = (bp[Q] - bu)
322+ let bv = fraction(bp[R], 4, 5)
323323 let bw = fraction(bu, bv, k)
324324 if ((bw > bo))
325325 then throw((("You can get max " + toString(bo)) + " USDT"))
326326 else {
327- let bx = fraction(bw, bq, bp[Q])
328- $Tuple2([Burn(aW, bx), IntegerEntry(N, (bq - bx)), IntegerEntry(aS(aR), lastBlock.timestamp), ScriptTransfer(bn, bw, e)], bj)
327+ let bx = fraction(bw, bq, bp[S])
328+ $Tuple2([Burn(P, bx), IntegerEntry(N, (bq - bx)), IntegerEntry(aT(aS), lastBlock.timestamp), ScriptTransfer(bn, bw, e)], bj)
329329 }
330330 }
331331 }
339339 let bn = bd.caller
340340 let by = toString(bn)
341341 let ba = lastBlock.timestamp
342- let bz = valueOrErrorMessage(getInteger(aK), "Not initialized")
343- let bA = valueOrElse(getInteger(aN), bz)
344- let bf = addressFromStringValue(value(getString(aL)))
345- let bB = fraction(fraction(az, aA, j), (ba - bA), aE)
346- let bC = valueOrElse(getInteger(aO), bz)
347- let bg = addressFromStringValue(value(getString(aM)))
348- let bD = fraction(fraction(az, aB, j), (ba - bC), (3 * aE))
349- let bE = valueOrElse(getInteger(aP), bz)
350- let bF = fraction(fraction(az, aC, j), (ba - bE), (3 * aE))
351- let bG = ((ba - bz) / aF)
352- if ((bG > (aG / 2)))
342+ let bz = valueOrErrorMessage(getInteger(aL), "Not initialized")
343+ let bA = valueOrElse(getInteger(aO), bz)
344+ let bf = addressFromStringValue(value(getString(aM)))
345+ let bB = fraction(fraction(aB, aC, j), (ba - bA), aG)
346+ let bC = valueOrElse(getInteger(aP), bz)
347+ let bg = addressFromStringValue(value(getString(aN)))
348+ let bD = fraction(fraction(aB, aD, j), (ba - bC), (3 * aG))
349+ let bE = valueOrElse(getInteger(aQ), bz)
350+ let bF = fraction(fraction(aB, aE, j), (ba - bE), (3 * aG))
351+ let bG = ((ba - bz) / aH)
352+ if ((bG > (aI / 2)))
353353 then throw("Please modify contract for next 1.5 years, according to stats")
354354 else {
355- let bH = W(by)
355+ let bH = Y(by)
356356 let bI = bH[b]
357- let bJ = valueOrElse(getInteger(aT), 0)
358- let bK = fraction(bJ, (2 * bI), (bI + (max([100000, bI]) * (aG - bG))))
359- let bL = aQ(by)
357+ let bJ = valueOrElse(getInteger(aU), 0)
358+ let bK = fraction(bJ, (2 * bI), (bI + (max([100000, bI]) * (aI - bG))))
359+ let bL = aR(by)
360360 let bM = valueOrElse(getInteger(bL), bz)
361- let bN = fraction(fraction(bK, bH[c], bI), (ba - bM), (3 * aE))
362- let bO = aV(by)
363- $Tuple2([ScriptTransfer(bf, bB, aW), ScriptTransfer(bg, bD, aW), ScriptTransfer(E, bF, aW), ScriptTransfer(bn, bN, aW), IntegerEntry(bO, (valueOrElse(getInteger(bO), 0) + bN)), IntegerEntry(aU, (valueOrElse(getInteger(aU), 0) + bN)), IntegerEntry(aT, (bJ - bN)), IntegerEntry(aN, ba), IntegerEntry(aO, ba), IntegerEntry(aP, ba), IntegerEntry(bL, ba)], bj)
361+ let bN = fraction(fraction(bK, bH[c], bI), (ba - bM), (3 * aG))
362+ let bO = aW(by)
363+ $Tuple2([ScriptTransfer(bf, bB, P), ScriptTransfer(bg, bD, P), ScriptTransfer(E, bF, P), ScriptTransfer(bn, bN, P), IntegerEntry(bO, (valueOrElse(getInteger(bO), 0) + bN)), IntegerEntry(aV, (valueOrElse(getInteger(aV), 0) + bN)), IntegerEntry(aU, (bJ - bN)), IntegerEntry(aO, ba), IntegerEntry(aP, ba), IntegerEntry(aQ, ba), IntegerEntry(bL, ba)], bj)
364364 }
365365 }
366366
367367
368368
369369 @Callable(bd)
370-func onStakeLand (aR) = if ((bd.caller != F))
370+func onStakeLand (aS) = if ((bd.caller != F))
371371 then throw("Permission denied")
372- else $Tuple2([IntegerEntry(aQ(aR), lastBlock.timestamp)], lastBlock.timestamp)
372+ else $Tuple2([IntegerEntry(aR(aS), lastBlock.timestamp)], lastBlock.timestamp)
373373
374374
375375
376376 @Callable(bd)
377-func onUnstakeLand (aR) = if ((bd.caller != F))
377+func onUnstakeLand (aS) = if ((bd.caller != F))
378378 then throw("Permission denied")
379- else $Tuple2([DeleteEntry(aQ(aR))], 0)
379+ else $Tuple2([DeleteEntry(aR(aS))], 0)
380380
381381
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a () = "contractsBlocked"
55
66
77 let b = 0
88
99 let c = 1
1010
1111 let d = take(drop(this.bytes, 1), 1)
1212
1313 let e = {
1414 let f = d
1515 if ((base58'2W' == f))
1616 then base58'9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi'
1717 else if ((base58'2T' == f))
1818 then base58'6mWwf9mZBjVgkC54idpyaZLQfAosD914wT8fGf2iiY63'
1919 else throw("Unknown chain")
2020 }
2121
2222 let g = {
2323 let f = d
2424 if ((base58'2W' == f))
2525 then "3PQCuvFbvh4LkPUnrnU1z3jnbA1p9m3WNhv"
2626 else if ((base58'2T' == f))
2727 then "3MumkGGztCKAXpWDqxkddofqXSUbqQkvSJy"
2828 else throw("Unknown chain")
2929 }
3030
3131 let h = {
3232 let f = d
3333 if ((base58'2W' == f))
3434 then 600000
3535 else if ((base58'2T' == f))
3636 then 60000
3737 else throw("Unknown chain")
3838 }
3939
4040 let i = "__"
4141
4242 let j = 1000000
4343
4444 let k = 100000000
4545
4646 let l = 25
4747
4848 let m = 100
4949
5050 let n = 225
5151
5252 let o = 400
5353
5454 let p = 625
5555
5656 func q (r,s) = valueOrErrorMessage(getString(r, s), makeString(["mandatory ", toString(r), ".", s, " is not defined"], ""))
5757
5858
5959 let t = 1
6060
6161 let u = 2
6262
6363 let v = 4
6464
6565 let w = 5
6666
6767 func x () = "%s__restConfig"
6868
6969
7070 func y () = "%s__restAddr"
7171
7272
7373 func z (A) = split_4C(q(A, x()), i)
7474
7575
7676 func B (C,D) = valueOrErrorMessage(addressFromString(C[D]), ("Rest cfg doesn't contain address at index " + toString(D)))
7777
7878
7979 let E = addressFromStringValue(valueOrElse(getString(this, y()), g))
8080
8181 let C = z(E)
8282
8383 let F = B(C, t)
8484
8585 let G = B(C, u)
8686
8787 let H = B(C, v)
8888
8989 let I = B(C, w)
9090
9191 let J = 1
9292
9393 func K () = "resTypesProportions"
9494
9595
9696 func L (M) = ("stakedLandsByOwner_" + M)
9797
9898
9999 let N = "wlg_issuedAmount"
100100
101-let O = 0
101+let O = "wlg_assetId"
102102
103-let P = 1
103+let P = valueOrErrorMessage(getBinary(O), "Not initialized yet")
104104
105-let Q = 2
105+let Q = 0
106106
107-func R (S) = {
108- let f = S
107+let R = 1
108+
109+let S = 2
110+
111+func T (U) = {
112+ let f = U
109113 if ($isInstanceOf(f, "Int"))
110114 then {
111- let T = f
112- T
115+ let V = f
116+ V
113117 }
114118 else throw("fail to cast into Int")
115119 }
116120
117121
118-func U (V) = {
119- let f = V
122+func W (X) = {
123+ let f = X
120124 if (("S" == f))
121125 then l
122126 else if (("M" == f))
123127 then m
124128 else if (("L" == f))
125129 then n
126130 else if (("XL" == f))
127131 then o
128132 else if (("XXL" == f))
129133 then p
130134 else throw("Unknown land size")
131135 }
132136
133137
134-func W (X) = {
135- let Y = split(valueOrElse(getString(F, K()), "0_0_0_0_0_0"), "_")
136- func Z (aa,ab) = (aa + parseIntValue(ab))
138+func Y (Z) = {
139+ let aa = split(valueOrElse(getString(F, K()), "0_0_0_0_0_0"), "_")
140+ func ab (ac,ad) = (ac + parseIntValue(ad))
137141
138- let ac = {
139- let ad = Y
140- let ae = size(ad)
141- let af = 0
142- func ag (ah,ai) = if ((ai >= ae))
143- then ah
144- else Z(ah, ad[ai])
142+ let ae = {
143+ let af = aa
144+ let ag = size(af)
145+ let ah = 0
146+ func ai (aj,ak) = if ((ak >= ag))
147+ then aj
148+ else ab(aj, af[ak])
145149
146- func aj (ah,ai) = if ((ai >= ae))
147- then ah
150+ func al (aj,ak) = if ((ak >= ag))
151+ then aj
148152 else throw("List size exceeds 6")
149153
150- aj(ag(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5), 6)
154+ al(ai(ai(ai(ai(ai(ai(ah, 0), 1), 2), 3), 4), 5), 6)
151155 }
152- let ak = if ((X == ""))
156+ let am = if ((Z == ""))
153157 then 0
154158 else {
155- let al = getString(F, L(X))
156- let am = if (isDefined(al))
157- then split_51C(value(al), "_")
159+ let an = getString(F, L(Z))
160+ let ao = if (isDefined(an))
161+ then split_51C(value(an), "_")
158162 else nil
159- func an (aa,ao) = {
160- let ap = value(assetInfo(fromBase58String(ao)))
161- let V = split(ap.description, "_")[J]
162- (aa + U(V))
163+ func ap (ac,aq) = {
164+ let ar = value(assetInfo(fromBase58String(aq)))
165+ let X = split(ar.description, "_")[J]
166+ (ac + W(X))
163167 }
164168
165- let ad = am
166- let ae = size(ad)
167- let af = 0
168- func aq (ah,ai) = if ((ai >= ae))
169- then ah
170- else an(ah, ad[ai])
169+ let af = ao
170+ let ag = size(af)
171+ let ah = 0
172+ func as (aj,ak) = if ((ak >= ag))
173+ then aj
174+ else ap(aj, af[ak])
171175
172- func ar (ah,ai) = if ((ai >= ae))
173- then ah
176+ func at (aj,ak) = if ((ak >= ag))
177+ then aj
174178 else throw("List size exceeds 100")
175179
176- ar(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(aq(af, 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)
180+ at(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(as(ah, 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)
177181 }
178-[ac, ak]
182+[ae, am]
179183 }
180184
181185
182-func as () = {
183- let at = valueOrErrorMessage(getInteger(H, N), "WLGOLD is not issued yet")
184- let au = assetBalance(G, e)
185- let av = assetBalance(E, e)
186- let aw = assetBalance(H, e)
187- let ax = assetBalance(I, e)
188- let ay = (((au + av) + aw) + ax)
189-[at, fraction(ay, k, at), ay, au, av, aw, ax]
186+func au () = {
187+ let av = valueOrErrorMessage(getInteger(H, N), "WLGOLD is not issued yet")
188+ let aw = assetBalance(G, e)
189+ let ax = assetBalance(E, e)
190+ let ay = assetBalance(H, e)
191+ let az = assetBalance(I, e)
192+ let aA = (((aw + ax) + ay) + az)
193+[av, fraction(aA, k, av), aA, aw, ax, ay, az]
190194 }
191195
192196
193-let az = 100000000000000
194-
195-let aA = 100000
196-
197-let aB = 200000
197+let aB = 100000000000000
198198
199199 let aC = 100000
200200
201-let aD = 400000
201+let aD = 200000
202202
203-let aE = 31557600000
203+let aE = 100000
204204
205-let aF = 604800000
205+let aF = 400000
206206
207-let aG = 156
207+let aG = 31557600000
208208
209-let aH = 100000000
209+let aH = 604800000
210210
211-let aI = 50000000
211+let aI = 156
212212
213-let aJ = "wlg_assetId"
213+let aJ = 100000000
214214
215-let aK = "wlg_issueTime"
215+let aK = 50000000
216216
217-let aL = "marketingAddr"
217+let aL = "wlg_issueTime"
218218
219-let aM = "teamAddr"
219+let aM = "marketingAddr"
220220
221-let aN = "lastClaimedTime_marketing"
221+let aN = "teamAddr"
222222
223-let aO = "lastClaimedTime_team"
223+let aO = "lastClaimedTime_marketing"
224224
225-let aP = "lastClaimedTime_activities"
225+let aP = "lastClaimedTime_team"
226226
227-func aQ (aR) = ("lastClaimedTimeUser_" + aR)
227+let aQ = "lastClaimedTime_activities"
228+
229+func aR (aS) = ("lastClaimedTimeUser_" + aS)
228230
229231
230-func aS (aR) = ("lastArbTimeUser_" + aR)
232+func aT (aS) = ("lastArbTimeUser_" + aS)
231233
232234
233-let aT = "stakersAmountLeft"
235+let aU = "stakersAmountLeft"
234236
235-let aU = "stakersAmountPaidTotal"
237+let aV = "stakersAmountPaidTotal"
236238
237-func aV (aR) = ("stakersAmountPaidUser_" + aR)
239+func aW (aS) = ("stakersAmountPaidUser_" + aS)
238240
239-
240-let aW = valueOrErrorMessage(getBinary(aJ), "Not initialized yet")
241241
242242 func aX () = if (valueOrElse(getBoolean(F, a()), false))
243243 then throw("Contracts are under maintenance")
244- else R(invoke(F, "saveLastTx", nil, nil))
244+ else T(invoke(F, "saveLastTx", nil, nil))
245245
246246
247-func aY (aR) = {
248- let aZ = valueOrElse(getInteger(aS(aR)), 0)
247+func aY (aS) = {
248+ let aZ = valueOrElse(getInteger(aT(aS)), 0)
249249 let ba = lastBlock.timestamp
250250 if ((h > (ba - aZ)))
251251 then throw("Arbitrages are possible once a 10 minutes")
252252 else {
253- let bb = W(aR)[c]
254- let bc = pow(bb, 0, aI, 8, 8, CEILING)
255- fraction(aH, bc, k)
253+ let bb = Y(aS)[c]
254+ let bc = pow(bb, 0, aK, 8, 8, CEILING)
255+ fraction(aJ, bc, k)
256256 }
257257 }
258258
259259
260260 @Callable(bd)
261261 func constructorV1 (be,bf,bg) = if ((bd.caller != this))
262262 then throw("Permission denied")
263- else if (isDefined(getBinary(aJ)))
263+ else if (isDefined(getBinary(O)))
264264 then throw("Already initialized")
265265 else {
266- let at = az
267- let bh = Issue("WLGOLD", "WavesLands Gold investment token", at, 8, true, unit, 0)
266+ let av = aB
267+ let bh = Issue("WLGOLD", "WavesLands Gold investment token", av, 8, true, unit, 0)
268268 let bi = calculateAssetId(bh)
269-[bh, IntegerEntry(aK, lastBlock.timestamp), IntegerEntry(N, at), IntegerEntry(aU, 0), IntegerEntry(aT, fraction(az, aD, j)), BinaryEntry(aJ, bi), StringEntry(y(), be), StringEntry(aL, bf), StringEntry(aM, bg)]
269+[bh, IntegerEntry(aL, lastBlock.timestamp), IntegerEntry(N, av), IntegerEntry(aV, 0), IntegerEntry(aU, fraction(aB, aF, j)), BinaryEntry(O, bi), StringEntry(y(), be), StringEntry(aM, bf), StringEntry(aN, bg)]
270270 }
271271
272272
273273
274274 @Callable(bd)
275275 func buyWlg () = {
276276 let bj = aX()
277277 if ((size(bd.payments) != 1))
278278 then throw("exactly 1 payment must be attached")
279279 else {
280280 let bk = bd.payments[0]
281281 let bl = bk.amount
282282 let bm = valueOrErrorMessage(bk.assetId, "WAVES can't be used as payment")
283283 if ((bm != e))
284284 then throw("USDT payments only!")
285285 else {
286286 let bn = bd.caller
287- let aR = toString(bn)
288- let bo = aY(aR)
287+ let aS = toString(bn)
288+ let bo = aY(aS)
289289 if ((bl > bo))
290290 then throw((("You can spend max " + toString(bo)) + " USDT"))
291291 else {
292- let bp = as()
293- let bq = bp[O]
294- let br = fraction(bp[P], 6, 5)
292+ let bp = au()
293+ let bq = bp[Q]
294+ let br = fraction(bp[R], 6, 5)
295295 let bs = fraction(bl, k, br)
296- let bt = fraction(bl, bq, (bp[Q] - bl))
297- $Tuple2([Reissue(aW, bt, true), IntegerEntry(N, (bq + bt)), IntegerEntry(aS(aR), lastBlock.timestamp), ScriptTransfer(bn, bs, aW)], bj)
296+ let bt = fraction(bl, bq, (bp[S] - bl))
297+ $Tuple2([Reissue(P, bt, true), IntegerEntry(N, (bq + bt)), IntegerEntry(aT(aS), lastBlock.timestamp), ScriptTransfer(bn, bs, P)], bj)
298298 }
299299 }
300300 }
301301 }
302302
303303
304304
305305 @Callable(bd)
306306 func sellWlg () = {
307307 let bj = aX()
308308 if ((size(bd.payments) != 1))
309309 then throw("exactly 1 payment must be attached")
310310 else {
311311 let bk = bd.payments[0]
312312 let bu = bk.amount
313313 let bm = valueOrErrorMessage(bk.assetId, "WAVES can't be used as payment")
314- if ((bm != aW))
314+ if ((bm != P))
315315 then throw("WLGOLD payments only!")
316316 else {
317317 let bn = bd.caller
318- let aR = toString(bn)
319- let bo = aY(aR)
320- let bp = as()
321- let bq = (bp[O] - bu)
322- let bv = fraction(bp[P], 4, 5)
318+ let aS = toString(bn)
319+ let bo = aY(aS)
320+ let bp = au()
321+ let bq = (bp[Q] - bu)
322+ let bv = fraction(bp[R], 4, 5)
323323 let bw = fraction(bu, bv, k)
324324 if ((bw > bo))
325325 then throw((("You can get max " + toString(bo)) + " USDT"))
326326 else {
327- let bx = fraction(bw, bq, bp[Q])
328- $Tuple2([Burn(aW, bx), IntegerEntry(N, (bq - bx)), IntegerEntry(aS(aR), lastBlock.timestamp), ScriptTransfer(bn, bw, e)], bj)
327+ let bx = fraction(bw, bq, bp[S])
328+ $Tuple2([Burn(P, bx), IntegerEntry(N, (bq - bx)), IntegerEntry(aT(aS), lastBlock.timestamp), ScriptTransfer(bn, bw, e)], bj)
329329 }
330330 }
331331 }
332332 }
333333
334334
335335
336336 @Callable(bd)
337337 func claim () = {
338338 let bj = aX()
339339 let bn = bd.caller
340340 let by = toString(bn)
341341 let ba = lastBlock.timestamp
342- let bz = valueOrErrorMessage(getInteger(aK), "Not initialized")
343- let bA = valueOrElse(getInteger(aN), bz)
344- let bf = addressFromStringValue(value(getString(aL)))
345- let bB = fraction(fraction(az, aA, j), (ba - bA), aE)
346- let bC = valueOrElse(getInteger(aO), bz)
347- let bg = addressFromStringValue(value(getString(aM)))
348- let bD = fraction(fraction(az, aB, j), (ba - bC), (3 * aE))
349- let bE = valueOrElse(getInteger(aP), bz)
350- let bF = fraction(fraction(az, aC, j), (ba - bE), (3 * aE))
351- let bG = ((ba - bz) / aF)
352- if ((bG > (aG / 2)))
342+ let bz = valueOrErrorMessage(getInteger(aL), "Not initialized")
343+ let bA = valueOrElse(getInteger(aO), bz)
344+ let bf = addressFromStringValue(value(getString(aM)))
345+ let bB = fraction(fraction(aB, aC, j), (ba - bA), aG)
346+ let bC = valueOrElse(getInteger(aP), bz)
347+ let bg = addressFromStringValue(value(getString(aN)))
348+ let bD = fraction(fraction(aB, aD, j), (ba - bC), (3 * aG))
349+ let bE = valueOrElse(getInteger(aQ), bz)
350+ let bF = fraction(fraction(aB, aE, j), (ba - bE), (3 * aG))
351+ let bG = ((ba - bz) / aH)
352+ if ((bG > (aI / 2)))
353353 then throw("Please modify contract for next 1.5 years, according to stats")
354354 else {
355- let bH = W(by)
355+ let bH = Y(by)
356356 let bI = bH[b]
357- let bJ = valueOrElse(getInteger(aT), 0)
358- let bK = fraction(bJ, (2 * bI), (bI + (max([100000, bI]) * (aG - bG))))
359- let bL = aQ(by)
357+ let bJ = valueOrElse(getInteger(aU), 0)
358+ let bK = fraction(bJ, (2 * bI), (bI + (max([100000, bI]) * (aI - bG))))
359+ let bL = aR(by)
360360 let bM = valueOrElse(getInteger(bL), bz)
361- let bN = fraction(fraction(bK, bH[c], bI), (ba - bM), (3 * aE))
362- let bO = aV(by)
363- $Tuple2([ScriptTransfer(bf, bB, aW), ScriptTransfer(bg, bD, aW), ScriptTransfer(E, bF, aW), ScriptTransfer(bn, bN, aW), IntegerEntry(bO, (valueOrElse(getInteger(bO), 0) + bN)), IntegerEntry(aU, (valueOrElse(getInteger(aU), 0) + bN)), IntegerEntry(aT, (bJ - bN)), IntegerEntry(aN, ba), IntegerEntry(aO, ba), IntegerEntry(aP, ba), IntegerEntry(bL, ba)], bj)
361+ let bN = fraction(fraction(bK, bH[c], bI), (ba - bM), (3 * aG))
362+ let bO = aW(by)
363+ $Tuple2([ScriptTransfer(bf, bB, P), ScriptTransfer(bg, bD, P), ScriptTransfer(E, bF, P), ScriptTransfer(bn, bN, P), IntegerEntry(bO, (valueOrElse(getInteger(bO), 0) + bN)), IntegerEntry(aV, (valueOrElse(getInteger(aV), 0) + bN)), IntegerEntry(aU, (bJ - bN)), IntegerEntry(aO, ba), IntegerEntry(aP, ba), IntegerEntry(aQ, ba), IntegerEntry(bL, ba)], bj)
364364 }
365365 }
366366
367367
368368
369369 @Callable(bd)
370-func onStakeLand (aR) = if ((bd.caller != F))
370+func onStakeLand (aS) = if ((bd.caller != F))
371371 then throw("Permission denied")
372- else $Tuple2([IntegerEntry(aQ(aR), lastBlock.timestamp)], lastBlock.timestamp)
372+ else $Tuple2([IntegerEntry(aR(aS), lastBlock.timestamp)], lastBlock.timestamp)
373373
374374
375375
376376 @Callable(bd)
377-func onUnstakeLand (aR) = if ((bd.caller != F))
377+func onUnstakeLand (aS) = if ((bd.caller != F))
378378 then throw("Permission denied")
379- else $Tuple2([DeleteEntry(aQ(aR))], 0)
379+ else $Tuple2([DeleteEntry(aR(aS))], 0)
380380
381381

github/deemru/w8io/169f3d6 
189.46 ms