tx · 2vEt6ShmPrHdpMYcndhbUHtAKLch7hXdam5nVxhBpZ9z

3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS:  -0.01000000 Waves

2023.11.10 15:56 [2837276] smart account 3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS > SELF 0.00000000 Waves

{ "type": 13, "id": "2vEt6ShmPrHdpMYcndhbUHtAKLch7hXdam5nVxhBpZ9z", "fee": 1000000, "feeAssetId": null, "timestamp": 1699621012311, "version": 2, "chainId": 84, "sender": "3N4r7DNT8t9WqaQWr8or1Hakm4AJfVDk6mS", "senderPublicKey": "CMMtdSwXAf6tvNvyJDrdC5VGmRkcXU5CqmsapxKNPhLu", "proofs": [ "3aZjAfSe4cU5nah6CGU1LtgKvY5UAt4RroamMTr76BET4iHddCbjgzzfFfRPeWaKe1LLYZZ3TzcovQWTpDfbWYD7" ], "script": "base64:BgI0CAISBgoECAgBARIAEgASBAoCCAgSAwoBCBIDCgEIEgMKAQESAwoBARIAEgMKAQESAwoBCBkAA1NFUAICX18AB2ZlZVJhbmsAkE4ACXd4QXNzZXRJZAEgem0CwypAHTesH/u7a8MttNFWRQzQ3dvWhSiS4BwdmuMACnNidEFzc2V0SWQBIO2+dVxOfGjKfZY/biORRp55f/QR5jvt+01UQdyJuXLZAA13YXZlc0V4Y2hhbmdlARoBVPw7LnORaTcVsJi6fmMlYfqveDpM6HfAHwAVY2xhaW1XeFJld2FyZENvbnRyYWN0ARoBVPw7LnORaTcVsJi6fmMlYfqveDpM6HfAHwAQaXNDb25zdHJ1Y3RlZEtleQIOaXNfY29uc3RydWN0ZWQAD2FkbWluQWRkcmVzc0tleQINYWRtaW5fYWRkcmVzcwAOc2JXeEFzc2V0SWRLZXkCDnNiX3d4X2Fzc2V0X2lkAApscFBvb2xzS2V5AghscF9wb29scwAXYWRkaXRpb25hbFJld2FyZFBvb2xLZXkCFmFkZGl0aW9uYWxfcmV3YXJkX3Bvb2wAGmFkZGl0aW9uYWxSZXdhcmRQb29sRmVlS2V5AhphZGRpdGlvbmFsX3Jld2FyZF9wb29sX2ZlZQAPc2J0U3Rha2VQb29sS2V5Ag5zYnRfc3Rha2VfcG9vbAASc2J0U3Rha2VQb29sRmVlS2V5AhJzYnRfc3Rha2VfcG9vbF9mZWUAG3NidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZEtleQIcc2J0X3N0YWtlX3Bvb2xfdG90YWxfY2xhaW1lZAAQdG90YWxXWExvY2tlZEtleQIPdG90YWxfd3hfbG9ja2VkABlpbml0aWFsU0JUVG9rZW5zQW1vdW50S2V5Ahlpbml0aWFsX1NCVF90b2tlbnNfYW1vdW50ACZiYXNlU0JUVG9rZW5BbW91bnRGb3JPbmVSZXdhcmRUb2tlbktleQIqYmFzZV9TQlRfdG9rZW5fYW1vdW50X2Zvcl9vbmVfcmV3YXJkX3Rva2VuAQlhc1BheW1lbnQBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIPQXR0YWNoZWRQYXltZW50BAFwBQckbWF0Y2gwBQFwCQACAQIhZmFpbCB0byBjYXN0IGludG8gQXR0YWNoZWRQYXltZW50AQxhc0J5dGVWZWN0b3IBAXYEByRtYXRjaDAFAXYDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBcAUHJG1hdGNoMAUBcAkAAgECHGZhaWwgdG8gY2FzdCBpbnRvIEJ5dGVWZWN0b3IBBWFzSW50AQN2YWwEByRtYXRjaDAFA3ZhbAMJAAECBQckbWF0Y2gwAgNJbnQEBnZhbEludAUHJG1hdGNoMAUGdmFsSW50CQACAQIVZmFpbCB0byBjYXN0IGludG8gSW50AQ9hc0FkZHJlc3NTdHJpbmcBB2FkZHJlc3MEByRtYXRjaDAJAKYIAQUHYWRkcmVzcwMJAAECBQckbWF0Y2gwAgdBZGRyZXNzBAFhBQckbWF0Y2gwCQClCAEFAWEJAAIBAiBmYWlsIHRvIGNhc3QgaW50byBBZGRyZXNzIFN0cmluZwEfY2FsY3VsYXRlQ3VycmVudFJld2FyZFNCVEFtb3VudAEQcmV3YXJkVG9rZW5Db3VudAQjYmFzZVNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW4JARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHRoaXMFJmJhc2VTQlRUb2tlbkFtb3VudEZvck9uZVJld2FyZFRva2VuS2V5BBZpbml0aWFsU0JUVG9rZW5zQW1vdW50CQERQGV4dHJOYXRpdmUoMTA1MCkCBQR0aGlzBRlpbml0aWFsU0JUVG9rZW5zQW1vdW50S2V5BBdjdXJyZW50U0JUVG9rZW5zQmFsYW5jZQkA8AcCBQR0aGlzBQpzYnRBc3NldElkAwkAAAIFF2N1cnJlbnRTQlRUb2tlbnNCYWxhbmNlAAAAAAQmY3VycmVudFNCVFRva2VuQW1vdW50Rm9yT25lUmV3YXJkVG9rZW4JAGsDBSNiYXNlU0JUVG9rZW5BbW91bnRGb3JPbmVSZXdhcmRUb2tlbgUXY3VycmVudFNCVFRva2Vuc0JhbGFuY2UFFmluaXRpYWxTQlRUb2tlbnNBbW91bnQECWFtb3VudFNCVAkAaAIFEHJld2FyZFRva2VuQ291bnQFJmN1cnJlbnRTQlRUb2tlbkFtb3VudEZvck9uZVJld2FyZFRva2VuAwkAZgIFCWFtb3VudFNCVAUXY3VycmVudFNCVFRva2Vuc0JhbGFuY2UFF2N1cnJlbnRTQlRUb2tlbnNCYWxhbmNlBQlhbW91bnRTQlQBEGlzQXV0aG9yaXplZFBvb2wBBHBvb2wEC2NoZWNrZWRQb29sCQEPYXNBZGRyZXNzU3RyaW5nAQUEcG9vbAQHbHBQb29scwkBEUBleHRyTmF0aXZlKDEwNTgpAQUKbHBQb29sc0tleQkBCGNvbnRhaW5zAgUHbHBQb29scwULY2hlY2tlZFBvb2wBC2dldFBvb2xEYXRhAQRwb29sAwkBASEBCQEQaXNBdXRob3JpemVkUG9vbAEFBHBvb2wJAAIBAhNOb3QgYXV0aG9yaXplZCBwb29sBAtwb29sTHBUb2tlbgkBEUBleHRyTmF0aXZlKDEwNTMpAgkBEUBleHRyTmF0aXZlKDEwNjIpAQUEcG9vbAIFdG9rZW4EGHdhdmVzRXhjaGFuZ2VQb29sQWRkcmVzcwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUEcG9vbAkAlAoCBQtwb29sTHBUb2tlbgUYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzCwFpAQtjb25zdHJ1Y3RvcgQMYWRtaW5BZGRyZXNzDHNidFN0YWtlUG9vbBZpbml0aWFsU0JUVG9rZW5zQW1vdW50GnNidFRva2Vuc0Zvck9uZVJld2FyZFRva2VuAwkBCWlzRGVmaW5lZAEJAKAIAQUQaXNDb25zdHJ1Y3RlZEtleQkAAgECIkNvbnN0cnVjdG9yIGNhbiBiZSBjYWxsZWQgb25lIHRpbWUEBHNiV3gJAMMIBwIIdGVzdFNiV1gCAAAAAAgGBQR1bml0AAAEB2Fzc2V0SWQJALgIAQUEc2JXeAkAzAgCBQRzYld4CQDMCAIJAQtTdHJpbmdFbnRyeQIFDnNiV3hBc3NldElkS2V5CQDYBAEFB2Fzc2V0SWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUPYWRtaW5BZGRyZXNzS2V5CQEPYXNBZGRyZXNzU3RyaW5nAQUMYWRtaW5BZGRyZXNzCQDMCAIJAQtTdHJpbmdFbnRyeQIFD3NidFN0YWtlUG9vbEtleQkBD2FzQWRkcmVzc1N0cmluZwEFDHNidFN0YWtlUG9vbAkAzAgCCQEMSW50ZWdlckVudHJ5AgUSc2J0U3Rha2VQb29sRmVlS2V5APgKCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkAAAkAzAgCCQELU3RyaW5nRW50cnkCBQpscFBvb2xzS2V5AgAJAMwIAgkBC1N0cmluZ0VudHJ5AgUXYWRkaXRpb25hbFJld2FyZFBvb2xLZXkCAAkAzAgCCQEMSW50ZWdlckVudHJ5AgUaYWRkaXRpb25hbFJld2FyZFBvb2xGZWVLZXkA2AQJAMwIAgkBDEJvb2xlYW5FbnRyeQIFEGlzQ29uc3RydWN0ZWRLZXkGCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRB0b3RhbFdYTG9ja2VkS2V5AAAJAMwIAgkBDEludGVnZXJFbnRyeQIFGWluaXRpYWxTQlRUb2tlbnNBbW91bnRLZXkFFmluaXRpYWxTQlRUb2tlbnNBbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIFJmJhc2VTQlRUb2tlbkFtb3VudEZvck9uZVJld2FyZFRva2VuS2V5BRpzYnRUb2tlbnNGb3JPbmVSZXdhcmRUb2tlbgUDbmlsAWkBCG1pbnRTYld4AAMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQkAAgECFE9uZSBQYXltZW50IGV4cGVjdGVkBAdwYXltZW50CQEJYXNQYXltZW50AQkAkQMCCAUBaQhwYXltZW50cwAABAZhbW91bnQIBQdwYXltZW50BmFtb3VudAMDCQECIT0CCAUHcGF5bWVudAdhc3NldElkBQl3eEFzc2V0SWQGCQBnAgAABQZhbW91bnQJAAIBAhhXcm9uZyBBc3NldCBpZCBvciBhbW91bnQEDXRvdGFsV1hMb2NrZWQJARFAZXh0ck5hdGl2ZSgxMDU1KQEFEHRvdGFsV1hMb2NrZWRLZXkEC3NiV3hBc3NldElkCQERQGV4dHJOYXRpdmUoMTA1OCkBBQ5zYld4QXNzZXRJZEtleQQRd2F2ZXNFeGNoYW5nZUluZm8JAPwHBAkBB0FkZHJlc3MBBQ13YXZlc0V4Y2hhbmdlAhd1c2VyTWF4RHVyYXRpb25SRUFET05MWQUDbmlsBQNuaWwDCQAAAgURd2F2ZXNFeGNoYW5nZUluZm8FEXdhdmVzRXhjaGFuZ2VJbmZvBAckbWF0Y2gwBRF3YXZlc0V4Y2hhbmdlSW5mbwMJAAECBQckbWF0Y2gwAg0oU3RyaW5nLCBJbnQpBAV0dXBsZQUHJG1hdGNoMAQMZnVuY3Rpb25OYW1lCAUFdHVwbGUCXzEED21heExvY2tEdXJhdGlvbggFBXR1cGxlAl8yBAZyZXN1bHQJAPwHBAkBB0FkZHJlc3MBBQ13YXZlc0V4Y2hhbmdlBQxmdW5jdGlvbk5hbWUJAMwIAgUPbWF4TG9ja0R1cmF0aW9uBQNuaWwJAMwIAgUHcGF5bWVudAUDbmlsAwkAAAIFBnJlc3VsdAUGcmVzdWx0BARzYld4CQDZBAEFC3NiV3hBc3NldElkCQDMCAIJAQdSZWlzc3VlAwUEc2JXeAUGYW1vdW50BgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEICAUBaQZjYWxsZXIFYnl0ZXMFBmFtb3VudAUEc2JXeAkAzAgCCQEMSW50ZWdlckVudHJ5AgUQdG90YWxXWExvY2tlZEtleQkAZAIFDXRvdGFsV1hMb2NrZWQFBmFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIYRkFUQUw6IEluY29uc2lzdGVudCBkYXRhCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBFWNsYWltV3hTdGFraW5nUmV3YXJkcwAEE2N1cnJlbnRXeE9uQ29udHJhY3QJAPAHAgUEdGhpcwUJd3hBc3NldElkAwkAAAIFE2N1cnJlbnRXeE9uQ29udHJhY3QFE2N1cnJlbnRXeE9uQ29udHJhY3QEC2NsYWltUmVzdWx0CQD8BwQJAQdBZGRyZXNzAQUVY2xhaW1XeFJld2FyZENvbnRyYWN0AgtjbGFpbVJld2FyZAUDbmlsBQNuaWwDCQAAAgULY2xhaW1SZXN1bHQFC2NsYWltUmVzdWx0BA9uZXdXeE9uQ29udHJhY3QJAPAHAgUEdGhpcwUJd3hBc3NldElkBAdjbGFpbWVkCQBlAgUPbmV3V3hPbkNvbnRyYWN0BRNjdXJyZW50V3hPbkNvbnRyYWN0AwkAAAIFB2NsYWltZWQAAAkAAgECEE5vdGhpbmcgdG8gY2xhaW0EGHNidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZAkBEUBleHRyTmF0aXZlKDEwNTUpAQUbc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkS2V5CQDMCAIJAQxJbnRlZ2VyRW50cnkCBRtzYnRTdGFrZVBvb2xUb3RhbENsYWltZWRLZXkJAGQCBRhzYnRTdGFrZVBvb2xUb3RhbENsYWltZWQFB2NsYWltZWQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQkBEUBleHRyTmF0aXZlKDEwNTgpAQUPc2J0U3Rha2VQb29sS2V5BQdjbGFpbWVkBQl3eEFzc2V0SWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQdhZGRQb29sAgdhZGRyZXNzGHdhdmVzRXhjaGFuZ2VQb29sQWRkcmVzcwMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uBAdscFBvb2xzCQERQGV4dHJOYXRpdmUoMTA1OCkBBQpscFBvb2xzS2V5AwkBEGlzQXV0aG9yaXplZFBvb2wBBQdhZGRyZXNzCQACAQISUG9vbCBhbHJlYWR5IGFkZGVkBAhuZXdQb29scwMJAAACCQCxAgEFB2xwUG9vbHMAAAUHYWRkcmVzcwkArAICCQCsAgIFB2xwUG9vbHMFA1NFUAUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBQpscFBvb2xzS2V5BQhuZXdQb29scwkAzAgCCQELU3RyaW5nRW50cnkCCQEPYXNBZGRyZXNzU3RyaW5nAQUHYWRkcmVzcwkBD2FzQWRkcmVzc1N0cmluZwEFGHdhdmVzRXhjaGFuZ2VQb29sQWRkcmVzcwUDbmlsAWkBCnJlbW92ZVBvb2wBB2FkZHJlc3MDCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJARFAZXh0ck5hdGl2ZSgxMDU4KQEFD2FkbWluQWRkcmVzc0tleQkAAgECIU9ubHkgQWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgQHbHBQb29scwkBEUBleHRyTmF0aXZlKDEwNTgpAQUKbHBQb29sc0tleQMJAQEhAQkBEGlzQXV0aG9yaXplZFBvb2wBBQdhZGRyZXNzCQACAQIOUG9vbCBub3QgZm91bmQECnBvb2xzQXJyYXkJALwJAgUHbHBQb29scwUDU0VQBAlwb29sSW5kZXgJAQVhc0ludAEJAM8IAgUKcG9vbHNBcnJheQUHYWRkcmVzcwQIbmV3UG9vbHMJALoJAgkA0QgCBQpwb29sc0FycmF5BQlwb29sSW5kZXgFA1NFUAkAzggCCQDMCAIJAQtTdHJpbmdFbnRyeQIFCmxwUG9vbHNLZXkFCG5ld1Bvb2xzCQDMCAIJAQtEZWxldGVFbnRyeQEFB2FkZHJlc3MFA25pbAMJAAACCQERQGV4dHJOYXRpdmUoMTA1OCkBBRdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQUHYWRkcmVzcwkAzAgCCQELU3RyaW5nRW50cnkCBRdhZGRpdGlvbmFsUmV3YXJkUG9vbEtleQIABQNuaWwFA25pbAFpARhzZXRBZGRpdGlvbmFsUmV3YXJkc1Bvb2wBB2FkZHJlc3MDCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJARFAZXh0ck5hdGl2ZSgxMDU4KQEFD2FkbWluQWRkcmVzc0tleQkAAgECIU9ubHkgQWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAQEhAQkBEGlzQXV0aG9yaXplZFBvb2wBBQdhZGRyZXNzCQACAQI7T25seSBhdXRob3JpemVkIHBvb2wgY2FuIGJlIGFkZGVkIGFzIGFkZGl0aW9uYWwgcmV3YXJkIHBvb2wJAMwIAgkBC1N0cmluZ0VudHJ5AgUXYWRkaXRpb25hbFJld2FyZFBvb2xLZXkFB2FkZHJlc3MFA25pbAFpARtzZXRBZGRpdGlvbmFsUmV3YXJkc1Bvb2xGZWUBA2ZlZQMJAQIhPQIJANgEAQgIBQFpBmNhbGxlcgVieXRlcwkBEUBleHRyTmF0aXZlKDEwNTgpAQUPYWRtaW5BZGRyZXNzS2V5CQACAQIhT25seSBBZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAwkAZgIFA2ZlZQDQDwkAAgECHEZlZSBjYW4ndCBiZSBiaWdnZXIgdGhhbiAyMCUDCQBmAgAABQNmZWUJAAIBAhVGZWUgY2FuJ3QgYmUgbmVnYXRpdmUJAMwIAgkBDEludGVnZXJFbnRyeQIFGmFkZGl0aW9uYWxSZXdhcmRQb29sRmVlS2V5BQNmZWUFA25pbAFpAQ1zZXRTYnRQb29sRmVlAQNmZWUDCQECIT0CCQDYBAEICAUBaQZjYWxsZXIFYnl0ZXMJARFAZXh0ck5hdGl2ZSgxMDU4KQEFD2FkbWluQWRkcmVzc0tleQkAAgECIU9ubHkgQWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgMJAGYCBQNmZWUA0A8JAAIBAhxGZWUgY2FuJ3QgYmUgYmlnZ2VyIHRoYW4gMjAlAwkAZgIAAAUDZmVlCQACAQIVRmVlIGNhbid0IGJlIG5lZ2F0aXZlCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRJzYnRTdGFrZVBvb2xGZWVLZXkFA2ZlZQUDbmlsAWkBDHN0YWtlUG9vbExwcwADCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEJAAIBAhRPbmUgUGF5bWVudCBleHBlY3RlZAQIcG9vbERhdGEJAQtnZXRQb29sRGF0YQEJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQLcG9vbExwVG9rZW4IBQhwb29sRGF0YQJfMQQYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzCAUIcG9vbERhdGECXzIEB3BheW1lbnQJAQlhc1BheW1lbnQBCQCRAwIIBQFpCHBheW1lbnRzAAADAwkBAiE9AggFB3BheW1lbnQHYXNzZXRJZAkA2QQBBQtwb29sTHBUb2tlbgYJAGcCAAAIBQdwYXltZW50BmFtb3VudAkAAgECG1dyb25nIExQIEFzc2V0IGlkIG9yIGFtb3VudAQGcmVzdWx0CQD8BwQFGHdhdmVzRXhjaGFuZ2VQb29sQWRkcmVzcwIFc3Rha2UFA25pbAkAzAgCBQdwYXltZW50BQNuaWwDCQAAAgUGcmVzdWx0BQZyZXN1bHQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQ93aXRoZHJhd1Bvb2xMcHMBBmFtb3VudAQIcG9vbERhdGEJAQtnZXRQb29sRGF0YQEJANgEAQgIBQFpBmNhbGxlcgVieXRlcwQLcG9vbExwVG9rZW4IBQhwb29sRGF0YQJfMQQYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzCAUIcG9vbERhdGECXzIEBnJlc3VsdAkA/AcEBRh3YXZlc0V4Y2hhbmdlUG9vbEFkZHJlc3MCB3Vuc3Rha2UJAMwIAgULcG9vbExwVG9rZW4JAMwIAgUGYW1vdW50BQNuaWwFA25pbAMJAAACBQZyZXN1bHQFBnJlc3VsdAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQEHQWRkcmVzcwEICAUBaQZjYWxsZXIFYnl0ZXMFBmFtb3VudAkA2QQBBQtwb29sTHBUb2tlbgUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBEGNsYWltUG9vbFJld2FyZHMBBHBvb2wEC3Bvb2xBZGRyZXNzCQERQGV4dHJOYXRpdmUoMTA2MikBBQRwb29sBAhwb29sRGF0YQkBC2dldFBvb2xEYXRhAQUEcG9vbAQLcG9vbExwVG9rZW4IBQhwb29sRGF0YQJfMQQYd2F2ZXNFeGNoYW5nZVBvb2xBZGRyZXNzCAUIcG9vbERhdGECXzIEE2N1cnJlbnRXWE9uQ29udHJhY3QJAPAHAgUEdGhpcwUJd3hBc3NldElkAwkAAAIFE2N1cnJlbnRXWE9uQ29udHJhY3QFE2N1cnJlbnRXWE9uQ29udHJhY3QEC2NsYWltUmVzdWx0CQD8BwQFGHdhdmVzRXhjaGFuZ2VQb29sQWRkcmVzcwIHY2xhaW1XWAkAzAgCBQtwb29sTHBUb2tlbgUDbmlsBQNuaWwDCQAAAgULY2xhaW1SZXN1bHQFC2NsYWltUmVzdWx0BA9uZXdXWE9uQ29udHJhY3QJAPAHAgUEdGhpcwUJd3hBc3NldElkBAdjbGFpbWVkCQBlAgUPbmV3V1hPbkNvbnRyYWN0BRNjdXJyZW50V1hPbkNvbnRyYWN0AwkAAAIFB2NsYWltZWQAAAkAAgECEE5vdGhpbmcgdG8gY2xhaW0ED3NidFJld2FyZEFtb3VudAkBH2NhbGN1bGF0ZUN1cnJlbnRSZXdhcmRTQlRBbW91bnQBBQdjbGFpbWVkBBBzYnRSZXdhcmRBY3Rpb25zAwkAAAIFD3NidFJld2FyZEFtb3VudAAABQNuaWwJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULcG9vbEFkZHJlc3MFD3NidFJld2FyZEFtb3VudAUKc2J0QXNzZXRJZAUDbmlsBAxzYnRTdGFrZVBvb2wJARFAZXh0ck5hdGl2ZSgxMDYyKQEJARFAZXh0ck5hdGl2ZSgxMDU4KQEFD3NidFN0YWtlUG9vbEtleQQPc2J0U3Rha2VQb29sRmVlCQERQGV4dHJOYXRpdmUoMTA1NSkBBRJzYnRTdGFrZVBvb2xGZWVLZXkEGHNidFN0YWtlUG9vbFRvdGFsQ2xhaW1lZAkBEUBleHRyTmF0aXZlKDEwNTUpAQUbc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkS2V5BBJzYnRTdGFrZVBvb2xBbW91bnQJAG4EBQdjbGFpbWVkBQ9zYnRTdGFrZVBvb2xGZWUFB2ZlZVJhbmsFBkhBTEZVUAQTc2J0U3Rha2VQb29sQWN0aW9ucwMJAAACBRJzYnRTdGFrZVBvb2xBbW91bnQAAAUDbmlsCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMFDHNidFN0YWtlUG9vbAUSc2J0U3Rha2VQb29sQW1vdW50BQl3eEFzc2V0SWQFA25pbAQUYWRkaXRpb25hbFJld2FyZFBvb2wJARFAZXh0ck5hdGl2ZSgxMDU4KQEFF2FkZGl0aW9uYWxSZXdhcmRQb29sS2V5BBhhZGRpdGlvbmFsUmV3YXJkUG9vbEZyZWUJARFAZXh0ck5hdGl2ZSgxMDU1KQEFGmFkZGl0aW9uYWxSZXdhcmRQb29sRmVlS2V5BBphZGRpdGlvbmFsUmV3YXJkUG9vbEFtb3VudAMJAAACCQCxAgEFFGFkZGl0aW9uYWxSZXdhcmRQb29sAAAAAAMJAQIhPQIFFGFkZGl0aW9uYWxSZXdhcmRQb29sBQRwb29sCQBuBAUHY2xhaW1lZAUYYWRkaXRpb25hbFJld2FyZFBvb2xGcmVlBQdmZWVSYW5rBQZIQUxGVVAAAAQcYWRkaXRpb25hbFJld2FyZHNQb29sQWN0aW9ucwMJAAACBRphZGRpdGlvbmFsUmV3YXJkUG9vbEFtb3VudAAABQNuaWwJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkBEUBleHRyTmF0aXZlKDEwNjIpAQUUYWRkaXRpb25hbFJld2FyZFBvb2wFGmFkZGl0aW9uYWxSZXdhcmRQb29sQW1vdW50BQl3eEFzc2V0SWQFA25pbAQLcG9vbENsYWltZWQJAGUCCQBlAgUHY2xhaW1lZAUSc2J0U3Rha2VQb29sQW1vdW50BRphZGRpdGlvbmFsUmV3YXJkUG9vbEFtb3VudAkAzggCCQDOCAIJAM4IAgUQc2J0UmV3YXJkQWN0aW9ucwUTc2J0U3Rha2VQb29sQWN0aW9ucwUcYWRkaXRpb25hbFJld2FyZHNQb29sQWN0aW9ucwkAzAgCCQEMSW50ZWdlckVudHJ5AgUbc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkS2V5CQBkAgUYc2J0U3Rha2VQb29sVG90YWxDbGFpbWVkBRJzYnRTdGFrZVBvb2xBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwULcG9vbEFkZHJlc3MFC3Bvb2xDbGFpbWVkBQl3eEFzc2V0SWQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgA8170M", "height": 2837276, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Bzvnm4nKsAVRrZoVedajFDmDqyc7h9zTRweYdJe4CrK4 Next: CmtxmCYWtcJeupfrW2k3w5DFiMHnF2u77qdv9DoTLM5a Diff:
OldNewDifferences
1111
1212 let e = base58'3NCukxG6cc7pqKoEwTZsr1CRrHMHfvGM7ok'
1313
14-let f = base58'3PH83bJCZraJoEzFefz4p8UXZD9YazNnj1n'
14+let f = base58'3NCukxG6cc7pqKoEwTZsr1CRrHMHfvGM7ok'
1515
1616 let g = "is_constructed"
1717
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
14-let f = base58'3PH83bJCZraJoEzFefz4p8UXZD9YazNnj1n'
14+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)
128128 func mintSbWx () = if ((size(R.payments) != 1))
129129 then throw("One Payment expected")
130130 else {
131131 let X = s(R.payments[0])
132132 let Y = X.amount
133133 if (if ((X.assetId != c))
134134 then true
135135 else (0 >= Y))
136136 then throw("Wrong Asset id or amount")
137137 else {
138138 let Z = getIntegerValue(p)
139139 let aa = getStringValue(i)
140140 let ab = invoke(Address(e), "userMaxDurationREADONLY", nil, nil)
141141 if ((ab == ab))
142142 then {
143143 let u = ab
144144 if ($isInstanceOf(u, "(String, Int)"))
145145 then {
146146 let ac = u
147147 let ad = ac._1
148148 let ae = ac._2
149149 let af = invoke(Address(e), ad, [ae], [X])
150150 if ((af == af))
151151 then {
152152 let V = fromBase58String(aa)
153153 [Reissue(V, Y, true), ScriptTransfer(Address(R.caller.bytes), Y, V), IntegerEntry(p, (Z + Y))]
154154 }
155155 else throw("Strict value is not equal to itself.")
156156 }
157157 else throw("FATAL: Inconsistent data")
158158 }
159159 else throw("Strict value is not equal to itself.")
160160 }
161161 }
162162
163163
164164
165165 @Callable(R)
166166 func claimWxStakingRewards () = {
167167 let ag = assetBalance(this, c)
168168 if ((ag == ag))
169169 then {
170170 let ah = invoke(Address(f), "claimReward", nil, nil)
171171 if ((ah == ah))
172172 then {
173173 let ai = assetBalance(this, c)
174174 let aj = (ai - ag)
175175 if ((aj == 0))
176176 then throw("Nothing to claim")
177177 else {
178178 let ak = getIntegerValue(o)
179179 [IntegerEntry(o, (ak + aj)), ScriptTransfer(addressFromStringValue(getStringValue(m)), aj, c)]
180180 }
181181 }
182182 else throw("Strict value is not equal to itself.")
183183 }
184184 else throw("Strict value is not equal to itself.")
185185 }
186186
187187
188188
189189 @Callable(R)
190190 func addPool (B,Q) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
191191 then throw("Only Admin can call this function")
192192 else {
193193 let N = getStringValue(j)
194194 if (K(B))
195195 then throw("Pool already added")
196196 else {
197197 let al = if ((size(N) == 0))
198198 then B
199199 else ((N + a) + B)
200200 [StringEntry(j, al), StringEntry(A(B), A(Q))]
201201 }
202202 }
203203
204204
205205
206206 @Callable(R)
207207 func removePool (B) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
208208 then throw("Only Admin can call this function")
209209 else {
210210 let N = getStringValue(j)
211211 if (!(K(B)))
212212 then throw("Pool not found")
213213 else {
214214 let am = split_4C(N, a)
215215 let an = x(indexOf(am, B))
216216 let al = makeString_2C(removeByIndex(am, an), a)
217217 ([StringEntry(j, al), DeleteEntry(B)] ++ (if ((getStringValue(k) == B))
218218 then [StringEntry(k, "")]
219219 else nil))
220220 }
221221 }
222222
223223
224224
225225 @Callable(R)
226226 func setAdditionalRewardsPool (B) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
227227 then throw("Only Admin can call this function")
228228 else if (!(K(B)))
229229 then throw("Only authorized pool can be added as additional reward pool")
230230 else [StringEntry(k, B)]
231231
232232
233233
234234 @Callable(R)
235235 func setAdditionalRewardsPoolFee (ao) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
236236 then throw("Only Admin can call this function")
237237 else if ((ao > 2000))
238238 then throw("Fee can't be bigger than 20%")
239239 else if ((0 > ao))
240240 then throw("Fee can't be negative")
241241 else [IntegerEntry(l, ao)]
242242
243243
244244
245245 @Callable(R)
246246 func setSbtPoolFee (ao) = if ((toBase58String(R.caller.bytes) != getStringValue(h)))
247247 then throw("Only Admin can call this function")
248248 else if ((ao > 2000))
249249 then throw("Fee can't be bigger than 20%")
250250 else if ((0 > ao))
251251 then throw("Fee can't be negative")
252252 else [IntegerEntry(n, ao)]
253253
254254
255255
256256 @Callable(R)
257257 func stakePoolLps () = if ((size(R.payments) != 1))
258258 then throw("One Payment expected")
259259 else {
260260 let ap = O(toBase58String(R.caller.bytes))
261261 let P = ap._1
262262 let Q = ap._2
263263 let X = s(R.payments[0])
264264 if (if ((X.assetId != fromBase58String(P)))
265265 then true
266266 else (0 >= X.amount))
267267 then throw("Wrong LP Asset id or amount")
268268 else {
269269 let af = invoke(Q, "stake", nil, [X])
270270 if ((af == af))
271271 then nil
272272 else throw("Strict value is not equal to itself.")
273273 }
274274 }
275275
276276
277277
278278 @Callable(R)
279279 func withdrawPoolLps (Y) = {
280280 let ap = O(toBase58String(R.caller.bytes))
281281 let P = ap._1
282282 let Q = ap._2
283283 let af = invoke(Q, "unstake", [P, Y], nil)
284284 if ((af == af))
285285 then [ScriptTransfer(Address(R.caller.bytes), Y, fromBase58String(P))]
286286 else throw("Strict value is not equal to itself.")
287287 }
288288
289289
290290
291291 @Callable(R)
292292 func claimPoolRewards (L) = {
293293 let aq = addressFromStringValue(L)
294294 let ap = O(L)
295295 let P = ap._1
296296 let Q = ap._2
297297 let ar = assetBalance(this, c)
298298 if ((ar == ar))
299299 then {
300300 let ah = invoke(Q, "claimWX", [P], nil)
301301 if ((ah == ah))
302302 then {
303303 let as = assetBalance(this, c)
304304 let aj = (as - ar)
305305 if ((aj == 0))
306306 then throw("Nothing to claim")
307307 else {
308308 let at = D(aj)
309309 let au = if ((at == 0))
310310 then nil
311311 else [ScriptTransfer(aq, at, d)]
312312 let T = addressFromStringValue(getStringValue(m))
313313 let av = getIntegerValue(n)
314314 let ak = getIntegerValue(o)
315315 let aw = fraction(aj, av, b, HALFUP)
316316 let ax = if ((aw == 0))
317317 then nil
318318 else [ScriptTransfer(T, aw, c)]
319319 let ay = getStringValue(k)
320320 let az = getIntegerValue(l)
321321 let aA = if ((size(ay) == 0))
322322 then 0
323323 else if ((ay != L))
324324 then fraction(aj, az, b, HALFUP)
325325 else 0
326326 let aB = if ((aA == 0))
327327 then nil
328328 else [ScriptTransfer(addressFromStringValue(ay), aA, c)]
329329 let aC = ((aj - aw) - aA)
330330 (((au ++ ax) ++ aB) ++ [IntegerEntry(o, (ak + aw)), ScriptTransfer(aq, aC, c)])
331331 }
332332 }
333333 else throw("Strict value is not equal to itself.")
334334 }
335335 else throw("Strict value is not equal to itself.")
336336 }
337337
338338

github/deemru/w8io/169f3d6 
47.96 ms