tx · EAdvzzmBtUyshwxbECnqyAVPPqin7LdNatUhPRF2rCR7

3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS:  -0.01000000 Waves

2023.11.10 16:04 [2837283] smart account 3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS > SELF 0.00000000 Waves

{ "type": 13, "id": "EAdvzzmBtUyshwxbECnqyAVPPqin7LdNatUhPRF2rCR7", "fee": 1000000, "feeAssetId": null, "timestamp": 1699621503414, "version": 2, "chainId": 84, "sender": "3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS", "senderPublicKey": "CMMtdSwXAf6tvNvyJDrdC5VGmRkcXU5CqmsapxKNPhLu", "proofs": [ "5TigyWVP7re3gPHv3jPx5xQzRchfg7RpcLz3ia4ZdhCjgLrgHh81S1fpStC1tcDVqKqUw5jqtL5yu3sr3rUScdSf" ], "script": "base64:BgI5CAISBgoECAgBARIDCgEIEgASABIECgIICBIDCgEIEgMKAQgSAwoBARIDCgEBEgASAwoBARIDCgEIGQADU0VQAgJfXwAHZmVlUmFuawCQTgAJd3hBc3NldElkASB6bQLDKkAdN6wf+7trwy200VZFDNDd29aFKJLgHB2a4wAKc2J0QXNzZXRJZAEg7b51XE58aMp9lj9uI5FGnnl/9BHmO+37TVRB3Im5ctkADXdhdmVzRXhjaGFuZ2UBGgFU/Dsuc5FpNxWwmLp+YyVh+q94Okzod8AfABVjbGFpbVd4UmV3YXJkQ29udHJhY3QBGgFU/Dsuc5FpNxWwmLp+YyVh+q94Okzod8AfABBpc0NvbnN0cnVjdGVkS2V5Ag5pc19jb25zdHJ1Y3RlZAAPYWRtaW5BZGRyZXNzS2V5Ag1hZG1pbl9hZGRyZXNzAA5zYld4QXNzZXRJZEtleQIOc2Jfd3hfYXNzZXRfaWQACmxwUG9vbHNLZXkCCGxwX3Bvb2xzABdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQIWYWRkaXRpb25hbF9yZXdhcmRfcG9vbAAaYWRkaXRpb25hbFJld2FyZFBvb2xGZWVLZXkCGmFkZGl0aW9uYWxfcmV3YXJkX3Bvb2xfZmVlAA9zYnRTdGFrZVBvb2xLZXkCDnNidF9zdGFrZV9wb29sABJzYnRTdGFrZVBvb2xGZWVLZXkCEnNidF9zdGFrZV9wb29sX2ZlZQAbc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkS2V5AhxzYnRfc3Rha2VfcG9vbF90b3RhbF9jbGFpbWVkABB0b3RhbFdYTG9ja2VkS2V5Ag90b3RhbF93eF9sb2NrZWQAGWluaXRpYWxTQlRUb2tlbnNBbW91bnRLZXkCGWluaXRpYWxfU0JUX3Rva2Vuc19hbW91bnQAJmJhc2VTQlRUb2tlbkFtb3VudEZvck9uZVJld2FyZFRva2VuS2V5AipiYXNlX1NCVF90b2tlbl9hbW91bnRfZm9yX29uZV9yZXdhcmRfdG9rZW4BCWFzUGF5bWVudAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAg9BdHRhY2hlZFBheW1lbnQEAXAFByRtYXRjaDAFAXAJAAIBAiFmYWlsIHRvIGNhc3QgaW50byBBdHRhY2hlZFBheW1lbnQBDGFzQnl0ZVZlY3RvcgEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFwBQckbWF0Y2gwBQFwCQACAQIcZmFpbCB0byBjYXN0IGludG8gQnl0ZVZlY3RvcgEFYXNJbnQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACA0ludAQGdmFsSW50BQckbWF0Y2gwBQZ2YWxJbnQJAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBD2FzQWRkcmVzc1N0cmluZwEHYWRkcmVzcwQHJG1hdGNoMAkApggBBQdhZGRyZXNzAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAJAKUIAQUBYQkAAgECIGZhaWwgdG8gY2FzdCBpbnRvIEFkZHJlc3MgU3RyaW5nAR9jYWxjdWxhdGVDdXJyZW50UmV3YXJkU0JUQW1vdW50ARByZXdhcmRUb2tlbkNvdW50BCNiYXNlU0JUVG9rZW5BbW91bnRGb3JPbmVSZXdhcmRUb2tlbgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUmYmFzZVNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW5LZXkEFmluaXRpYWxTQlRUb2tlbnNBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFGWluaXRpYWxTQlRUb2tlbnNBbW91bnRLZXkEF2N1cnJlbnRTQlRUb2tlbnNCYWxhbmNlCQDwBwIFBHRoaXMFCnNidEFzc2V0SWQDCQAAAgUXY3VycmVudFNCVFRva2Vuc0JhbGFuY2UAAAAABCZjdXJyZW50U0JUVG9rZW5BbW91bnRGb3JPbmVSZXdhcmRUb2tlbgkAawMFI2Jhc2VTQlRUb2tlbkFtb3VudEZvck9uZVJld2FyZFRva2VuBRdjdXJyZW50U0JUVG9rZW5zQmFsYW5jZQUWaW5pdGlhbFNCVFRva2Vuc0Ftb3VudAQJYW1vdW50U0JUCQBoAgUQcmV3YXJkVG9rZW5Db3VudAUmY3VycmVudFNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW4DCQBmAgUJYW1vdW50U0JUBRdjdXJyZW50U0JUVG9rZW5zQmFsYW5jZQUXY3VycmVudFNCVFRva2Vuc0JhbGFuY2UFCWFtb3VudFNCVAEQaXNBdXRob3JpemVkUG9vbAEEcG9vbAQLY2hlY2tlZFBvb2wJAQ9hc0FkZHJlc3NTdHJpbmcBBQRwb29sBAdscFBvb2xzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQpscFBvb2xzS2V5CQEIY29udGFpbnMCBQdscFBvb2xzBQtjaGVja2VkUG9vbAELZ2V0UG9vbERhdGEBBHBvb2wDCQEBIQEJARBpc0F1dGhvcml6ZWRQb29sAQUEcG9vbAkAAgECE05vdCBhdXRob3JpemVkIHBvb2wEC3Bvb2xMcFRva2VuCQERQGV4dHJOYXRpdmUoMTA1MykCCQERQGV4dHJOYXRpdmUoMTA2MikBBQRwb29sAgV0b2tlbgQYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBQRwb29sCQCUCgIFC3Bvb2xMcFRva2VuBRh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MMAWkBC2NvbnN0cnVjdG9yBAxhZG1pbkFkZHJlc3MMc2J0U3Rha2VQb29sFmluaXRpYWxTQlRUb2tlbnNBbW91bnQac2J0VG9rZW5zRm9yT25lUmV3YXJkVG9rZW4DCQEJaXNEZWZpbmVkAQkAoAgBBRBpc0NvbnN0cnVjdGVkS2V5CQACAQIiQ29uc3RydWN0b3IgY2FuIGJlIGNhbGxlZCBvbmUgdGltZQQEc2JXeAkAwwgHAgh0ZXN0U2JXWAIAAAAACAYFBHVuaXQAAAQHYXNzZXRJZAkAuAgBBQRzYld4CQDMCAIFBHNiV3gJAMwIAgkBC1N0cmluZ0VudHJ5AgUOc2JXeEFzc2V0SWRLZXkJANgEAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCBQ9hZG1pbkFkZHJlc3NLZXkJAQ9hc0FkZHJlc3NTdHJpbmcBBQxhZG1pbkFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUPc2J0U3Rha2VQb29sS2V5CQEPYXNBZGRyZXNzU3RyaW5nAQUMc2J0U3Rha2VQb29sCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJzYnRTdGFrZVBvb2xGZWVLZXkA+AoJAMwIAgkBDEludGVnZXJFbnRyeQIFG3NidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZEtleQAACQDMCAIJAQtTdHJpbmdFbnRyeQIFCmxwUG9vbHNLZXkCAAkAzAgCCQELU3RyaW5nRW50cnkCBRdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQIACQDMCAIJAQxJbnRlZ2VyRW50cnkCBRphZGRpdGlvbmFsUmV3YXJkUG9vbEZlZUtleQDYBAkAzAgCCQEMQm9vbGVhbkVudHJ5AgUQaXNDb25zdHJ1Y3RlZEtleQYJAMwIAgkBDEludGVnZXJFbnRyeQIFEHRvdGFsV1hMb2NrZWRLZXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUZaW5pdGlhbFNCVFRva2Vuc0Ftb3VudEtleQUWaW5pdGlhbFNCVFRva2Vuc0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUmYmFzZVNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW5LZXkFGnNidFRva2Vuc0Zvck9uZVJld2FyZFRva2VuBQNuaWwBaQEUY2hhbmdlU0JUUG9vbEFkZHJlc3MBB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUPc2J0U3Rha2VQb29sS2V5BQdhZGRyZXNzBQNuaWwBaQEIbWludFNiV3gAAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIUT25lIFBheW1lbnQgZXhwZWN0ZWQEB3BheW1lbnQJAQlhc1BheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAAEBmFtb3VudAgFB3BheW1lbnQGYW1vdW50AwMJAQIhPQIIBQdwYXltZW50B2Fzc2V0SWQFCXd4QXNzZXRJZAYJAGcCAAAFBmFtb3VudAkAAgECGFdyb25nIEFzc2V0IGlkIG9yIGFtb3VudAQNdG90YWxXWExvY2tlZAkBEUBleHRyTmF0aXZlKDEwNTUpAQUQdG90YWxXWExvY2tlZEtleQQLc2JXeEFzc2V0SWQJARFAZXh0ck5hdGl2ZSgxMDU4KQEFDnNiV3hBc3NldElkS2V5BBF3YXZlc0V4Y2hhbmdlSW5mbwkA/AcECQEHQWRkcmVzcwEFDXdhdmVzRXhjaGFuZ2UCF3VzZXJNYXhEdXJhdGlvblJFQURPTkxZBQNuaWwFA25pbAMJAAACBRF3YXZlc0V4Y2hhbmdlSW5mbwURd2F2ZXNFeGNoYW5nZUluZm8EByRtYXRjaDAFEXdhdmVzRXhjaGFuZ2VJbmZvAwkAAQIFByRtYXRjaDACDShTdHJpbmcsIEludCkEBXR1cGxlBQckbWF0Y2gwBAxmdW5jdGlvbk5hbWUIBQV0dXBsZQJfMQQPbWF4TG9ja0R1cmF0aW9uCAUFdHVwbGUCXzIEBnJlc3VsdAkA/AcECQEHQWRkcmVzcwEFDXdhdmVzRXhjaGFuZ2UFDGZ1bmN0aW9uTmFtZQkAzAgCBQ9tYXhMb2NrRHVyYXRpb24FA25pbAkAzAgCBQdwYXltZW50BQNuaWwDCQAAAgUGcmVzdWx0BQZyZXN1bHQEBHNiV3gJANkEAQULc2JXeEFzc2V0SWQJAMwIAgkBB1JlaXNzdWUDBQRzYld4BQZhbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwUGYW1vdW50BQRzYld4CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRB0b3RhbFdYTG9ja2VkS2V5CQBkAgUNdG90YWxXWExvY2tlZAUGYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAhhGQVRBTDogSW5jb25zaXN0ZW50IGRhdGEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEVY2xhaW1XeFN0YWtpbmdSZXdhcmRzAAQTY3VycmVudFd4T25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQDCQAAAgUTY3VycmVudFd4T25Db250cmFjdAUTY3VycmVudFd4T25Db250cmFjdAQLY2xhaW1SZXN1bHQJAPwHBAkBB0FkZHJlc3MBBRVjbGFpbVd4UmV3YXJkQ29udHJhY3QCC2NsYWltUmV3YXJkBQNuaWwFA25pbAMJAAACBQtjbGFpbVJlc3VsdAULY2xhaW1SZXN1bHQED25ld1d4T25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQEB2NsYWltZWQJAGUCBQ9uZXdXeE9uQ29udHJhY3QFE2N1cnJlbnRXeE9uQ29udHJhY3QDCQAAAgUHY2xhaW1lZAAACQACAQIQTm90aGluZyB0byBjbGFpbQQYc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkCQERQGV4dHJOYXRpdmUoMTA1NSkBBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkJAMwIAgkBDEludGVnZXJFbnRyeQIFG3NidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZEtleQkAZAIFGHNidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZAUHY2xhaW1lZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBQ9zYnRTdGFrZVBvb2xLZXkFB2NsYWltZWQFCXd4QXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2FkZFBvb2wCB2FkZHJlc3MYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzAwkBAiE9AgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQ9hZG1pbkFkZHJlc3NLZXkJAAIBAiFPbmx5IEFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24EB2xwUG9vbHMJARFAZXh0ck5hdGl2ZSgxMDU4KQEFCmxwUG9vbHNLZXkDCQEQaXNBdXRob3JpemVkUG9vbAEFB2FkZHJlc3MJAAIBAhJQb29sIGFscmVhZHkgYWRkZWQECG5ld1Bvb2xzAwkAAAIJALECAQUHbHBQb29scwAABQdhZGRyZXNzCQCsAgIJAKwCAgUHbHBQb29scwUDU0VQBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFCmxwUG9vbHNLZXkFCG5ld1Bvb2xzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9hc0FkZHJlc3NTdHJpbmcBBQdhZGRyZXNzCQEPYXNBZGRyZXNzU3RyaW5nAQUYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzBQNuaWwBaQEKcmVtb3ZlUG9vbAEHYWRkcmVzcwMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uBAdscFBvb2xzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQpscFBvb2xzS2V5AwkBASEBCQEQaXNBdXRob3JpemVkUG9vbAEFB2FkZHJlc3MJAAIBAg5Qb29sIG5vdCBmb3VuZAQKcG9vbHNBcnJheQkAvAkCBQdscFBvb2xzBQNTRVAECXBvb2xJbmRleAkBBWFzSW50AQkAzwgCBQpwb29sc0FycmF5BQdhZGRyZXNzBAhuZXdQb29scwkAugkCCQDRCAIFCnBvb2xzQXJyYXkFCXBvb2xJbmRleAUDU0VQCQDOCAIJAMwIAgkBC1N0cmluZ0VudHJ5AgUKbHBQb29sc0tleQUIbmV3UG9vbHMJAMwIAgkBC0RlbGV0ZUVudHJ5AQUHYWRkcmVzcwUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDU4KQEFF2FkZGl0aW9uYWxSZXdhcmRQb29sS2V5BQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFF2FkZGl0aW9uYWxSZXdhcmRQb29sS2V5AgAFA25pbAUDbmlsAWkBGHNldEFkZGl0aW9uYWxSZXdhcmRzUG9vbAEHYWRkcmVzcwMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwkBASEBCQEQaXNBdXRob3JpemVkUG9vbAEFB2FkZHJlc3MJAAIBAjtPbmx5IGF1dGhvcml6ZWQgcG9vbCBjYW4gYmUgYWRkZWQgYXMgYWRkaXRpb25hbCByZXdhcmQgcG9vbAkAzAgCCQELU3RyaW5nRW50cnkCBRdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQUHYWRkcmVzcwUDbmlsAWkBG3NldEFkZGl0aW9uYWxSZXdhcmRzUG9vbEZlZQEDZmVlAwkBAiE9AgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQ9hZG1pbkFkZHJlc3NLZXkJAAIBAiFPbmx5IEFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24DCQBmAgUDZmVlANAPCQACAQIcRmVlIGNhbid0IGJlIGJpZ2dlciB0aGFuIDIwJQMJAGYCAAAFA2ZlZQkAAgECFUZlZSBjYW4ndCBiZSBuZWdhdGl2ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUaYWRkaXRpb25hbFJld2FyZFBvb2xGZWVLZXkFA2ZlZQUDbmlsAWkBDXNldFNidFBvb2xGZWUBA2ZlZQMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwkAZgIFA2ZlZQDQDwkAAgECHEZlZSBjYW4ndCBiZSBiaWdnZXIgdGhhbiAyMCUDCQBmAgAABQNmZWUJAAIBAhVGZWUgY2FuJ3QgYmUgbmVnYXRpdmUJAMwIAgkBDEludGVnZXJFbnRyeQIFEnNidFN0YWtlUG9vbEZlZUtleQUDZmVlBQNuaWwBaQEMc3Rha2VQb29sTHBzAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECFE9uZSBQYXltZW50IGV4cGVjdGVkBAhwb29sRGF0YQkBC2dldFBvb2xEYXRhAQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAtwb29sTHBUb2tlbggFCHBvb2xEYXRhAl8xBBh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MIBQhwb29sRGF0YQJfMgQHcGF5bWVudAkBCWFzUGF5bWVudAEJAJEDAggFAWkIcGF5bWVudHMAAAMDCQECIT0CCAUHcGF5bWVudAdhc3NldElkCQDZBAEFC3Bvb2xMcFRva2VuBgkAZwIAAAgFB3BheW1lbnQGYW1vdW50CQACAQIbV3JvbmcgTFAgQXNzZXQgaWQgb3IgYW1vdW50BAZyZXN1bHQJAPwHBAUYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzAgVzdGFrZQUDbmlsCQDMCAIFB3BheW1lbnQFA25pbAMJAAACBQZyZXN1bHQFBnJlc3VsdAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD3dpdGhkcmF3UG9vbExwcwEGYW1vdW50BAhwb29sRGF0YQkBC2dldFBvb2xEYXRhAQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAtwb29sTHBUb2tlbggFCHBvb2xEYXRhAl8xBBh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MIBQhwb29sRGF0YQJfMgQGcmVzdWx0CQD8BwQFGHdhdmVzRXhjaGFuZ2VQb29sQWRkcmVzcwIHdW5zdGFrZQkAzAgCBQtwb29sTHBUb2tlbgkAzAgCBQZhbW91bnQFA25pbAUDbmlsAwkAAAIFBnJlc3VsdAUGcmVzdWx0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwUGYW1vdW50CQDZBAEFC3Bvb2xMcFRva2VuBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQY2xhaW1Qb29sUmV3YXJkcwEEcG9vbAQLcG9vbEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBHBvb2wECHBvb2xEYXRhCQELZ2V0UG9vbERhdGEBBQRwb29sBAtwb29sTHBUb2tlbggFCHBvb2xEYXRhAl8xBBh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MIBQhwb29sRGF0YQJfMgQTY3VycmVudFdYT25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQDCQAAAgUTY3VycmVudFdYT25Db250cmFjdAUTY3VycmVudFdYT25Db250cmFjdAQLY2xhaW1SZXN1bHQJAPwHBAUYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzAgdjbGFpbVdYCQDMCAIFC3Bvb2xMcFRva2VuBQNuaWwFA25pbAMJAAACBQtjbGFpbVJlc3VsdAULY2xhaW1SZXN1bHQED25ld1dYT25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQEB2NsYWltZWQJAGUCBQ9uZXdXWE9uQ29udHJhY3QFE2N1cnJlbnRXWE9uQ29udHJhY3QDCQAAAgUHY2xhaW1lZAAACQACAQIQTm90aGluZyB0byBjbGFpbQQPc2J0UmV3YXJkQW1vdW50CQEfY2FsY3VsYXRlQ3VycmVudFJld2FyZFNCVEFtb3VudAEFB2NsYWltZWQEEHNidFJld2FyZEFjdGlvbnMDCQAAAgUPc2J0UmV3YXJkQW1vdW50AAAFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtwb29sQWRkcmVzcwUPc2J0UmV3YXJkQW1vdW50BQpzYnRBc3NldElkBQNuaWwEDHNidFN0YWtlUG9vbAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUPc2J0U3Rha2VQb29sS2V5BA9zYnRTdGFrZVBvb2xGZWUJARFAZXh0ck5hdGl2ZSgxMDU1KQEFEnNidFN0YWtlUG9vbEZlZUtleQQYc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkCQERQGV4dHJOYXRpdmUoMTA1NSkBBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkEEnNidFN0YWtlUG9vbEFtb3VudAkAbgQFB2NsYWltZWQFD3NidFN0YWtlUG9vbEZlZQUHZmVlUmFuawUGSEFMRlVQBBNzYnRTdGFrZVBvb2xBY3Rpb25zAwkAAAIFEnNidFN0YWtlUG9vbEFtb3VudAAABQNuaWwJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUMc2J0U3Rha2VQb29sBRJzYnRTdGFrZVBvb2xBbW91bnQFCXd4QXNzZXRJZAUDbmlsBBRhZGRpdGlvbmFsUmV3YXJkUG9vbAkBEUBleHRyTmF0aXZlKDEwNTgpAQUXYWRkaXRpb25hbFJld2FyZFBvb2xLZXkEGGFkZGl0aW9uYWxSZXdhcmRQb29sRnJlZQkBEUBleHRyTmF0aXZlKDEwNTUpAQUaYWRkaXRpb25hbFJld2FyZFBvb2xGZWVLZXkEGmFkZGl0aW9uYWxSZXdhcmRQb29sQW1vdW50AwkAAAIJALECAQUUYWRkaXRpb25hbFJld2FyZFBvb2wAAAAAAwkBAiE9AgUUYWRkaXRpb25hbFJld2FyZFBvb2wFBHBvb2wJAG4EBQdjbGFpbWVkBRhhZGRpdGlvbmFsUmV3YXJkUG9vbEZyZWUFB2ZlZVJhbmsFBkhBTEZVUAAABBxhZGRpdGlvbmFsUmV3YXJkc1Bvb2xBY3Rpb25zAwkAAAIFGmFkZGl0aW9uYWxSZXdhcmRQb29sQW1vdW50AAAFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBRRhZGRpdGlvbmFsUmV3YXJkUG9vbAUaYWRkaXRpb25hbFJld2FyZFBvb2xBbW91bnQFCXd4QXNzZXRJZAUDbmlsBAtwb29sQ2xhaW1lZAkAZQIJAGUCBQdjbGFpbWVkBRJzYnRTdGFrZVBvb2xBbW91bnQFGmFkZGl0aW9uYWxSZXdhcmRQb29sQW1vdW50CQDOCAIJAM4IAgkAzggCBRBzYnRSZXdhcmRBY3Rpb25zBRNzYnRTdGFrZVBvb2xBY3Rpb25zBRxhZGRpdGlvbmFsUmV3YXJkc1Bvb2xBY3Rpb25zCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkJAGQCBRhzYnRTdGFrZVBvb2xUb3RhbENsYWltZWQFEnNidFN0YWtlUG9vbEFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtwb29sQWRkcmVzcwULcG9vbENsYWltZWQFCXd4QXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAFSMhzc=", "height": 2837283, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CmtxmCYWtcJeupfrW2k3w5DFiMHnF2u77qdv9DoTLM5a Next: none Diff:
OldNewDifferences
125125
126126
127127 @Callable(R)
128-func changeSBTPoolAddress (B) = [StringEntry(getStringValue(m), B)]
128+func changeSBTPoolAddress (B) = [StringEntry(m, B)]
129129
130130
131131
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "__"
55
66 let b = 10000
77
88 let c = base58'9Eu9de5GPPgLzY16bevCaxF4rFr4jA9wqyTfqcjksU82'
99
1010 let d = base58'H144sePa8bNCDFTzZNkUnk6QMz387T2ruKPMQ5DJ3DyS'
1111
1212 let e = base58'3NCukxG6cc7pqKoEwTZsr1CRrHMHfvGM7ok'
1313
1414 let f = base58'3NCukxG6cc7pqKoEwTZsr1CRrHMHfvGM7ok'
1515
1616 let g = "is_constructed"
1717
1818 let h = "admin_address"
1919
2020 let i = "sb_wx_asset_id"
2121
2222 let j = "lp_pools"
2323
2424 let k = "additional_reward_pool"
2525
2626 let l = "additional_reward_pool_fee"
2727
2828 let m = "sbt_stake_pool"
2929
3030 let n = "sbt_stake_pool_fee"
3131
3232 let o = "sbt_stake_pool_total_claimed"
3333
3434 let p = "total_wx_locked"
3535
3636 let q = "initial_SBT_tokens_amount"
3737
3838 let r = "base_SBT_token_amount_for_one_reward_token"
3939
4040 func s (t) = {
4141 let u = t
4242 if ($isInstanceOf(u, "AttachedPayment"))
4343 then {
4444 let v = u
4545 v
4646 }
4747 else throw("fail to cast into AttachedPayment")
4848 }
4949
5050
5151 func w (t) = {
5252 let u = t
5353 if ($isInstanceOf(u, "ByteVector"))
5454 then {
5555 let v = u
5656 v
5757 }
5858 else throw("fail to cast into ByteVector")
5959 }
6060
6161
6262 func x (y) = {
6363 let u = y
6464 if ($isInstanceOf(u, "Int"))
6565 then {
6666 let z = u
6767 z
6868 }
6969 else throw("fail to cast into Int")
7070 }
7171
7272
7373 func A (B) = {
7474 let u = addressFromString(B)
7575 if ($isInstanceOf(u, "Address"))
7676 then {
7777 let C = u
7878 toString(C)
7979 }
8080 else throw("fail to cast into Address String")
8181 }
8282
8383
8484 func D (E) = {
8585 let F = getIntegerValue(this, r)
8686 let G = getIntegerValue(this, q)
8787 let H = assetBalance(this, d)
8888 if ((H == 0))
8989 then 0
9090 else {
9191 let I = fraction(F, H, G)
9292 let J = (E * I)
9393 if ((J > H))
9494 then H
9595 else J
9696 }
9797 }
9898
9999
100100 func K (L) = {
101101 let M = A(L)
102102 let N = getStringValue(j)
103103 contains(N, M)
104104 }
105105
106106
107107 func O (L) = if (!(K(L)))
108108 then throw("Not authorized pool")
109109 else {
110110 let P = getStringValue(addressFromStringValue(L), "token")
111111 let Q = addressFromStringValue(getStringValue(L))
112112 $Tuple2(P, Q)
113113 }
114114
115115
116116 @Callable(R)
117117 func constructor (S,T,G,U) = if (isDefined(getBoolean(g)))
118118 then throw("Constructor can be called one time")
119119 else {
120120 let V = Issue("testSbWX", "", 0, 8, true, unit, 0)
121121 let W = calculateAssetId(V)
122122 [V, StringEntry(i, toBase58String(W)), StringEntry(h, A(S)), StringEntry(m, A(T)), IntegerEntry(n, 1400), IntegerEntry(o, 0), StringEntry(j, ""), StringEntry(k, ""), IntegerEntry(l, 600), BooleanEntry(g, true), IntegerEntry(p, 0), IntegerEntry(q, G), IntegerEntry(r, U)]
123123 }
124124
125125
126126
127127 @Callable(R)
128-func changeSBTPoolAddress (B) = [StringEntry(getStringValue(m), B)]
128+func changeSBTPoolAddress (B) = [StringEntry(m, B)]
129129
130130
131131
132132 @Callable(R)
133133 func mintSbWx () = if ((size(R.payments) != 1))
134134 then throw("One Payment expected")
135135 else {
136136 let X = s(R.payments[0])
137137 let Y = X.amount
138138 if (if ((X.assetId != c))
139139 then true
140140 else (0 >= Y))
141141 then throw("Wrong Asset id or amount")
142142 else {
143143 let Z = getIntegerValue(p)
144144 let aa = getStringValue(i)
145145 let ab = invoke(Address(e), "userMaxDurationREADONLY", nil, nil)
146146 if ((ab == ab))
147147 then {
148148 let u = ab
149149 if ($isInstanceOf(u, "(String, Int)"))
150150 then {
151151 let ac = u
152152 let ad = ac._1
153153 let ae = ac._2
154154 let af = invoke(Address(e), ad, [ae], [X])
155155 if ((af == af))
156156 then {
157157 let V = fromBase58String(aa)
158158 [Reissue(V, Y, true), ScriptTransfer(Address(R.caller.bytes), Y, V), IntegerEntry(p, (Z + Y))]
159159 }
160160 else throw("Strict value is not equal to itself.")
161161 }
162162 else throw("FATAL: Inconsistent data")
163163 }
164164 else throw("Strict value is not equal to itself.")
165165 }
166166 }
167167
168168
169169
170170 @Callable(R)
171171 func claimWxStakingRewards () = {
172172 let ag = assetBalance(this, c)
173173 if ((ag == ag))
174174 then {
175175 let ah = invoke(Address(f), "claimReward", nil, nil)
176176 if ((ah == ah))
177177 then {
178178 let ai = assetBalance(this, c)
179179 let aj = (ai - ag)
180180 if ((aj == 0))
181181 then throw("Nothing to claim")
182182 else {
183183 let ak = getIntegerValue(o)
184184 [IntegerEntry(o, (ak + aj)), ScriptTransfer(addressFromStringValue(getStringValue(m)), aj, c)]
185185 }
186186 }
187187 else throw("Strict value is not equal to itself.")
188188 }
189189 else throw("Strict value is not equal to itself.")
190190 }
191191
192192
193193
194194 @Callable(R)
195195 func addPool (B,Q) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
196196 then throw("Only Admin can call this function")
197197 else {
198198 let N = getStringValue(j)
199199 if (K(B))
200200 then throw("Pool already added")
201201 else {
202202 let al = if ((size(N) == 0))
203203 then B
204204 else ((N + a) + B)
205205 [StringEntry(j, al), StringEntry(A(B), A(Q))]
206206 }
207207 }
208208
209209
210210
211211 @Callable(R)
212212 func removePool (B) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
213213 then throw("Only Admin can call this function")
214214 else {
215215 let N = getStringValue(j)
216216 if (!(K(B)))
217217 then throw("Pool not found")
218218 else {
219219 let am = split_4C(N, a)
220220 let an = x(indexOf(am, B))
221221 let al = makeString_2C(removeByIndex(am, an), a)
222222 ([StringEntry(j, al), DeleteEntry(B)] ++ (if ((getStringValue(k) == B))
223223 then [StringEntry(k, "")]
224224 else nil))
225225 }
226226 }
227227
228228
229229
230230 @Callable(R)
231231 func setAdditionalRewardsPool (B) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
232232 then throw("Only Admin can call this function")
233233 else if (!(K(B)))
234234 then throw("Only authorized pool can be added as additional reward pool")
235235 else [StringEntry(k, B)]
236236
237237
238238
239239 @Callable(R)
240240 func setAdditionalRewardsPoolFee (ao) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
241241 then throw("Only Admin can call this function")
242242 else if ((ao > 2000))
243243 then throw("Fee can't be bigger than 20%")
244244 else if ((0 > ao))
245245 then throw("Fee can't be negative")
246246 else [IntegerEntry(l, ao)]
247247
248248
249249
250250 @Callable(R)
251251 func setSbtPoolFee (ao) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
252252 then throw("Only Admin can call this function")
253253 else if ((ao > 2000))
254254 then throw("Fee can't be bigger than 20%")
255255 else if ((0 > ao))
256256 then throw("Fee can't be negative")
257257 else [IntegerEntry(n, ao)]
258258
259259
260260
261261 @Callable(R)
262262 func stakePoolLps () = if ((size(R.payments) != 1))
263263 then throw("One Payment expected")
264264 else {
265265 let ap = O(toBase58String(R.caller.bytes))
266266 let P = ap._1
267267 let Q = ap._2
268268 let X = s(R.payments[0])
269269 if (if ((X.assetId != fromBase58String(P)))
270270 then true
271271 else (0 >= X.amount))
272272 then throw("Wrong LP Asset id or amount")
273273 else {
274274 let af = invoke(Q, "stake", nil, [X])
275275 if ((af == af))
276276 then nil
277277 else throw("Strict value is not equal to itself.")
278278 }
279279 }
280280
281281
282282
283283 @Callable(R)
284284 func withdrawPoolLps (Y) = {
285285 let ap = O(toBase58String(R.caller.bytes))
286286 let P = ap._1
287287 let Q = ap._2
288288 let af = invoke(Q, "unstake", [P, Y], nil)
289289 if ((af == af))
290290 then [ScriptTransfer(Address(R.caller.bytes), Y, fromBase58String(P))]
291291 else throw("Strict value is not equal to itself.")
292292 }
293293
294294
295295
296296 @Callable(R)
297297 func claimPoolRewards (L) = {
298298 let aq = addressFromStringValue(L)
299299 let ap = O(L)
300300 let P = ap._1
301301 let Q = ap._2
302302 let ar = assetBalance(this, c)
303303 if ((ar == ar))
304304 then {
305305 let ah = invoke(Q, "claimWX", [P], nil)
306306 if ((ah == ah))
307307 then {
308308 let as = assetBalance(this, c)
309309 let aj = (as - ar)
310310 if ((aj == 0))
311311 then throw("Nothing to claim")
312312 else {
313313 let at = D(aj)
314314 let au = if ((at == 0))
315315 then nil
316316 else [ScriptTransfer(aq, at, d)]
317317 let T = addressFromStringValue(getStringValue(m))
318318 let av = getIntegerValue(n)
319319 let ak = getIntegerValue(o)
320320 let aw = fraction(aj, av, b, HALFUP)
321321 let ax = if ((aw == 0))
322322 then nil
323323 else [ScriptTransfer(T, aw, c)]
324324 let ay = getStringValue(k)
325325 let az = getIntegerValue(l)
326326 let aA = if ((size(ay) == 0))
327327 then 0
328328 else if ((ay != L))
329329 then fraction(aj, az, b, HALFUP)
330330 else 0
331331 let aB = if ((aA == 0))
332332 then nil
333333 else [ScriptTransfer(addressFromStringValue(ay), aA, c)]
334334 let aC = ((aj - aw) - aA)
335335 (((au ++ ax) ++ aB) ++ [IntegerEntry(o, (ak + aw)), ScriptTransfer(aq, aC, c)])
336336 }
337337 }
338338 else throw("Strict value is not equal to itself.")
339339 }
340340 else throw("Strict value is not equal to itself.")
341341 }
342342
343343

github/deemru/w8io/169f3d6 
59.03 ms