tx · 7eEhAXnF6SMHeW36PNssJPWho3MLthbziQheAzuLdeRB

3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq:  -0.01000000 Waves

2023.08.30 02:13 [2732635] smart account 3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq > SELF 0.00000000 Waves

{ "type": 13, "id": "7eEhAXnF6SMHeW36PNssJPWho3MLthbziQheAzuLdeRB", "fee": 1000000, "feeAssetId": null, "timestamp": 1693350851060, "version": 2, "chainId": 84, "sender": "3NBbFNBed9tcU5AmsJAuExWvgJyNmJxqjWq", "senderPublicKey": "ERewvWFUFQfR1eCnipNAv9n7SdQhof2ESP6PGVjTueLd", "proofs": [ "4drFGTdwUFWhGSYZ6mY3EhJ28VN9togtj7YvJdQD3pHzMr6LzY861mUgFmcJ8BEHMZD5G18wkZjLhjVRNmdCPDHY" ], "script": "base64:BgIOCAISABIAEgASABIAEgAPAAl3YXZlczFMSWQJAQdBZGRyZXNzAQEgsfXkVqM/0+6J9kArnDxMgAk2oJh4WqfkxR9uWw/pRoUACXdhdmVzM0xJZAkBB0FkZHJlc3MBASB3Vww16jaU307TFdx6AQCZu00QR9cMiqtX4etxi+C4ZAAJd2F2ZXM1TElkCQEHQWRkcmVzcwEBIBtGaJJlOVgU0G5tRCLl1N4g5dbuu+aJfhfESzP16GakAAZ1c2RuSWQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0AANhcnIJAMwIAgABCQDMCAIAAgkAzAgCAAMJAMwIAgAECQDMCAIABQUDbmlsAARhcnIyCQDMCAIAAQkAzAgCAAIFA25pbAAEYXJyMwkAzAgCAAEJAMwIAgACCQDMCAIAAwUDbmlsAQNzdW0CAWEBYgkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjNEblZmZm5VeVp0ejJNUmJrNVU3Z2lOMTEyV2VtcE1OZAIGYm9ycm93CQDMCAICLDI1RkVxRWpSa3FLNnlDa2lUN0x6NlNBWXo3Z1VGQ3R4ZkNDaG5yVkZENUFUCQDMCAIAwIQ9BQNuaWwFA25pbAEKZ2V0QmFsYW5jZQIKYXNzZXRJZFN0cgdhZGRyZXNzAwkAAAIFCmFzc2V0SWRTdHICBVdBVkVTCAkA7wcBBQdhZGRyZXNzCWF2YWlsYWJsZQkA8AcCBQdhZGRyZXNzCQDZBAEFCmFzc2V0SWRTdHIBD2dldEN1cnJlbnRQcmljZQEKYXNzZXRJZFN0cgMJAAACBQphc3NldElkU3RyAgVXQVZFUwACCQACAQIFRXJyb3IBFGdldFdhdmVzQ3VycmVudFByaWNlAACAiXoBEGdldFdhdmVzTmV3UHJpY2UAAMCNtwEBFmdldFdhdmVzM0xDdXJyZW50UHJpY2UAAICfSQESZ2V0V2F2ZXMzTE5ld1ByaWNlAACAiXoBDXRyeUdldEludGVnZXIBA2tleQQHJG1hdGNoMAkAmggCBQR0aGlzBQNrZXkDCQABAgUHJG1hdGNoMAIDSW50BAFiBQckbWF0Y2gwBQFiAAAGAWkBDm1pbnRXYXZlczNMX3YxAAMDCQECIT0CCQCQAwEIBQFpCHBheW1lbnRzAAEGCQAAAggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQAAAkAAgECHDEgcGF5bWVudCBoYXMgdG8gYmUgYXR0YWNoZWQEB2FkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBBBzdGFibGVDb2luQW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQUY29udmVydGVkV2F2ZXNBbW91bnQJAGgCCQBpAgUQc3RhYmxlQ29pbkFtb3VudAkBFGdldFdhdmVzQ3VycmVudFByaWNlAACAwtcvBA91c2VyV2F2ZXNBbW91bnQJAQpnZXRCYWxhbmNlAgIFV0FWRVMIBQFpBmNhbGxlcgMJAGYCBQ91c2VyV2F2ZXNBbW91bnQFFGNvbnZlcnRlZFdhdmVzQW1vdW50BA1kZXBvc2l0UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUUY29udmVydGVkV2F2ZXNBbW91bnQFA25pbAMJAAACBQ1kZXBvc2l0UmVzdWx0BQ1kZXBvc2l0UmVzdWx0CgEKcmVwZWF0RnVuYwIFYWNjdW0EbmV4dAQMYm9ycm93UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZib3Jyb3cJAMwIAgIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAUDbmlsBQNuaWwDCQAAAgUMYm9ycm93UmVzdWx0BQxib3Jyb3dSZXN1bHQJAGQCBQVhY2N1bQUEbmV4dAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgQFYXJyYXkJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAkAzAgCBRBzdGFibGVDb2luQW1vdW50CQDMCAIFEHN0YWJsZUNvaW5BbW91bnQFA25pbAQDcmVzCgACJGwFBWFycmF5CgACJHMJAJADAQUCJGwKAAUkYWNjMAAACgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQpyZXBlYXRGdW5jAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyAzCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADBBNyZXR1cm5lZFRva2VuQW1vdW50CQBoAgkAaQIFA3JlcwkBFmdldFdhdmVzM0xDdXJyZW50UHJpY2UAAMCEPQkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAgpfZ2F2ZV9VU0ROBRBzdGFibGVDb2luQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCEF9kZXBvc2l0ZWRfV0FWRVMFFGNvbnZlcnRlZFdhdmVzQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX2JvcnJvd2VkXwIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQFA3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAhFfcmVjZWl2ZWRfV0FWRVMzTAUTcmV0dXJuZWRUb2tlbkFtb3VudAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFE3JldHVybmVkVG9rZW5BbW91bnQBIHdXDDXqNpTfTtMV3HoBAJm7TRBH1wyKq1fh63GL4LhkBQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAhxOb3QgZW5vdWdoIFdBVkVTIHRvIGRlcG9zaXQhAWkBEHJlZGVlbVdhdmVzM0xfdjEAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIcMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEC3Rva2VuQW1vdW50CAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQScmV0dXJuZWRVU0ROQW1vdW50CQBoAgULdG9rZW5BbW91bnQJAGkCCQESZ2V0V2F2ZXMzTE5ld1ByaWNlAADAhD0JAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIRX3JlZGVlbWVkX1dBVkVTM0wFC3Rva2VuQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCDl9yZWNlaXZlZF9VU0ROBRJyZXR1cm5lZFVTRE5BbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRJyZXR1cm5lZFVTRE5BbW91bnQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0BQNuaWwBaQEObWludFdhdmVzM0xfdjIAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIcMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZAQHYWRkcmVzcwkApQgBCAUBaQZjYWxsZXIEEHN0YWJsZUNvaW5BbW91bnQICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50BBRjb252ZXJ0ZWRXYXZlc0Ftb3VudAkAaAIJAGkCBRBzdGFibGVDb2luQW1vdW50AICJegCAwtcvBA91c2VyV2F2ZXNBbW91bnQJAQpnZXRCYWxhbmNlAgIFV0FWRVMIBQFpBmNhbGxlcgQJYmVkaW5ndW5nCQBoAgkAZQIAAwABCQEUZ2V0V2F2ZXNDdXJyZW50UHJpY2UAAwkAZwIFEHN0YWJsZUNvaW5BbW91bnQFCWJlZGluZ3VuZwQNZGVwb3NpdFJlc3VsdAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjNEblZmZm5VeVp0ejJNUmJrNVU3Z2lOMTEyV2VtcE1OZAIGc3VwcGx5BQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBHVuaXQFFGNvbnZlcnRlZFdhdmVzQW1vdW50BQNuaWwDCQAAAgUNZGVwb3NpdFJlc3VsdAUNZGVwb3NpdFJlc3VsdAoBCnJlcGVhdEZ1bmMCBWFjY3VtBG5leHQEDGJvcnJvd1Jlc3VsdAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTjNEblZmZm5VeVp0ejJNUmJrNVU3Z2lOMTEyV2VtcE1OZAIGYm9ycm93CQDMCAICLDI1RkVxRWpSa3FLNnlDa2lUN0x6NlNBWXo3Z1VGQ3R4ZkNDaG5yVkZENUFUCQDMCAIFEHN0YWJsZUNvaW5BbW91bnQFA25pbAUDbmlsAwkAAAIFDGJvcnJvd1Jlc3VsdAUMYm9ycm93UmVzdWx0CQBkAgUFYWNjdW0FBG5leHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4EBWFycmF5CQDMCAIFEHN0YWJsZUNvaW5BbW91bnQJAMwIAgUQc3RhYmxlQ29pbkFtb3VudAkAzAgCBRBzdGFibGVDb2luQW1vdW50BQNuaWwEA3JlcwoAAiRsBQVhcnJheQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwQNYnlXYXZlc0thdWZlbgkAaAIJAGkCBQNyZXMJARRnZXRXYXZlc0N1cnJlbnRQcmljZQAAgMLXLwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAgpfZ2F2ZV9VU0ROBRBzdGFibGVDb2luQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCEF9kZXBvc2l0ZWRfV0FWRVMFFGNvbnZlcnRlZFdhdmVzQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgUHYWRkcmVzcwIKX2JvcnJvd2VkXwIsMjVGRXFFalJrcUs2eUNraVQ3THo2U0FZejdnVUZDdHhmQ0NobnJWRkQ1QVQFA3JlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgkArAICBQdhZGRyZXNzAhFfcmVjZWl2ZWRfV0FWRVMzTADAhD0JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyAMCEPQEgd1cMNeo2lN9O0xXcegEAmbtNEEfXDIqrV+HrcYvguGQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECHE5vdCBlbm91Z2ggV0FWRVMgdG8gZGVwb3NpdCEBaQEQcmVkZWVtV2F2ZXMzTF92MgADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAhwxIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkBAdhZGRyZXNzCQClCAEIBQFpBmNhbGxlcgQLdG9rZW5BbW91bnQABgQScmV0dXJuZWRVU0ROQW1vdW50CQBoAgkAZQIJAGgCBQt0b2tlbkFtb3VudAkAaQIJARBnZXRXYXZlc05ld1ByaWNlAADAhD0ABADAhD0JAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgUHYWRkcmVzcwIRX3JlZGVlbWVkX1dBVkVTM0wFC3Rva2VuQW1vdW50CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFB2FkZHJlc3MCDl9yZWNlaXZlZF9VU0ROBRJyZXR1cm5lZFVTRE5BbW91bnQJAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBRJyZXR1cm5lZFVTRE5BbW91bnQBIA/yHBKs5MQ8muxGGqslqLDsugcrRsxtiHLwteKSSQG0BQNuaWwBaQEFbG9uZzIAAwMJAQIhPQIJAJADAQgFAWkIcGF5bWVudHMAAQYJAAACCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAAACQACAQIcMSBwYXltZW50IGhhcyB0byBiZSBhdHRhY2hlZAQNZmlyc3RBbW91bnRJbggJAJEDAggFAWkIcGF5bWVudHMAAAZhbW91bnQEEmZpcnN0U3dhcHBlZEFtb3VudAkA/AcECQERQGV4dHJOYXRpdmUoMTA2MikBAiMzTXM4ZnFiWE00UmhtTTZDUFRyNDRoVXdIZTJDQ21WQ2ZWQQILc3dhcFRvV2F2ZXMFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUGdXNkbklkBQ1maXJzdEFtb3VudEluBQNuaWwDCQAAAgUSZmlyc3RTd2FwcGVkQW1vdW50BRJmaXJzdFN3YXBwZWRBbW91bnQEByRtYXRjaDAFEmZpcnN0U3dhcHBlZEFtb3VudAMJAAECBQckbWF0Y2gwAgNJbnQEAXIFByRtYXRjaDAEEWZpc3REZXBvc2l0UmVzdWx0CQD8BwQJARFAZXh0ck5hdGl2ZSgxMDYyKQECIzNOM0RuVmZmblV5WnR6Mk1SYms1VTdnaU4xMTJXZW1wTU5kAgZzdXBwbHkFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUEdW5pdAUBcgUDbmlsAwkAAAIFEWZpc3REZXBvc2l0UmVzdWx0BRFmaXN0RGVwb3NpdFJlc3VsdAQRZmlyc3RCb3Jyb3dSZXN1bHQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM04zRG5WZmZuVXladHoyTVJiazVVN2dpTjExMldlbXBNTmQCBmJvcnJvdwkAzAgCAiwyNUZFcUVqUmtxSzZ5Q2tpVDdMejZTQVl6N2dVRkN0eGZDQ2huclZGRDVBVAkAzAgCCQBpAgkAaAIFDWZpcnN0QW1vdW50SW4ASwBkBQNuaWwFA25pbAMJAAACBRFmaXJzdEJvcnJvd1Jlc3VsdAURZmlyc3RCb3Jyb3dSZXN1bHQKAQpyZXBlYXRGdW5jAgVhY2N1bQRuZXh0CQBkAgUFYWNjdW0FBG5leHQEBWFycmF5CQDMCAIAAQkAzAgCAAEJAMwIAgABBQNuaWwEA3JlcwoAAiRsBQVhcnJheQoAAiRzCQCQAwEFAiRsCgAFJGFjYzAAAAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEKcmVwZWF0RnVuYwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgNQkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECF0luY29ycmVjdCBpbnZva2UgcmVzdWx0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAWkBCWxvbmcydGVzdAADAwkBAiE9AgkAkAMBCAUBaQhwYXltZW50cwABBgkAAAIICQCRAwIIBQFpCHBheW1lbnRzAAAGYW1vdW50AAAJAAIBAhwxIHBheW1lbnQgaGFzIHRvIGJlIGF0dGFjaGVkBA1maXJzdEFtb3VudEluCAkAkQMCCAUBaQhwYXltZW50cwAABmFtb3VudAQIY2FsbGVySWQJAKUIAQgFAWkGY2FsbGVyBBJmaXJzdFN3YXBwZWRBbW91bnQJAPwHBAkBEUBleHRyTmF0aXZlKDEwNjIpAQIjM01zOGZxYlhNNFJobU02Q1BUcjQ0aFV3SGUyQ0NtVkNmVkECC3N3YXBUb1dhdmVzCQDMCAIJAKUIAQgFAWkGY2FsbGVyBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBnVzZG5JZAUNZmlyc3RBbW91bnRJbgUDbmlsAwkAAAIFEmZpcnN0U3dhcHBlZEFtb3VudAUSZmlyc3RTd2FwcGVkQW1vdW50BAckbWF0Y2gwBRJmaXJzdFN3YXBwZWRBbW91bnQDCQABAgUHJG1hdGNoMAIDSW50BAFyBQckbWF0Y2gwBA1sYXN0QW1vdW50T3V0CQENdHJ5R2V0SW50ZWdlcgEJAKwCAgUIY2FsbGVySWQCFV9MYXN0X0Ftb3VudE91dF9XYXZlcwkAzAgCCQEMSW50ZWdlckVudHJ5AgIWUmV0dXJuZWRfU3dhcHBlZEFtb3VudAUBcgkAzAgCCQEMSW50ZWdlckVudHJ5AgIMRmlyc3RfQm9ycm93CQBpAgkAaAIFDWZpcnN0QW1vdW50SW4ARgBkCQDMCAIJAQxJbnRlZ2VyRW50cnkCAhdMYXN0X0Ftb3VudE91dF9XYXZlc19TQwUNbGFzdEFtb3VudE91dAUDbmlsCQACAQIXSW5jb3JyZWN0IGludm9rZSByZXN1bHQJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkACQD0AwMIBQJ0eAlib2R5Qnl0ZXMJAJEDAggFAnR4BnByb29mcwAACAUCdHgPc2VuZGVyUHVibGljS2V5+N5IPw==", "height": 2732635, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: ESAKSDb6Gy2ms7wtvAy1tQk4ZFjagevk889MDjabEKds Next: HGMJdf9m2RMCWoi4dPd3bR9Bf4FbcsKgTYjezi4MhSe Diff:
OldNewDifferences
3838
3939
4040 func getWaves3LNewPrice () = 2000000
41+
42+
43+func tryGetInteger (key) = match getInteger(this, key) {
44+ case b: Int =>
45+ b
46+ case _ =>
47+ 0
48+}
4149
4250
4351 @Callable(i)
222230 if ((firstSwappedAmount == firstSwappedAmount))
223231 then match firstSwappedAmount {
224232 case r: Int =>
225- let lastAmountOut = getIntegerValue((callerId + "_Last_AmountOut_Waves"))
226-[IntegerEntry("Returned_SwappedAmount", r), IntegerEntry("First_Borrow", ((firstAmountIn * 70) / 100)), IntegerEntry("Last_AmountOut_Waves", lastAmountOut)]
233+ let lastAmountOut = tryGetInteger((callerId + "_Last_AmountOut_Waves"))
234+[IntegerEntry("Returned_SwappedAmount", r), IntegerEntry("First_Borrow", ((firstAmountIn * 70) / 100)), IntegerEntry("Last_AmountOut_Waves_SC", lastAmountOut)]
227235 case _ =>
228236 throw("Incorrect invoke result")
229237 }
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 usdnId = base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT'
1111
1212 let arr = [1, 2, 3, 4, 5]
1313
1414 let arr2 = [1, 2]
1515
1616 let arr3 = [1, 2, 3]
1717
1818 func sum (a,b) = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", 1000000], nil)
1919
2020
2121 func getBalance (assetIdStr,address) = if ((assetIdStr == "WAVES"))
2222 then wavesBalance(address).available
2323 else assetBalance(address, fromBase58String(assetIdStr))
2424
2525
2626 func getCurrentPrice (assetIdStr) = if ((assetIdStr == "WAVES"))
2727 then 2
2828 else throw("Error")
2929
3030
3131 func getWavesCurrentPrice () = 2000000
3232
3333
3434 func getWavesNewPrice () = 3000000
3535
3636
3737 func getWaves3LCurrentPrice () = 1200000
3838
3939
4040 func getWaves3LNewPrice () = 2000000
41+
42+
43+func tryGetInteger (key) = match getInteger(this, key) {
44+ case b: Int =>
45+ b
46+ case _ =>
47+ 0
48+}
4149
4250
4351 @Callable(i)
4452 func mintWaves3L_v1 () = if (if ((size(i.payments) != 1))
4553 then true
4654 else (i.payments[0].amount == 0))
4755 then throw("1 payment has to be attached")
4856 else {
4957 let address = toString(i.caller)
5058 let stableCoinAmount = i.payments[0].amount
5159 let convertedWavesAmount = ((stableCoinAmount / getWavesCurrentPrice()) * 100000000)
5260 let userWavesAmount = getBalance("WAVES", i.caller)
5361 if ((userWavesAmount > convertedWavesAmount))
5462 then {
5563 let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, convertedWavesAmount)])
5664 if ((depositResult == depositResult))
5765 then {
5866 func repeatFunc (accum,next) = {
5967 let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", stableCoinAmount], nil)
6068 if ((borrowResult == borrowResult))
6169 then (accum + next)
6270 else throw("Strict value is not equal to itself.")
6371 }
6472
6573 let array = [stableCoinAmount, stableCoinAmount, stableCoinAmount]
6674 let res = {
6775 let $l = array
6876 let $s = size($l)
6977 let $acc0 = 0
7078 func $f0_1 ($a,$i) = if (($i >= $s))
7179 then $a
7280 else repeatFunc($a, $l[$i])
7381
7482 func $f0_2 ($a,$i) = if (($i >= $s))
7583 then $a
7684 else throw("List size exceeds 3")
7785
7886 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
7987 }
8088 let returnedTokenAmount = ((res / getWaves3LCurrentPrice()) * 1000000)
8189 [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')]
8290 }
8391 else throw("Strict value is not equal to itself.")
8492 }
8593 else throw("Not enough WAVES to deposit!")
8694 }
8795
8896
8997
9098 @Callable(i)
9199 func redeemWaves3L_v1 () = if (if ((size(i.payments) != 1))
92100 then true
93101 else (i.payments[0].amount == 0))
94102 then throw("1 payment has to be attached")
95103 else {
96104 let address = toString(i.caller)
97105 let tokenAmount = i.payments[0].amount
98106 let returnedUSDNAmount = (tokenAmount * (getWaves3LNewPrice() / 1000000))
99107 [IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
100108 }
101109
102110
103111
104112 @Callable(i)
105113 func mintWaves3L_v2 () = if (if ((size(i.payments) != 1))
106114 then true
107115 else (i.payments[0].amount == 0))
108116 then throw("1 payment has to be attached")
109117 else {
110118 let address = toString(i.caller)
111119 let stableCoinAmount = i.payments[0].amount
112120 let convertedWavesAmount = ((stableCoinAmount / 2000000) * 100000000)
113121 let userWavesAmount = getBalance("WAVES", i.caller)
114122 let bedingung = ((3 - 1) * getWavesCurrentPrice())
115123 if ((stableCoinAmount >= bedingung))
116124 then {
117125 let depositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, convertedWavesAmount)])
118126 if ((depositResult == depositResult))
119127 then {
120128 func repeatFunc (accum,next) = {
121129 let borrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", stableCoinAmount], nil)
122130 if ((borrowResult == borrowResult))
123131 then (accum + next)
124132 else throw("Strict value is not equal to itself.")
125133 }
126134
127135 let array = [stableCoinAmount, stableCoinAmount, stableCoinAmount]
128136 let res = {
129137 let $l = array
130138 let $s = size($l)
131139 let $acc0 = 0
132140 func $f0_1 ($a,$i) = if (($i >= $s))
133141 then $a
134142 else repeatFunc($a, $l[$i])
135143
136144 func $f0_2 ($a,$i) = if (($i >= $s))
137145 then $a
138146 else throw("List size exceeds 3")
139147
140148 $f0_2($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3)
141149 }
142150 let byWavesKaufen = ((res / getWavesCurrentPrice()) * 100000000)
143151 [IntegerEntry((address + "_gave_USDN"), stableCoinAmount), IntegerEntry((address + "_deposited_WAVES"), convertedWavesAmount), IntegerEntry(((address + "_borrowed_") + "25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT"), res), IntegerEntry((address + "_received_WAVES3L"), 1000000), ScriptTransfer(i.caller, 1000000, base58'92rW5ucGkH84YeXLnLs8dMN1P7RAFocmR8zfBqUy4gPM')]
144152 }
145153 else throw("Strict value is not equal to itself.")
146154 }
147155 else throw("Not enough WAVES to deposit!")
148156 }
149157
150158
151159
152160 @Callable(i)
153161 func redeemWaves3L_v2 () = if (if ((size(i.payments) != 1))
154162 then true
155163 else (i.payments[0].amount == 0))
156164 then throw("1 payment has to be attached")
157165 else {
158166 let address = toString(i.caller)
159167 let tokenAmount = 6
160168 let returnedUSDNAmount = (((tokenAmount * (getWavesNewPrice() / 1000000)) - 4) * 1000000)
161169 [IntegerEntry((address + "_redeemed_WAVES3L"), tokenAmount), IntegerEntry((address + "_received_USDN"), returnedUSDNAmount), ScriptTransfer(i.caller, returnedUSDNAmount, base58'25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT')]
162170 }
163171
164172
165173
166174 @Callable(i)
167175 func long2 () = if (if ((size(i.payments) != 1))
168176 then true
169177 else (i.payments[0].amount == 0))
170178 then throw("1 payment has to be attached")
171179 else {
172180 let firstAmountIn = i.payments[0].amount
173181 let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", nil, [AttachedPayment(usdnId, firstAmountIn)])
174182 if ((firstSwappedAmount == firstSwappedAmount))
175183 then match firstSwappedAmount {
176184 case r: Int =>
177185 let fistDepositResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "supply", nil, [AttachedPayment(unit, r)])
178186 if ((fistDepositResult == fistDepositResult))
179187 then {
180188 let firstBorrowResult = invoke(addressFromStringValue("3N3DnVffnUyZtz2MRbk5U7giN112WempMNd"), "borrow", ["25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT", ((firstAmountIn * 75) / 100)], nil)
181189 if ((firstBorrowResult == firstBorrowResult))
182190 then {
183191 func repeatFunc (accum,next) = (accum + next)
184192
185193 let array = [1, 1, 1]
186194 let res = {
187195 let $l = array
188196 let $s = size($l)
189197 let $acc0 = 0
190198 func $f0_1 ($a,$i) = if (($i >= $s))
191199 then $a
192200 else repeatFunc($a, $l[$i])
193201
194202 func $f0_2 ($a,$i) = if (($i >= $s))
195203 then $a
196204 else throw("List size exceeds 5")
197205
198206 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5)
199207 }
200208 nil
201209 }
202210 else throw("Strict value is not equal to itself.")
203211 }
204212 else throw("Strict value is not equal to itself.")
205213 case _ =>
206214 throw("Incorrect invoke result")
207215 }
208216 else throw("Strict value is not equal to itself.")
209217 }
210218
211219
212220
213221 @Callable(i)
214222 func long2test () = if (if ((size(i.payments) != 1))
215223 then true
216224 else (i.payments[0].amount == 0))
217225 then throw("1 payment has to be attached")
218226 else {
219227 let firstAmountIn = i.payments[0].amount
220228 let callerId = toString(i.caller)
221229 let firstSwappedAmount = invoke(addressFromStringValue("3Ms8fqbXM4RhmM6CPTr44hUwHe2CCmVCfVA"), "swapToWaves", [toString(i.caller)], [AttachedPayment(usdnId, firstAmountIn)])
222230 if ((firstSwappedAmount == firstSwappedAmount))
223231 then match firstSwappedAmount {
224232 case r: Int =>
225- let lastAmountOut = getIntegerValue((callerId + "_Last_AmountOut_Waves"))
226-[IntegerEntry("Returned_SwappedAmount", r), IntegerEntry("First_Borrow", ((firstAmountIn * 70) / 100)), IntegerEntry("Last_AmountOut_Waves", lastAmountOut)]
233+ let lastAmountOut = tryGetInteger((callerId + "_Last_AmountOut_Waves"))
234+[IntegerEntry("Returned_SwappedAmount", r), IntegerEntry("First_Borrow", ((firstAmountIn * 70) / 100)), IntegerEntry("Last_AmountOut_Waves_SC", lastAmountOut)]
227235 case _ =>
228236 throw("Incorrect invoke result")
229237 }
230238 else throw("Strict value is not equal to itself.")
231239 }
232240
233241
234242 @Verifier(tx)
235243 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
236244

github/deemru/w8io/03bedc9 
53.09 ms