tx · ACCGaSswRh9ZdZZbL7mnVtVFvtmKEJcrBzzQNQmwNFhy

3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq:  -0.01000000 Waves

2023.07.25 23:51 [2681879] smart account 3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq > SELF 0.00000000 Waves

{ "type": 13, "id": "ACCGaSswRh9ZdZZbL7mnVtVFvtmKEJcrBzzQNQmwNFhy", "fee": 1000000, "feeAssetId": null, "timestamp": 1690318385282, "version": 2, "chainId": 84, "sender": "3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq", "senderPublicKey": "ERewvWFUFQfR1eCnipNAv9n7SdQhof2ESP6PGVjTueLd", "proofs": [ "4JPwqGavwKAraHynnr6CxsREyfnZNr25Zi5ZNfSTq4EttCU7e6WJHVb4RCHp67Tt3rGcUnZnGsLjcpa7E3ajEiiw" ], "script": "base64:BgI2CAISBAoCAQgSABIAEgASABIAEgASAwoBARIDCgEBEgMKAQESBAoCCAESABIECgIIARIDCgEIDgAJd2F2ZXMxTElkCQEHQWRkcmVzcwEBILH15FajP9PuifZAK5w8TIAJNqCYeFqn5MUfblsP6UaFAAl3YXZlczNMSWQJAQdBZGRyZXNzAQEgd1cMNeo2lN9O0xXcegEAmbtNEEfXDIqrV+HrcYvguGQACXdhdmVzNUxJZAkBB0FkZHJlc3MBASAbRmiSZTlYFNBubUQi5dTeIOXW7rvmiX4XxEsz9ehmpAADYXJyCQDMCAIAAQkAzAgCAAIJAMwIAgADCQDMCAIABAkAzAgCAAUFA25pbAAEYXJyMgkAzAgCAAEJAMwIAgACBQNuaWwABGFycjMJAMwIAgABCQDMCAIAAgkAzAgCAAMFA25pbAEDc3VtAgFhAWIJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQCBmJvcnJvdwkAzAgCAiwyNUZFcUVqUmtxSzZ5Q2tpVDdMejZTQVl6N2dVRkN0eGZDQ2huclZGRDVBVAkAzAgCAMCEPQUDbmlsBQNuaWwBCmdldEJhbGFuY2UCCmFzc2V0SWRTdHIHYWRkcmVzcwMJAAACBQphc3NldElkU3RyAgVXQVZFUwgJAO8HAQUHYWRkcmVzcwlhdmFpbGFibGUJAPAHAgUHYWRkcmVzcwkA2QQBBQphc3NldElkU3RyAQ9nZXRDdXJyZW50UHJpY2UBCmFzc2V0SWRTdHIDCQAAAgUKYXNzZXRJZFN0cgIFV0FWRVMAAgkAAgECBUVycm9yARRnZXRXYXZlc0N1cnJlbnRQcmljZQAAgIl6ARZnZXRXYXZlczFMQ3VycmVudFByaWNlAADgxlsBFmdldFdhdmVzM0xDdXJyZW50UHJpY2UAAICfSQESZ2V0V2F2ZXMzTE5ld1ByaWNlAACAiXoBGXRyYW5zZmVyV2F2ZXNUZXN0SW50ZXJuYWwDCmFzc2V0SWRTdHILYXNzZXRBbW91bnQHYWRkcmVzcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIFB2FkZHJlc3MCC19kZXBvc2l0ZWRfBQphc3NldElkU3RyBQthc3NldEFtb3VudAUDbmlsDgFpAQ10cmFuc2ZlcldhdmVzAgthc3NldEFtb3VudA1zZW5kZXJBZGRyZXNzAwkBAiE9AggFAWkGY2FsbGVyBQR0aGlzCQACAQIsb25seSBmb3IgaW50ZXJuYWwgc21hcnQgY29udHJhY3QgaW52b2NhdGlvbnMJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwUEdGhpcwULYXNzZXRBbW91bnQFBHVuaXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUNc2VuZGVyQWRkcmVzcwIQX2RlcG9zaXRlZF9XQVZFUwULYXNzZXRBbW91bnQFA25pbAFpAQtpc3N1ZTN4TG9uZwAJAMwIAgkAwggFAgdXQVZFUzNMAhdXQVZFU19VU0ROX0xPTkczWCBUb2tlbgCAlOvcAwAGBgUDbmlsAWkBEXRyYW5zZmVyV2F2ZXNUZXN0AAMDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEGCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAAkAAgECHDEgcGF5bWVudCBoYXMgdG8gYmUgYXR0YWNoZWQECmFzc2V0SWRTdHICBVdBVkVTBAthc3NldEFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJARl0cmFuc2ZlcldhdmVzVGVzdEludGVybmFsAwUKYXNzZXRJZFN0cgULYXNzZXRBbW91bnQJAKUIAQgFAWkGY2FsbGVyAWkBC21pbnRXYXZlczNMAAMDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEGCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAAkAAgECHDEgcGF5bWVudCBoYXMgdG8gYmUgYXR0YWNoZWQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBBBzdGFibGVDb2luQW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQUY29udmVydGVkV2F2ZXNBbW91bnQJAGgCCQBpAgUQc3RhYmxlQ29pbkFtb3VudAkBFGdldFdhdmVzQ3VycmVudFByaWNlAACAwtcvBA91c2VyV2F2ZXNBbW91bnQJAQpnZXRCYWxhbmNlAgIFV0FWRVMIBQFpBmNhbGxlcgMJAGYCBQ91c2VyV2F2ZXNBbW91bnQFFGNvbnZlcnRlZFdhdmVzQW1vdW50BA1kZXBvc2l0UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUUY29udmVydGVkV2F2ZXNBbW91bnQFA25pbAMJAAACBQ1kZXBvc2l0UmVzdWx0BQ1kZXBvc2l0UmVzdWx0CgEKcmVwZWF0RnVuYwIFYWNjdW0EbmV4dAQMYm9ycm93UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAUDbmlsBQNuaWwDCQAAAgUMYm9ycm93UmVzdWx0BQxib3Jyb3dSZXN1bHQJAGQCBQVhY2N1bQUEbmV4dAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQFYXJyYXkJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAkAzAgCBRBzdGFibGVDb2luQW1vdW50CQDMCAIFEHN0YWJsZUNvaW5BbW91bnQFA25pbAQDcmVzCgACJGwFBWFycmF5CgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpyZXBlYXRGdW5jAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADBBNyZXR1cm5lZFRva2VuQW1vdW50CQBoAgkAaQIFA3JlcwkBFmdldFdhdmVzM0xDdXJyZW50UHJpY2UAAMCEPQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAgpfZ2F2ZV9VU0ROBRBzdGFibGVDb2luQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCEF9kZXBvc2l0ZWRfV0FWRVMFFGNvbnZlcnRlZFdhdmVzQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX2JvcnJvd2VkXwIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQFA3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAhFfcmVjZWl2ZWRfV0FWRVMzTAUTcmV0dXJuZWRUb2tlbkFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFE3JldHVybmVkVG9rZW5BbW91bnQBIHdXDDXqNpTfTtMV3HoBAJm7TRBH1wyKq1fh63GL4LhkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAhxOb3QgZW5vdWdoIFdBVkVTIHRvIGRlcG9zaXQhAWkBDXJlZGVlbVdhdmVzM0wAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIcMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEC3Rva2VuQW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQScmV0dXJuZWRVU0ROQW1vdW50CQBoAgULdG9rZW5BbW91bnQJAGkCCQESZ2V0V2F2ZXMzTE5ld1ByaWNlAADAhD0JAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIRX3JlZGVlbWVkX1dBVkVTM0wFC3Rva2VuQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCDl9yZWNlaXZlZF9VU0ROBRJyZXR1cm5lZFVTRE5BbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRJyZXR1cm5lZFVTRE5BbW91bnQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0BQNuaWwBaQEQbWludFdhdmVzM0xfdGVzdAADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAhwxIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQQc3RhYmxlQ29pbkFtb3VudAgJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIKX2dhdmVfVVNETgUQc3RhYmxlQ29pbkFtb3VudAUDbmlsAWkBCWxvbmczeF92MgADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAhwxIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQKYXNzZXRJZFN0cgIFV0FWRVMEC3dhdmVzQW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQSY3VycmVudFdhdmVzQW1vdW50CQEKZ2V0QmFsYW5jZQIFCmFzc2V0SWRTdHIIBQFpBmNhbGxlcgMJAGYCBRJjdXJyZW50V2F2ZXNBbW91bnQFC3dhdmVzQW1vdW50BA1kZXBvc2l0UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAULd2F2ZXNBbW91bnQFA25pbAMJAAACBQ1kZXBvc2l0UmVzdWx0BQ1kZXBvc2l0UmVzdWx0CgEKcmVwZWF0RnVuYwIFYWNjdW0EbmV4dAQMYm9ycm93UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgkAaQIJAGgCBQt3YXZlc0Ftb3VudAkBD2dldEN1cnJlbnRQcmljZQECBVdBVkVTAGQFA25pbAUDbmlsAwkAAAIFDGJvcnJvd1Jlc3VsdAUMYm9ycm93UmVzdWx0CQBkAgUFYWNjdW0FBG5leHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWFycmF5CQDMCAIFC3dhdmVzQW1vdW50CQDMCAIFC3dhdmVzQW1vdW50BQNuaWwEA3JlcwoAAiRsBQVhcnJheQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAhBfZGVwb3NpdGVkX1dBVkVTBQt3YXZlc0Ftb3VudAkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICCQCsAgIFB2FkZHJlc3MCCl9ib3Jyb3dlZF8CLDI1RkVxRWpSa3FLNnlDa2lUN0x6NlNBWXo3Z1VGQ3R4ZkNDaG5yVkZENUFUCQBoAgULd2F2ZXNBbW91bnQJAQ9nZXRDdXJyZW50UHJpY2UBAgVXQVZFUwkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIJAGkCCQBoAgUDcmVzCQEPZ2V0Q3VycmVudFByaWNlAQIFV0FWRVMAZAEgD/IcEqzkxDya7EYaqyWosOy6BytGzG2IcvC14pJJAbQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECHE5vdCBlbm91Z2ggV0FWRVMgdG8gZGVwb3NpdCEBaQEGbG9uZzJ4AQthc3NldEFtb3VudAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEDWN1cnJlbnRBbW91bnQJAQpnZXRCYWxhbmNlAgIFV0FWRVMIBQFpBmNhbGxlcgMJAGYCBQ1jdXJyZW50QW1vdW50BQthc3NldEFtb3VudAoBCnJlcGVhdEZ1bmMCBWFjY3VtBG5leHQEDnRyYW5zZmVyUmVzdWx0CQD8BwQFBHRoaXMCDXRyYW5zZmVyV2F2ZXMJAMwIAgULYXNzZXRBbW91bnQJAMwIAggFAWkGY2FsbGVyBQNuaWwFA25pbAMJAAACBQ50cmFuc2ZlclJlc3VsdAUOdHJhbnNmZXJSZXN1bHQEDHN1cHBseVJlc3VsdAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjNEblZmZm5VeVp0ejJNUmJrNVU3Z2lOMTEyV2VtcE1OZAIGc3VwcGx5BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFC2Fzc2V0QW1vdW50BQNuaWwDCQAAAgUMc3VwcGx5UmVzdWx0BQxzdXBwbHlSZXN1bHQEDGJvcnJvd1Jlc3VsdAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjNEblZmZm5VeVp0ejJNUmJrNVU3Z2lOMTEyV2VtcE1OZAIGYm9ycm93CQDMCAICLDI1RkVxRWpSa3FLNnlDa2lUN0x6NlNBWXo3Z1VGQ3R4ZkNDaG5yVkZENUFUCQDMCAIJAGkCCQBoAgULYXNzZXRBbW91bnQJAQ9nZXRDdXJyZW50UHJpY2UBAgVXQVZFUwBkBQNuaWwFA25pbAMJAAACBQxib3Jyb3dSZXN1bHQFDGJvcnJvd1Jlc3VsdAkAZAIFBWFjY3VtBQRuZXh0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAVhcnJheQkAzAgCBQthc3NldEFtb3VudAkAzAgCBQthc3NldEFtb3VudAUDbmlsBANyZXMKAAIkbAUFYXJyYXkKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCnJlcGVhdEZ1bmMCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjBfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECE0xpc3Qgc2l6ZSBleGNlZWRzIDIJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX2JvcnJvd2VkXwIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAGgCBQthc3NldEFtb3VudAkBD2dldEN1cnJlbnRQcmljZQECBVdBVkVTCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgkAaQIJAGgCBQNyZXMJAQ9nZXRDdXJyZW50UHJpY2UBAgVXQVZFUwBkASAP8hwSrOTEPJrsRhqrJaiw7LoHK0bMbYhy8LXikkkBtAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQR0aGlzBQNyZXMFBHVuaXQFA25pbAkAAgECBkVycm9yIQFpAQZib3Jyb3cBC2Fzc2V0QW1vdW50BAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQDcmVzCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgULYXNzZXRBbW91bnQFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgULYXNzZXRBbW91bnQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX2JvcnJvd2VkXwIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQFC2Fzc2V0QW1vdW50BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEHYm9ycm93MgELYXNzZXRBbW91bnQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyCgEKcmVwZWF0RnVuYwIFYWNjdW0EbmV4dAQGcmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgULYXNzZXRBbW91bnQFA25pbAUDbmlsAwkAAAIFBnJlc3VsdAUGcmVzdWx0CQBkAgUFYWNjdW0FBG5leHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWFycmF5CQDMCAIFC2Fzc2V0QW1vdW50CQDMCAIFC2Fzc2V0QW1vdW50BQNuaWwEA3JlcwoAAiRsBQVhcnJheQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMgkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQdhZGRyZXNzAgpfYm9ycm93ZWRfAiwyNUZFcUVqUmtxSzZ5Q2tpVDdMejZTQVl6N2dVRkN0eGZDQ2huclZGRDVBVAULYXNzZXRBbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQNyZXMBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0BQNuaWwBaQEHYm9ycm93NQIKYXNzZXRJZFN0cgthc3NldEFtb3VudAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEA3JlcwoAAiRsBQNhcnIKAAIkcwkAkAMBBQIkbAoABSRhY2MwAAAKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBA3N1bQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUDCQAAAgUDcmVzBQNyZXMJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgkArAICBQdhZGRyZXNzAgpfYm9ycm93ZWRfBQphc3NldElkU3RyBQthc3NldEFtb3VudAUDbmlsCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBB2RlcG9zaXQABAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQDcmVzCQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdADAhD0FA25pbAMJAAACBQNyZXMFA3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAgxzdXBwbHlfd2F2ZXMAwIQ9BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEId2l0aGRyYXcCCmFzc2V0SWRTdHILYXNzZXRBbW91bnQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBANyZXMJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQCCHdpdGhkcmF3CQDMCAIFCmFzc2V0SWRTdHIJAMwIAgULYXNzZXRBbW91bnQFA25pbAUDbmlsAwkAAAIFA3JlcwUDcmVzCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX3dpdGhkcmV3XwUKYXNzZXRJZFN0cgULYXNzZXRBbW91bnQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQxjaGVja0JhbGFuY2UBCmFzc2V0SWRTdHIEB2FkZHJlc3MIBQFpBmNhbGxlcgMJAAACBQphc3NldElkU3RyAgVXQVZFUwkAzAgCCQEMSW50ZWdlckVudHJ5AgINV2F2ZXMgQmFsYW5jZQgJAO8HAQUHYWRkcmVzcwlhdmFpbGFibGUFA25pbAkAzAgCCQEMSW50ZWdlckVudHJ5AgINQXNzZXQgQmFsYW5jZQkA8AcCBQdhZGRyZXNzCQDZBAEFCmFzc2V0SWRTdHIFA25pbAECdHgBBnZlcmlmeQAJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAIBQJ0eA9zZW5kZXJQdWJsaWNLZXkHxZJf", "height": 2681879, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BiBu1eFVJC8xavBXhnnbruyE3HnWCPFPqRwg8Zb7s6UP Next: 8mN8xo49f5YZm8McR2TryfYc1YTqqk1ZxnHh4JoWtDbL Diff:
OldNewDifferences
122122 let address = toString(i.caller)
123123 let tokenAmount = i.payments[0].amount
124124 let returnedUSDNAmount = (tokenAmount * (getWaves3LNewPrice() / 1000000))
125-[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount)]
125+[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
126126 }
127127
128128
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let waves1LId = Address(base58'CygdaJKZfxRrHyYMwkNdz9ZgSD5FpJLtk5s5B4q1DKV6')
55
66 let waves3LId = Address(base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')
77
88 let waves5LId = Address(base58'2qUH6Nh6cgC8dxj8fwH3bTJi261PNr5nMQKRbBXBuwmM')
99
1010 let arr = [1, 2, 3, 4, 5]
1111
1212 let arr2 = [1, 2]
1313
1414 let arr3 = [1, 2, 3]
1515
1616 func sum (a,b) = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", 1000000], nil)
1717
1818
1919 func getBalance (assetIdStr,address) = if ((assetIdStr == "WAVES"))
2020 then wavesBalance(address).available
2121 else assetBalance(address, fromBase58String(assetIdStr))
2222
2323
2424 func getCurrentPrice (assetIdStr) = if ((assetIdStr == "WAVES"))
2525 then 2
2626 else throw("Error")
2727
2828
2929 func getWavesCurrentPrice () = 2000000
3030
3131
3232 func getWaves1LCurrentPrice () = 1500000
3333
3434
3535 func getWaves3LCurrentPrice () = 1200000
3636
3737
3838 func getWaves3LNewPrice () = 2000000
3939
4040
4141 func transferWavesTestInternal (assetIdStr,assetAmount,address) = [IntegerEntry(((address + "_deposited_") + assetIdStr), assetAmount)]
4242
4343
4444 @Callable(i)
4545 func transferWaves (assetAmount,senderAddress) = if ((i.caller != this))
4646 then throw("only for internal smart contract invocations")
4747 else [ScriptTransfer(this, assetAmount, unit), IntegerEntry((senderAddress + "_deposited_WAVES"), assetAmount)]
4848
4949
5050
5151 @Callable(i)
5252 func issue3xLong () = [Issue("WAVES3L", "WAVES_USDN_LONG3X Token", 1000000000, 6, true)]
5353
5454
5555
5656 @Callable(i)
5757 func transferWavesTest () = if (if ((size(i.payments) != 1))
5858 then true
5959 else (i.payments[0].amount == 0))
6060 then throw("1 payment has to be attached")
6161 else {
6262 let assetIdStr = "WAVES"
6363 let assetAmount = i.payments[0].amount
6464 transferWavesTestInternal(assetIdStr, assetAmount, toString(i.caller))
6565 }
6666
6767
6868
6969 @Callable(i)
7070 func mintWaves3L () = if (if ((size(i.payments) != 1))
7171 then true
7272 else (i.payments[0].amount == 0))
7373 then throw("1 payment has to be attached")
7474 else {
7575 let address = toString(i.caller)
7676 let stableCoinAmount = i.payments[0].amount
7777 let convertedWavesAmount = ((stableCoinAmount / getWavesCurrentPrice()) * 100000000)
7878 let userWavesAmount = getBalance("WAVES", i.caller)
7979 if ((userWavesAmount > convertedWavesAmount))
8080 then {
8181 let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, convertedWavesAmount)])
8282 if ((depositResult == depositResult))
8383 then {
8484 func repeatFunc (accum,next) = {
8585 let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", stableCoinAmount], nil)
8686 if ((borrowResult == borrowResult))
8787 then (accum + next)
8888 else throw("Strict value is not equal to itself.")
8989 }
9090
9191 let array = [stableCoinAmount, stableCoinAmount, stableCoinAmount]
9292 let res = {
9393 let $l = array
9494 let $s = size($l)
9595 let $acc0 = 0
9696 func $f0_1 ($a,$i) = if (($i >= $s))
9797 then $a
9898 else repeatFunc($a, $l[$i])
9999
100100 func $f0_2 ($a,$i) = if (($i >= $s))
101101 then $a
102102 else throw("List size exceeds 3")
103103
104104 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
105105 }
106106 let returnedTokenAmount = ((res / getWaves3LCurrentPrice()) * 1000000)
107107 [IntegerEntry((address + "_gave_USDN"), stableCoinAmount), IntegerEntry((address + "_deposited_WAVES"), convertedWavesAmount), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), res), IntegerEntry((address + "_received_WAVES3L"), returnedTokenAmount), ScriptTransfer(i.caller, returnedTokenAmount, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')]
108108 }
109109 else throw("Strict value is not equal to itself.")
110110 }
111111 else throw("Not enough WAVES to deposit!")
112112 }
113113
114114
115115
116116 @Callable(i)
117117 func redeemWaves3L () = if (if ((size(i.payments) != 1))
118118 then true
119119 else (i.payments[0].amount == 0))
120120 then throw("1 payment has to be attached")
121121 else {
122122 let address = toString(i.caller)
123123 let tokenAmount = i.payments[0].amount
124124 let returnedUSDNAmount = (tokenAmount * (getWaves3LNewPrice() / 1000000))
125-[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount)]
125+[IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
126126 }
127127
128128
129129
130130 @Callable(i)
131131 func mintWaves3L_test () = if (if ((size(i.payments) != 1))
132132 then true
133133 else (i.payments[0].amount == 0))
134134 then throw("1 payment has to be attached")
135135 else {
136136 let address = toString(i.caller)
137137 let stableCoinAmount = i.payments[0].amount
138138 [IntegerEntry((address + "_gave_USDN"), stableCoinAmount)]
139139 }
140140
141141
142142
143143 @Callable(i)
144144 func long3x_v2 () = if (if ((size(i.payments) != 1))
145145 then true
146146 else (i.payments[0].amount == 0))
147147 then throw("1 payment has to be attached")
148148 else {
149149 let address = toString(i.caller)
150150 let assetIdStr = "WAVES"
151151 let wavesAmount = i.payments[0].amount
152152 let currentWavesAmount = getBalance(assetIdStr, i.caller)
153153 if ((currentWavesAmount > wavesAmount))
154154 then {
155155 let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, wavesAmount)])
156156 if ((depositResult == depositResult))
157157 then {
158158 func repeatFunc (accum,next) = {
159159 let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((wavesAmount * getCurrentPrice("WAVES")) / 100)], nil)
160160 if ((borrowResult == borrowResult))
161161 then (accum + next)
162162 else throw("Strict value is not equal to itself.")
163163 }
164164
165165 let array = [wavesAmount, wavesAmount]
166166 let res = {
167167 let $l = array
168168 let $s = size($l)
169169 let $acc0 = 0
170170 func $f0_1 ($a,$i) = if (($i >= $s))
171171 then $a
172172 else repeatFunc($a, $l[$i])
173173
174174 func $f0_2 ($a,$i) = if (($i >= $s))
175175 then $a
176176 else throw("List size exceeds 3")
177177
178178 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
179179 }
180180 [IntegerEntry((address + "_deposited_WAVES"), wavesAmount), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), (wavesAmount * getCurrentPrice("WAVES"))), ScriptTransfer(i.caller, ((res * getCurrentPrice("WAVES")) / 100), base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
181181 }
182182 else throw("Strict value is not equal to itself.")
183183 }
184184 else throw("Not enough WAVES to deposit!")
185185 }
186186
187187
188188
189189 @Callable(i)
190190 func long2x (assetAmount) = {
191191 let address = toString(i.caller)
192192 let currentAmount = getBalance("WAVES", i.caller)
193193 if ((currentAmount > assetAmount))
194194 then {
195195 func repeatFunc (accum,next) = {
196196 let transferResult = invoke(this, "transferWaves", [assetAmount, i.caller], nil)
197197 if ((transferResult == transferResult))
198198 then {
199199 let supplyResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, assetAmount)])
200200 if ((supplyResult == supplyResult))
201201 then {
202202 let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((assetAmount * getCurrentPrice("WAVES")) / 100)], nil)
203203 if ((borrowResult == borrowResult))
204204 then (accum + next)
205205 else throw("Strict value is not equal to itself.")
206206 }
207207 else throw("Strict value is not equal to itself.")
208208 }
209209 else throw("Strict value is not equal to itself.")
210210 }
211211
212212 let array = [assetAmount, assetAmount]
213213 let res = {
214214 let $l = array
215215 let $s = size($l)
216216 let $acc0 = 0
217217 func $f0_1 ($a,$i) = if (($i >= $s))
218218 then $a
219219 else repeatFunc($a, $l[$i])
220220
221221 func $f0_2 ($a,$i) = if (($i >= $s))
222222 then $a
223223 else throw("List size exceeds 2")
224224
225225 $f0_2($f0_1($f0_1($acc0, 0), 1), 2)
226226 }
227227 [IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), (assetAmount * getCurrentPrice("WAVES"))), ScriptTransfer(i.caller, ((res * getCurrentPrice("WAVES")) / 100), base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'), ScriptTransfer(this, res, unit)]
228228 }
229229 else throw("Error!")
230230 }
231231
232232
233233
234234 @Callable(i)
235235 func borrow (assetAmount) = {
236236 let address = toString(i.caller)
237237 let res = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", assetAmount], nil)
238238 if ((res == res))
239239 then [ScriptTransfer(i.caller, assetAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), assetAmount)]
240240 else throw("Strict value is not equal to itself.")
241241 }
242242
243243
244244
245245 @Callable(i)
246246 func borrow2 (assetAmount) = {
247247 let address = toString(i.caller)
248248 func repeatFunc (accum,next) = {
249249 let result = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", assetAmount], nil)
250250 if ((result == result))
251251 then (accum + next)
252252 else throw("Strict value is not equal to itself.")
253253 }
254254
255255 let array = [assetAmount, assetAmount]
256256 let res = {
257257 let $l = array
258258 let $s = size($l)
259259 let $acc0 = 0
260260 func $f0_1 ($a,$i) = if (($i >= $s))
261261 then $a
262262 else repeatFunc($a, $l[$i])
263263
264264 func $f0_2 ($a,$i) = if (($i >= $s))
265265 then $a
266266 else throw("List size exceeds 2")
267267
268268 $f0_2($f0_1($f0_1($acc0, 0), 1), 2)
269269 }
270270 [IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), assetAmount), ScriptTransfer(i.caller, res, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
271271 }
272272
273273
274274
275275 @Callable(i)
276276 func borrow5 (assetIdStr,assetAmount) = {
277277 let address = toString(i.caller)
278278 let res = {
279279 let $l = arr
280280 let $s = size($l)
281281 let $acc0 = 0
282282 func $f0_1 ($a,$i) = if (($i >= $s))
283283 then $a
284284 else sum($a, $l[$i])
285285
286286 func $f0_2 ($a,$i) = if (($i >= $s))
287287 then $a
288288 else throw("List size exceeds 5")
289289
290290 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
291291 }
292292 if ((res == res))
293293 then [IntegerEntry(((address + "_borrowed_") + assetIdStr), assetAmount)]
294294 else throw("Strict value is not equal to itself.")
295295 }
296296
297297
298298
299299 @Callable(i)
300300 func deposit () = {
301301 let address = toString(i.caller)
302302 let res = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, 1000000)])
303303 if ((res == res))
304304 then [IntegerEntry((address + "supply_waves"), 1000000)]
305305 else throw("Strict value is not equal to itself.")
306306 }
307307
308308
309309
310310 @Callable(i)
311311 func withdraw (assetIdStr,assetAmount) = {
312312 let address = toString(i.caller)
313313 let res = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "withdraw", [assetIdStr, assetAmount], nil)
314314 if ((res == res))
315315 then [IntegerEntry(((address + "_withdrew_") + assetIdStr), assetAmount)]
316316 else throw("Strict value is not equal to itself.")
317317 }
318318
319319
320320
321321 @Callable(i)
322322 func checkBalance (assetIdStr) = {
323323 let address = i.caller
324324 if ((assetIdStr == "WAVES"))
325325 then [IntegerEntry("Waves Balance", wavesBalance(address).available)]
326326 else [IntegerEntry("Asset Balance", assetBalance(address, fromBase58String(assetIdStr)))]
327327 }
328328
329329
330330 @Verifier(tx)
331331 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
332332

github/deemru/w8io/03bedc9 
57.19 ms