tx · CmtxmCYWtcJeupfrW2k3w5DFiMHnF2u77qdv9DoTLM5a

3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS:  -0.01000000 Waves

2023.11.10 16:03 [2837282] smart account 3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS > SELF 0.00000000 Waves

{ "type": 13, "id": "CmtxmCYWtcJeupfrW2k3w5DFiMHnF2u77qdv9DoTLM5a", "fee": 1000000, "feeAssetId": null, "timestamp": 1699621405209, "version": 2, "chainId": 84, "sender": "3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS", "senderPublicKey": "CMMtdSwXAf6tvNvyJDrdC5VGmRkcXU5CqmsapxKNPhLu", "proofs": [ "4BFwLbv42FKDHHfbJT1hqsP1shcx6BA1XK9kbEuXrpZJaG4KAeZKSG52ugdVBrT4BR84R3Vk3BkZjJscLTYArMom" ], "script": "base64:BgI5CAISBgoECAgBARIDCgEIEgASABIECgIICBIDCgEIEgMKAQgSAwoBARIDCgEBEgASAwoBARIDCgEIGQADU0VQAgJfXwAHZmVlUmFuawCQTgAJd3hBc3NldElkASB6bQLDKkAdN6wf+7trwy200VZFDNDd29aFKJLgHB2a4wAKc2J0QXNzZXRJZAEg7b51XE58aMp9lj9uI5FGnnl/9BHmO+37TVRB3Im5ctkADXdhdmVzRXhjaGFuZ2UBGgFU/Dsuc5FpNxWwmLp+YyVh+q94Okzod8AfABVjbGFpbVd4UmV3YXJkQ29udHJhY3QBGgFU/Dsuc5FpNxWwmLp+YyVh+q94Okzod8AfABBpc0NvbnN0cnVjdGVkS2V5Ag5pc19jb25zdHJ1Y3RlZAAPYWRtaW5BZGRyZXNzS2V5Ag1hZG1pbl9hZGRyZXNzAA5zYld4QXNzZXRJZEtleQIOc2Jfd3hfYXNzZXRfaWQACmxwUG9vbHNLZXkCCGxwX3Bvb2xzABdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQIWYWRkaXRpb25hbF9yZXdhcmRfcG9vbAAaYWRkaXRpb25hbFJld2FyZFBvb2xGZWVLZXkCGmFkZGl0aW9uYWxfcmV3YXJkX3Bvb2xfZmVlAA9zYnRTdGFrZVBvb2xLZXkCDnNidF9zdGFrZV9wb29sABJzYnRTdGFrZVBvb2xGZWVLZXkCEnNidF9zdGFrZV9wb29sX2ZlZQAbc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkS2V5AhxzYnRfc3Rha2VfcG9vbF90b3RhbF9jbGFpbWVkABB0b3RhbFdYTG9ja2VkS2V5Ag90b3RhbF93eF9sb2NrZWQAGWluaXRpYWxTQlRUb2tlbnNBbW91bnRLZXkCGWluaXRpYWxfU0JUX3Rva2Vuc19hbW91bnQAJmJhc2VTQlRUb2tlbkFtb3VudEZvck9uZVJld2FyZFRva2VuS2V5AipiYXNlX1NCVF90b2tlbl9hbW91bnRfZm9yX29uZV9yZXdhcmRfdG9rZW4BCWFzUGF5bWVudAEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAg9BdHRhY2hlZFBheW1lbnQEAXAFByRtYXRjaDAFAXAJAAIBAiFmYWlsIHRvIGNhc3QgaW50byBBdHRhY2hlZFBheW1lbnQBDGFzQnl0ZVZlY3RvcgEBdgQHJG1hdGNoMAUBdgMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFwBQckbWF0Y2gwBQFwCQACAQIcZmFpbCB0byBjYXN0IGludG8gQnl0ZVZlY3RvcgEFYXNJbnQBA3ZhbAQHJG1hdGNoMAUDdmFsAwkAAQIFByRtYXRjaDACA0ludAQGdmFsSW50BQckbWF0Y2gwBQZ2YWxJbnQJAAIBAhVmYWlsIHRvIGNhc3QgaW50byBJbnQBD2FzQWRkcmVzc1N0cmluZwEHYWRkcmVzcwQHJG1hdGNoMAkApggBBQdhZGRyZXNzAwkAAQIFByRtYXRjaDACB0FkZHJlc3MEAWEFByRtYXRjaDAJAKUIAQUBYQkAAgECIGZhaWwgdG8gY2FzdCBpbnRvIEFkZHJlc3MgU3RyaW5nAR9jYWxjdWxhdGVDdXJyZW50UmV3YXJkU0JUQW1vdW50ARByZXdhcmRUb2tlbkNvdW50BCNiYXNlU0JUVG9rZW5BbW91bnRGb3JPbmVSZXdhcmRUb2tlbgkBEUBleHRyTmF0aXZlKDEwNTApAgUEdGhpcwUmYmFzZVNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW5LZXkEFmluaXRpYWxTQlRUb2tlbnNBbW91bnQJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFGWluaXRpYWxTQlRUb2tlbnNBbW91bnRLZXkEF2N1cnJlbnRTQlRUb2tlbnNCYWxhbmNlCQDwBwIFBHRoaXMFCnNidEFzc2V0SWQDCQAAAgUXY3VycmVudFNCVFRva2Vuc0JhbGFuY2UAAAAABCZjdXJyZW50U0JUVG9rZW5BbW91bnRGb3JPbmVSZXdhcmRUb2tlbgkAawMFI2Jhc2VTQlRUb2tlbkFtb3VudEZvck9uZVJld2FyZFRva2VuBRdjdXJyZW50U0JUVG9rZW5zQmFsYW5jZQUWaW5pdGlhbFNCVFRva2Vuc0Ftb3VudAQJYW1vdW50U0JUCQBoAgUQcmV3YXJkVG9rZW5Db3VudAUmY3VycmVudFNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW4DCQBmAgUJYW1vdW50U0JUBRdjdXJyZW50U0JUVG9rZW5zQmFsYW5jZQUXY3VycmVudFNCVFRva2Vuc0JhbGFuY2UFCWFtb3VudFNCVAEQaXNBdXRob3JpemVkUG9vbAEEcG9vbAQLY2hlY2tlZFBvb2wJAQ9hc0FkZHJlc3NTdHJpbmcBBQRwb29sBAdscFBvb2xzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQpscFBvb2xzS2V5CQEIY29udGFpbnMCBQdscFBvb2xzBQtjaGVja2VkUG9vbAELZ2V0UG9vbERhdGEBBHBvb2wDCQEBIQEJARBpc0F1dGhvcml6ZWRQb29sAQUEcG9vbAkAAgECE05vdCBhdXRob3JpemVkIHBvb2wEC3Bvb2xMcFRva2VuCQERQGV4dHJOYXRpdmUoMTA1MykCCQERQGV4dHJOYXRpdmUoMTA2MikBBQRwb29sAgV0b2tlbgQYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBQRwb29sCQCUCgIFC3Bvb2xMcFRva2VuBRh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MMAWkBC2NvbnN0cnVjdG9yBAxhZG1pbkFkZHJlc3MMc2J0U3Rha2VQb29sFmluaXRpYWxTQlRUb2tlbnNBbW91bnQac2J0VG9rZW5zRm9yT25lUmV3YXJkVG9rZW4DCQEJaXNEZWZpbmVkAQkAoAgBBRBpc0NvbnN0cnVjdGVkS2V5CQACAQIiQ29uc3RydWN0b3IgY2FuIGJlIGNhbGxlZCBvbmUgdGltZQQEc2JXeAkAwwgHAgh0ZXN0U2JXWAIAAAAACAYFBHVuaXQAAAQHYXNzZXRJZAkAuAgBBQRzYld4CQDMCAIFBHNiV3gJAMwIAgkBC1N0cmluZ0VudHJ5AgUOc2JXeEFzc2V0SWRLZXkJANgEAQUHYXNzZXRJZAkAzAgCCQELU3RyaW5nRW50cnkCBQ9hZG1pbkFkZHJlc3NLZXkJAQ9hc0FkZHJlc3NTdHJpbmcBBQxhZG1pbkFkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgUPc2J0U3Rha2VQb29sS2V5CQEPYXNBZGRyZXNzU3RyaW5nAQUMc2J0U3Rha2VQb29sCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJzYnRTdGFrZVBvb2xGZWVLZXkA+AoJAMwIAgkBDEludGVnZXJFbnRyeQIFG3NidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZEtleQAACQDMCAIJAQtTdHJpbmdFbnRyeQIFCmxwUG9vbHNLZXkCAAkAzAgCCQELU3RyaW5nRW50cnkCBRdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQIACQDMCAIJAQxJbnRlZ2VyRW50cnkCBRphZGRpdGlvbmFsUmV3YXJkUG9vbEZlZUtleQDYBAkAzAgCCQEMQm9vbGVhbkVudHJ5AgUQaXNDb25zdHJ1Y3RlZEtleQYJAMwIAgkBDEludGVnZXJFbnRyeQIFEHRvdGFsV1hMb2NrZWRLZXkAAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUZaW5pdGlhbFNCVFRva2Vuc0Ftb3VudEtleQUWaW5pdGlhbFNCVFRva2Vuc0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgUmYmFzZVNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW5LZXkFGnNidFRva2Vuc0Zvck9uZVJld2FyZFRva2VuBQNuaWwBaQEUY2hhbmdlU0JUUG9vbEFkZHJlc3MBB2FkZHJlc3MJAMwIAgkBC1N0cmluZ0VudHJ5AgkBEUBleHRyTmF0aXZlKDEwNTgpAQUPc2J0U3Rha2VQb29sS2V5BQdhZGRyZXNzBQNuaWwBaQEIbWludFNiV3gAAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABCQACAQIUT25lIFBheW1lbnQgZXhwZWN0ZWQEB3BheW1lbnQJAQlhc1BheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAAEBmFtb3VudAgFB3BheW1lbnQGYW1vdW50AwMJAQIhPQIIBQdwYXltZW50B2Fzc2V0SWQFCXd4QXNzZXRJZAYJAGcCAAAFBmFtb3VudAkAAgECGFdyb25nIEFzc2V0IGlkIG9yIGFtb3VudAQNdG90YWxXWExvY2tlZAkBEUBleHRyTmF0aXZlKDEwNTUpAQUQdG90YWxXWExvY2tlZEtleQQLc2JXeEFzc2V0SWQJARFAZXh0ck5hdGl2ZSgxMDU4KQEFDnNiV3hBc3NldElkS2V5BBF3YXZlc0V4Y2hhbmdlSW5mbwkA/AcECQEHQWRkcmVzcwEFDXdhdmVzRXhjaGFuZ2UCF3VzZXJNYXhEdXJhdGlvblJFQURPTkxZBQNuaWwFA25pbAMJAAACBRF3YXZlc0V4Y2hhbmdlSW5mbwURd2F2ZXNFeGNoYW5nZUluZm8EByRtYXRjaDAFEXdhdmVzRXhjaGFuZ2VJbmZvAwkAAQIFByRtYXRjaDACDShTdHJpbmcsIEludCkEBXR1cGxlBQckbWF0Y2gwBAxmdW5jdGlvbk5hbWUIBQV0dXBsZQJfMQQPbWF4TG9ja0R1cmF0aW9uCAUFdHVwbGUCXzIEBnJlc3VsdAkA/AcECQEHQWRkcmVzcwEFDXdhdmVzRXhjaGFuZ2UFDGZ1bmN0aW9uTmFtZQkAzAgCBQ9tYXhMb2NrRHVyYXRpb24FA25pbAkAzAgCBQdwYXltZW50BQNuaWwDCQAAAgUGcmVzdWx0BQZyZXN1bHQEBHNiV3gJANkEAQULc2JXeEFzc2V0SWQJAMwIAgkBB1JlaXNzdWUDBQRzYld4BQZhbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwUGYW1vdW50BQRzYld4CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRB0b3RhbFdYTG9ja2VkS2V5CQBkAgUNdG90YWxXWExvY2tlZAUGYW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAhhGQVRBTDogSW5jb25zaXN0ZW50IGRhdGEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEVY2xhaW1XeFN0YWtpbmdSZXdhcmRzAAQTY3VycmVudFd4T25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQDCQAAAgUTY3VycmVudFd4T25Db250cmFjdAUTY3VycmVudFd4T25Db250cmFjdAQLY2xhaW1SZXN1bHQJAPwHBAkBB0FkZHJlc3MBBRVjbGFpbVd4UmV3YXJkQ29udHJhY3QCC2NsYWltUmV3YXJkBQNuaWwFA25pbAMJAAACBQtjbGFpbVJlc3VsdAULY2xhaW1SZXN1bHQED25ld1d4T25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQEB2NsYWltZWQJAGUCBQ9uZXdXeE9uQ29udHJhY3QFE2N1cnJlbnRXeE9uQ29udHJhY3QDCQAAAgUHY2xhaW1lZAAACQACAQIQTm90aGluZyB0byBjbGFpbQQYc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkCQERQGV4dHJOYXRpdmUoMTA1NSkBBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkJAMwIAgkBDEludGVnZXJFbnRyeQIFG3NidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZEtleQkAZAIFGHNidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZAUHY2xhaW1lZAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBCQERQGV4dHJOYXRpdmUoMTA1OCkBBQ9zYnRTdGFrZVBvb2xLZXkFB2NsYWltZWQFCXd4QXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2FkZFBvb2wCB2FkZHJlc3MYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzAwkBAiE9AgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQ9hZG1pbkFkZHJlc3NLZXkJAAIBAiFPbmx5IEFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24EB2xwUG9vbHMJARFAZXh0ck5hdGl2ZSgxMDU4KQEFCmxwUG9vbHNLZXkDCQEQaXNBdXRob3JpemVkUG9vbAEFB2FkZHJlc3MJAAIBAhJQb29sIGFscmVhZHkgYWRkZWQECG5ld1Bvb2xzAwkAAAIJALECAQUHbHBQb29scwAABQdhZGRyZXNzCQCsAgIJAKwCAgUHbHBQb29scwUDU0VQBQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFCmxwUG9vbHNLZXkFCG5ld1Bvb2xzCQDMCAIJAQtTdHJpbmdFbnRyeQIJAQ9hc0FkZHJlc3NTdHJpbmcBBQdhZGRyZXNzCQEPYXNBZGRyZXNzU3RyaW5nAQUYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzBQNuaWwBaQEKcmVtb3ZlUG9vbAEHYWRkcmVzcwMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uBAdscFBvb2xzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQpscFBvb2xzS2V5AwkBASEBCQEQaXNBdXRob3JpemVkUG9vbAEFB2FkZHJlc3MJAAIBAg5Qb29sIG5vdCBmb3VuZAQKcG9vbHNBcnJheQkAvAkCBQdscFBvb2xzBQNTRVAECXBvb2xJbmRleAkBBWFzSW50AQkAzwgCBQpwb29sc0FycmF5BQdhZGRyZXNzBAhuZXdQb29scwkAugkCCQDRCAIFCnBvb2xzQXJyYXkFCXBvb2xJbmRleAUDU0VQCQDOCAIJAMwIAgkBC1N0cmluZ0VudHJ5AgUKbHBQb29sc0tleQUIbmV3UG9vbHMJAMwIAgkBC0RlbGV0ZUVudHJ5AQUHYWRkcmVzcwUDbmlsAwkAAAIJARFAZXh0ck5hdGl2ZSgxMDU4KQEFF2FkZGl0aW9uYWxSZXdhcmRQb29sS2V5BQdhZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFF2FkZGl0aW9uYWxSZXdhcmRQb29sS2V5AgAFA25pbAUDbmlsAWkBGHNldEFkZGl0aW9uYWxSZXdhcmRzUG9vbAEHYWRkcmVzcwMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwkBASEBCQEQaXNBdXRob3JpemVkUG9vbAEFB2FkZHJlc3MJAAIBAjtPbmx5IGF1dGhvcml6ZWQgcG9vbCBjYW4gYmUgYWRkZWQgYXMgYWRkaXRpb25hbCByZXdhcmQgcG9vbAkAzAgCCQELU3RyaW5nRW50cnkCBRdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQUHYWRkcmVzcwUDbmlsAWkBG3NldEFkZGl0aW9uYWxSZXdhcmRzUG9vbEZlZQEDZmVlAwkBAiE9AgkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQ9hZG1pbkFkZHJlc3NLZXkJAAIBAiFPbmx5IEFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24DCQBmAgUDZmVlANAPCQACAQIcRmVlIGNhbid0IGJlIGJpZ2dlciB0aGFuIDIwJQMJAGYCAAAFA2ZlZQkAAgECFUZlZSBjYW4ndCBiZSBuZWdhdGl2ZQkAzAgCCQEMSW50ZWdlckVudHJ5AgUaYWRkaXRpb25hbFJld2FyZFBvb2xGZWVLZXkFA2ZlZQUDbmlsAWkBDXNldFNidFBvb2xGZWUBA2ZlZQMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwkAZgIFA2ZlZQDQDwkAAgECHEZlZSBjYW4ndCBiZSBiaWdnZXIgdGhhbiAyMCUDCQBmAgAABQNmZWUJAAIBAhVGZWUgY2FuJ3QgYmUgbmVnYXRpdmUJAMwIAgkBDEludGVnZXJFbnRyeQIFEnNidFN0YWtlUG9vbEZlZUtleQUDZmVlBQNuaWwBaQEMc3Rha2VQb29sTHBzAAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECFE9uZSBQYXltZW50IGV4cGVjdGVkBAhwb29sRGF0YQkBC2dldFBvb2xEYXRhAQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAtwb29sTHBUb2tlbggFCHBvb2xEYXRhAl8xBBh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MIBQhwb29sRGF0YQJfMgQHcGF5bWVudAkBCWFzUGF5bWVudAEJAJEDAggFAWkIcGF5bWVudHMAAAMDCQECIT0CCAUHcGF5bWVudAdhc3NldElkCQDZBAEFC3Bvb2xMcFRva2VuBgkAZwIAAAgFB3BheW1lbnQGYW1vdW50CQACAQIbV3JvbmcgTFAgQXNzZXQgaWQgb3IgYW1vdW50BAZyZXN1bHQJAPwHBAUYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzAgVzdGFrZQUDbmlsCQDMCAIFB3BheW1lbnQFA25pbAMJAAACBQZyZXN1bHQFBnJlc3VsdAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBD3dpdGhkcmF3UG9vbExwcwEGYW1vdW50BAhwb29sRGF0YQkBC2dldFBvb2xEYXRhAQkA2AQBCAgFAWkGY2FsbGVyBWJ5dGVzBAtwb29sTHBUb2tlbggFCHBvb2xEYXRhAl8xBBh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MIBQhwb29sRGF0YQJfMgQGcmVzdWx0CQD8BwQFGHdhdmVzRXhjaGFuZ2VQb29sQWRkcmVzcwIHdW5zdGFrZQkAzAgCBQtwb29sTHBUb2tlbgkAzAgCBQZhbW91bnQFA25pbAUDbmlsAwkAAAIFBnJlc3VsdAUGcmVzdWx0CQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAQdBZGRyZXNzAQgIBQFpBmNhbGxlcgVieXRlcwUGYW1vdW50CQDZBAEFC3Bvb2xMcFRva2VuBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEQY2xhaW1Qb29sUmV3YXJkcwEEcG9vbAQLcG9vbEFkZHJlc3MJARFAZXh0ck5hdGl2ZSgxMDYyKQEFBHBvb2wECHBvb2xEYXRhCQELZ2V0UG9vbERhdGEBBQRwb29sBAtwb29sTHBUb2tlbggFCHBvb2xEYXRhAl8xBBh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MIBQhwb29sRGF0YQJfMgQTY3VycmVudFdYT25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQDCQAAAgUTY3VycmVudFdYT25Db250cmFjdAUTY3VycmVudFdYT25Db250cmFjdAQLY2xhaW1SZXN1bHQJAPwHBAUYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzAgdjbGFpbVdYCQDMCAIFC3Bvb2xMcFRva2VuBQNuaWwFA25pbAMJAAACBQtjbGFpbVJlc3VsdAULY2xhaW1SZXN1bHQED25ld1dYT25Db250cmFjdAkA8AcCBQR0aGlzBQl3eEFzc2V0SWQEB2NsYWltZWQJAGUCBQ9uZXdXWE9uQ29udHJhY3QFE2N1cnJlbnRXWE9uQ29udHJhY3QDCQAAAgUHY2xhaW1lZAAACQACAQIQTm90aGluZyB0byBjbGFpbQQPc2J0UmV3YXJkQW1vdW50CQEfY2FsY3VsYXRlQ3VycmVudFJld2FyZFNCVEFtb3VudAEFB2NsYWltZWQEEHNidFJld2FyZEFjdGlvbnMDCQAAAgUPc2J0UmV3YXJkQW1vdW50AAAFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtwb29sQWRkcmVzcwUPc2J0UmV3YXJkQW1vdW50BQpzYnRBc3NldElkBQNuaWwEDHNidFN0YWtlUG9vbAkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUPc2J0U3Rha2VQb29sS2V5BA9zYnRTdGFrZVBvb2xGZWUJARFAZXh0ck5hdGl2ZSgxMDU1KQEFEnNidFN0YWtlUG9vbEZlZUtleQQYc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkCQERQGV4dHJOYXRpdmUoMTA1NSkBBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkEEnNidFN0YWtlUG9vbEFtb3VudAkAbgQFB2NsYWltZWQFD3NidFN0YWtlUG9vbEZlZQUHZmVlUmFuawUGSEFMRlVQBBNzYnRTdGFrZVBvb2xBY3Rpb25zAwkAAAIFEnNidFN0YWtlUG9vbEFtb3VudAAABQNuaWwJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUMc2J0U3Rha2VQb29sBRJzYnRTdGFrZVBvb2xBbW91bnQFCXd4QXNzZXRJZAUDbmlsBBRhZGRpdGlvbmFsUmV3YXJkUG9vbAkBEUBleHRyTmF0aXZlKDEwNTgpAQUXYWRkaXRpb25hbFJld2FyZFBvb2xLZXkEGGFkZGl0aW9uYWxSZXdhcmRQb29sRnJlZQkBEUBleHRyTmF0aXZlKDEwNTUpAQUaYWRkaXRpb25hbFJld2FyZFBvb2xGZWVLZXkEGmFkZGl0aW9uYWxSZXdhcmRQb29sQW1vdW50AwkAAAIJALECAQUUYWRkaXRpb25hbFJld2FyZFBvb2wAAAAAAwkBAiE9AgUUYWRkaXRpb25hbFJld2FyZFBvb2wFBHBvb2wJAG4EBQdjbGFpbWVkBRhhZGRpdGlvbmFsUmV3YXJkUG9vbEZyZWUFB2ZlZVJhbmsFBkhBTEZVUAAABBxhZGRpdGlvbmFsUmV3YXJkc1Bvb2xBY3Rpb25zAwkAAAIFGmFkZGl0aW9uYWxSZXdhcmRQb29sQW1vdW50AAAFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQERQGV4dHJOYXRpdmUoMTA2MikBBRRhZGRpdGlvbmFsUmV3YXJkUG9vbAUaYWRkaXRpb25hbFJld2FyZFBvb2xBbW91bnQFCXd4QXNzZXRJZAUDbmlsBAtwb29sQ2xhaW1lZAkAZQIJAGUCBQdjbGFpbWVkBRJzYnRTdGFrZVBvb2xBbW91bnQFGmFkZGl0aW9uYWxSZXdhcmRQb29sQW1vdW50CQDOCAIJAM4IAgkAzggCBRBzYnRSZXdhcmRBY3Rpb25zBRNzYnRTdGFrZVBvb2xBY3Rpb25zBRxhZGRpdGlvbmFsUmV3YXJkc1Bvb2xBY3Rpb25zCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkJAGQCBRhzYnRTdGFrZVBvb2xUb3RhbENsYWltZWQFEnNidFN0YWtlUG9vbEFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQtwb29sQWRkcmVzcwULcG9vbENsYWltZWQFCXd4QXNzZXRJZAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAJr9IZo=", "height": 2837282, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2vEt6ShmPrHdpMYcndhbUHtAKLch7hXdam5nVxhBpZ9z Next: EAdvzzmBtUyshwxbECnqyAVPPqin7LdNatUhPRF2rCR7 Diff:
OldNewDifferences
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 }
124+
125+
126+
127+@Callable(R)
128+func changeSBTPoolAddress (B) = [StringEntry(getStringValue(m), B)]
124129
125130
126131
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 }
124+
125+
126+
127+@Callable(R)
128+func changeSBTPoolAddress (B) = [StringEntry(getStringValue(m), B)]
124129
125130
126131
127132 @Callable(R)
128133 func mintSbWx () = if ((size(R.payments) != 1))
129134 then throw("One Payment expected")
130135 else {
131136 let X = s(R.payments[0])
132137 let Y = X.amount
133138 if (if ((X.assetId != c))
134139 then true
135140 else (0 >= Y))
136141 then throw("Wrong Asset id or amount")
137142 else {
138143 let Z = getIntegerValue(p)
139144 let aa = getStringValue(i)
140145 let ab = invoke(Address(e), "userMaxDurationREADONLY", nil, nil)
141146 if ((ab == ab))
142147 then {
143148 let u = ab
144149 if ($isInstanceOf(u, "(String, Int)"))
145150 then {
146151 let ac = u
147152 let ad = ac._1
148153 let ae = ac._2
149154 let af = invoke(Address(e), ad, [ae], [X])
150155 if ((af == af))
151156 then {
152157 let V = fromBase58String(aa)
153158 [Reissue(V, Y, true), ScriptTransfer(Address(R.caller.bytes), Y, V), IntegerEntry(p, (Z + Y))]
154159 }
155160 else throw("Strict value is not equal to itself.")
156161 }
157162 else throw("FATAL: Inconsistent data")
158163 }
159164 else throw("Strict value is not equal to itself.")
160165 }
161166 }
162167
163168
164169
165170 @Callable(R)
166171 func claimWxStakingRewards () = {
167172 let ag = assetBalance(this, c)
168173 if ((ag == ag))
169174 then {
170175 let ah = invoke(Address(f), "claimReward", nil, nil)
171176 if ((ah == ah))
172177 then {
173178 let ai = assetBalance(this, c)
174179 let aj = (ai - ag)
175180 if ((aj == 0))
176181 then throw("Nothing to claim")
177182 else {
178183 let ak = getIntegerValue(o)
179184 [IntegerEntry(o, (ak + aj)), ScriptTransfer(addressFromStringValue(getStringValue(m)), aj, c)]
180185 }
181186 }
182187 else throw("Strict value is not equal to itself.")
183188 }
184189 else throw("Strict value is not equal to itself.")
185190 }
186191
187192
188193
189194 @Callable(R)
190195 func addPool (B,Q) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
191196 then throw("Only Admin can call this function")
192197 else {
193198 let N = getStringValue(j)
194199 if (K(B))
195200 then throw("Pool already added")
196201 else {
197202 let al = if ((size(N) == 0))
198203 then B
199204 else ((N + a) + B)
200205 [StringEntry(j, al), StringEntry(A(B), A(Q))]
201206 }
202207 }
203208
204209
205210
206211 @Callable(R)
207212 func removePool (B) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
208213 then throw("Only Admin can call this function")
209214 else {
210215 let N = getStringValue(j)
211216 if (!(K(B)))
212217 then throw("Pool not found")
213218 else {
214219 let am = split_4C(N, a)
215220 let an = x(indexOf(am, B))
216221 let al = makeString_2C(removeByIndex(am, an), a)
217222 ([StringEntry(j, al), DeleteEntry(B)] ++ (if ((getStringValue(k) == B))
218223 then [StringEntry(k, "")]
219224 else nil))
220225 }
221226 }
222227
223228
224229
225230 @Callable(R)
226231 func setAdditionalRewardsPool (B) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
227232 then throw("Only Admin can call this function")
228233 else if (!(K(B)))
229234 then throw("Only authorized pool can be added as additional reward pool")
230235 else [StringEntry(k, B)]
231236
232237
233238
234239 @Callable(R)
235240 func setAdditionalRewardsPoolFee (ao) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
236241 then throw("Only Admin can call this function")
237242 else if ((ao > 2000))
238243 then throw("Fee can't be bigger than 20%")
239244 else if ((0 > ao))
240245 then throw("Fee can't be negative")
241246 else [IntegerEntry(l, ao)]
242247
243248
244249
245250 @Callable(R)
246251 func setSbtPoolFee (ao) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
247252 then throw("Only Admin can call this function")
248253 else if ((ao > 2000))
249254 then throw("Fee can't be bigger than 20%")
250255 else if ((0 > ao))
251256 then throw("Fee can't be negative")
252257 else [IntegerEntry(n, ao)]
253258
254259
255260
256261 @Callable(R)
257262 func stakePoolLps () = if ((size(R.payments) != 1))
258263 then throw("One Payment expected")
259264 else {
260265 let ap = O(toBase58String(R.caller.bytes))
261266 let P = ap._1
262267 let Q = ap._2
263268 let X = s(R.payments[0])
264269 if (if ((X.assetId != fromBase58String(P)))
265270 then true
266271 else (0 >= X.amount))
267272 then throw("Wrong LP Asset id or amount")
268273 else {
269274 let af = invoke(Q, "stake", nil, [X])
270275 if ((af == af))
271276 then nil
272277 else throw("Strict value is not equal to itself.")
273278 }
274279 }
275280
276281
277282
278283 @Callable(R)
279284 func withdrawPoolLps (Y) = {
280285 let ap = O(toBase58String(R.caller.bytes))
281286 let P = ap._1
282287 let Q = ap._2
283288 let af = invoke(Q, "unstake", [P, Y], nil)
284289 if ((af == af))
285290 then [ScriptTransfer(Address(R.caller.bytes), Y, fromBase58String(P))]
286291 else throw("Strict value is not equal to itself.")
287292 }
288293
289294
290295
291296 @Callable(R)
292297 func claimPoolRewards (L) = {
293298 let aq = addressFromStringValue(L)
294299 let ap = O(L)
295300 let P = ap._1
296301 let Q = ap._2
297302 let ar = assetBalance(this, c)
298303 if ((ar == ar))
299304 then {
300305 let ah = invoke(Q, "claimWX", [P], nil)
301306 if ((ah == ah))
302307 then {
303308 let as = assetBalance(this, c)
304309 let aj = (as - ar)
305310 if ((aj == 0))
306311 then throw("Nothing to claim")
307312 else {
308313 let at = D(aj)
309314 let au = if ((at == 0))
310315 then nil
311316 else [ScriptTransfer(aq, at, d)]
312317 let T = addressFromStringValue(getStringValue(m))
313318 let av = getIntegerValue(n)
314319 let ak = getIntegerValue(o)
315320 let aw = fraction(aj, av, b, HALFUP)
316321 let ax = if ((aw == 0))
317322 then nil
318323 else [ScriptTransfer(T, aw, c)]
319324 let ay = getStringValue(k)
320325 let az = getIntegerValue(l)
321326 let aA = if ((size(ay) == 0))
322327 then 0
323328 else if ((ay != L))
324329 then fraction(aj, az, b, HALFUP)
325330 else 0
326331 let aB = if ((aA == 0))
327332 then nil
328333 else [ScriptTransfer(addressFromStringValue(ay), aA, c)]
329334 let aC = ((aj - aw) - aA)
330335 (((au ++ ax) ++ aB) ++ [IntegerEntry(o, (ak + aw)), ScriptTransfer(aq, aC, c)])
331336 }
332337 }
333338 else throw("Strict value is not equal to itself.")
334339 }
335340 else throw("Strict value is not equal to itself.")
336341 }
337342
338343

github/deemru/w8io/c3f4982 
50.80 ms