tx · 8owc1pVui2WaxsKgzWvRQEK6JezWovXTdY7Q5xFFdya6

3PKy2mZqnvT2EtpwDim9Mgs6YvCRe4s85nX:  -0.01200000 Waves

2022.11.26 01:09 [3398671] smart account 3PKy2mZqnvT2EtpwDim9Mgs6YvCRe4s85nX > SELF 0.00000000 Waves

{ "type": 13, "id": "8owc1pVui2WaxsKgzWvRQEK6JezWovXTdY7Q5xFFdya6", "fee": 1200000, "feeAssetId": null, "timestamp": 1669413965813, "version": 2, "chainId": 87, "sender": "3PKy2mZqnvT2EtpwDim9Mgs6YvCRe4s85nX", "senderPublicKey": "CBSwDidZ3TVjGV35eaueVfNyNxCaCXmJE7iWpJzP7TSg", "proofs": [ "", "5y9jdu1XaXkXm8n6C7gnvXDasLKjYVsA4bF26m7SSq99mL7P4F34kaRBTkopfWLTcusoVgtKGBqyMN6gn5u6tAgY", "2HigmMbEvycRuGzpVU2uSaJcwpZ4B868YJfUF381d5U5JW9vo6nBqmro7rFE885qGE7qV2xquDcmiN6397nM5gJz" ], "script": "base64:BgIkCAISBAoCCBgSABIAEgUKAwQBCBIDCgEBEgMKAQESABIDCgEBKQAHa0FjdGl2ZQIGYWN0aXZlAAtrQWN0aXZlR2xvYgIUYWN0aXZlX2FsbF9jb250cmFjdHMABmtDYXVzZQIOc2h1dGRvd25fY2F1c2UADGtVU0ROQWRkcmVzcwIYc3Rha2luZ191c2RubnNidF9hZGRyZXNzAAxrRVVSTkFkZHJlc3MCFHN0YWtpbmdfZXVybl9hZGRyZXNzAAxrTGVhc2luZ1Bvb2wCD2xlYXNpbmdfYWRkcmVzcwAOa0xlYXNpbmdBbW91bnQCDmxlYXNpbmdfYW1vdW50AAprTGVhc2luZ0lkAgpsZWFzaW5nX2lkAA1rQWRtaW5QdWJLZXkxAgthZG1pbl9wdWJfMQANa0FkbWluUHViS2V5MgILYWRtaW5fcHViXzIADWtBZG1pblB1YktleTMCC2FkbWluX3B1Yl8zABJrQWRtaW5JbnZva2VQdWJLZXkCEGFkbWluX2ludm9rZV9wdWIADWtDcG1tQ29udHJhY3QCDWNwbW1fY29udHJhY3QADGtVU0ROQXNzZXRJZAINdXNkbl9hc3NldF9pZAAMa0VVUk5Bc3NldElkAg1ldXJuX2Fzc2V0X2lkAA5rU3Rha2luZ0Fzc2V0cwIOc3Rha2luZ19hc3NldHMADWtTaGFyZUFzc2V0SWQCDnNoYXJlX2Fzc2V0X2lkAAZvcmFjbGUJAQdBZGRyZXNzAQEaAVeK/whomjW6QM1hdPISN96mN/D6OM7oHjgBE2dldEJhc2U1OEZyb21PcmFjbGUBA2tleQQHJG1hdGNoMAkAnQgCBQZvcmFjbGUFA2tleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEBnN0cmluZwUHJG1hdGNoMAkA2QQBBQZzdHJpbmcEB25vdGhpbmcFByRtYXRjaDAJAAIBCQCsAgIFA2tleQIIaXMgZW1wdHkADGFkbWluUHViS2V5MQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkxAAxhZG1pblB1YktleTIJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MgAMYWRtaW5QdWJLZXkzCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTMAEWFkbWluUHViS2V5SW52b2tlCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFEmtBZG1pbkludm9rZVB1YktleQASc3Rha2luZ1VTRE5BZGRyZXNzCQEHQWRkcmVzcwEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUMa1VTRE5BZGRyZXNzABJzdGFraW5nRVVSTkFkZHJlc3MJAQdBZGRyZXNzAQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQxrRVVSTkFkZHJlc3MADGNwbW1Db250cmFjdAkBB0FkZHJlc3MBCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtDcG1tQ29udHJhY3QABFVTRE4JARNnZXRCYXNlNThGcm9tT3JhY2xlAQUMa1VTRE5Bc3NldElkAARFVVJOCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDGtFVVJOQXNzZXRJZAANc3Rha2luZ0Fzc2V0cwkBEUBleHRyTmF0aXZlKDEwNTMpAgUGb3JhY2xlBQ5rU3Rha2luZ0Fzc2V0cwAKYWN0aXZlR2xvYgkBC3ZhbHVlT3JFbHNlAgkAmwgCBQZvcmFjbGUFC2tBY3RpdmVHbG9iBgAGYWN0aXZlCQELdmFsdWVPckVsc2UCCQCbCAIFBHRoaXMFB2tBY3RpdmUGAQhpc0FjdGl2ZQADAwUGYWN0aXZlBQphY3RpdmVHbG9iBwUEdW5pdAkAAgECH0RBcHAgaXMgaW5hY3RpdmUgYXQgdGhpcyBtb21lbnQBDmlzR2xvYmFsQ2FsbGVyAQZjYWxsZXIDCQAAAgUGY2FsbGVyBQxjcG1tQ29udHJhY3QFBHVuaXQJAAIBAi1Pbmx5IGdsb2JhbCBDb250cmFjdCBjYW4gaW52b2tlIHRoaXMgZnVuY3Rpb24BC2lzQWRtaW5DYWxsAQxjYWxsZXJQdWJLZXkDCQEPY29udGFpbnNFbGVtZW50AgkAzAgCBQxhZG1pblB1YktleTEJAMwIAgUMYWRtaW5QdWJLZXkyCQDMCAIFDGFkbWluUHViS2V5MwUDbmlsBQxjYWxsZXJQdWJLZXkFBHVuaXQJAAIBAiFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24BB3N1c3BlbmQBBWNhdXNlCQDMCAIJAQxCb29sZWFuRW50cnkCBQdrQWN0aXZlBwkAzAgCCQELU3RyaW5nRW50cnkCBQZrQ2F1c2UFBWNhdXNlBQNuaWwBGGNhbGNTdGFraW5nRnVuY0FuZEFkZHJlcwIFc3Rha2UHYXNzZXRJZAMFBXN0YWtlAwkAAAIFB2Fzc2V0SWQFBFVTRE4JAJQKAgIMbG9ja05ldXRyaW5vBRJzdGFraW5nVVNETkFkZHJlc3MJAJQKAgIMc3RhcnRTdGFraW5nBRJzdGFraW5nRVVSTkFkZHJlc3MDCQAAAgUHYXNzZXRJZAUEVVNETgkAlAoCAg51bmxvY2tOZXV0cmlubwUSc3Rha2luZ1VTRE5BZGRyZXNzCQCUCgICC3N0b3BTdGFraW5nBRJzdGFraW5nRVVSTkFkZHJlc3MBEWNhbGNTdGFraW5nUGFyYW1zAwVzdGFrZQZhbW91bnQHYXNzZXRJZAMFBXN0YWtlBAskdDAyNTkzMjY1OQkBGGNhbGNTdGFraW5nRnVuY0FuZEFkZHJlcwIFBXN0YWtlBQdhc3NldElkBARjYWxsCAULJHQwMjU5MzI2NTkCXzEEC3N0YWtpbmdBZGRyCAULJHQwMjU5MzI2NTkCXzIJAJYKBAUEY2FsbAULc3Rha2luZ0FkZHIFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUHYXNzZXRJZAUGYW1vdW50BQNuaWwECyR0MDI3NDUyODExCQEYY2FsY1N0YWtpbmdGdW5jQW5kQWRkcmVzAgUFc3Rha2UFB2Fzc2V0SWQEBGNhbGwIBQskdDAyNzQ1MjgxMQJfMQQLc3Rha2luZ0FkZHIIBQskdDAyNzQ1MjgxMQJfMgkAlgoEBQRjYWxsBQtzdGFraW5nQWRkcgkAzAgCBQZhbW91bnQJAMwIAgkA2AQBBQdhc3NldElkBQNuaWwFA25pbAEPY29sbGVjdFBheW1lbnRzAgNhY2MHcGF5bWVudAQLJHQwMjk3MzMwMTYFA2FjYwQOcGF5bWVudEFtb3VudHMIBQskdDAyOTczMzAxNgJfMQQPcGF5bWVudEFzc2V0SWRzCAULJHQwMjk3MzMwMTYCXzIJAJQKAgkAzQgCBQ5wYXltZW50QW1vdW50cwgFB3BheW1lbnQGYW1vdW50CQDNCAIFD3BheW1lbnRBc3NldElkcwMJAAACCAUHcGF5bWVudAdhc3NldElkBQR1bml0AQAIBQdwYXltZW50B2Fzc2V0SWQBDGNvbGxlY3RTdGF0ZQIGcmVzdWx0BnNvdXJjZQQHJG1hdGNoMAUGc291cmNlAwMJAAECBQckbWF0Y2gwAgVJc3N1ZQYDCQABAgUHJG1hdGNoMAIEQnVybgYDCQABAgUHJG1hdGNoMAIHUmVpc3N1ZQYDCQABAgUHJG1hdGNoMAIOU2NyaXB0VHJhbnNmZXIGAwkAAQIFByRtYXRjaDACC0JpbmFyeUVudHJ5BgMJAAECBQckbWF0Y2gwAgxCb29sZWFuRW50cnkGAwkAAQIFByRtYXRjaDACC1N0cmluZ0VudHJ5BgkAAQIFByRtYXRjaDACDEludGVnZXJFbnRyeQQBZQUHJG1hdGNoMAkAzQgCBQZyZXN1bHQFAWUFBnJlc3VsdAELY29sbGVjdERhdGECBnJlc3VsdAZzb3VyY2UEByRtYXRjaDAFBnNvdXJjZQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXYFByRtYXRjaDAJAM0IAgUGcmVzdWx0BQF2AwkAAQIFByRtYXRjaDACA0ludAQBdgUHJG1hdGNoMAkAzQgCBQZyZXN1bHQFAXYDCQABAgUHJG1hdGNoMAIHQm9vbGVhbgQBdgUHJG1hdGNoMAkAzQgCBQZyZXN1bHQFAXYDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBdgUHJG1hdGNoMAkAzQgCBQZyZXN1bHQFAXYDCQABAgUHJG1hdGNoMAIEVW5pdAQBdgUHJG1hdGNoMAkAzQgCBQZyZXN1bHQFAXYJAQV0aHJvdwABCmNhbGxDb21tb24ECGZ1bmNOYW1lBmNhbGxlcgRhcmdzCHBheW1lbnRzCQELdmFsdWVPckVsc2UCCQEIaXNBY3RpdmUABAskdDAzOTM2NDAyMAoAAiRsBQhwYXltZW50cwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAJAJQKAgUDbmlsBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBD2NvbGxlY3RQYXltZW50cwIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQOcGF5bWVudEFtb3VudHMIBQskdDAzOTM2NDAyMAJfMQQPcGF5bWVudEFzc2V0SWRzCAULJHQwMzkzNjQwMjACXzIEC2xvY2tQYXltZW50AwMJAAACBQhmdW5jTmFtZQIWcmVwbGVuaXNoV2l0aFR3b1Rva2VucwkAAAIJAJADAQUIcGF5bWVudHMAAwcJAMwIAgkAkQMCBQhwYXltZW50cwACBQNuaWwDAwkAAAIFCGZ1bmNOYW1lAhVyZXBsZW5pc2hXaXRoT25lVG9rZW4JAAACCQCQAwEFCHBheW1lbnRzAAIHCQDMCAIJAJEDAgUIcGF5bWVudHMAAQUDbmlsBQNuaWwECyR0MDQyNTA0NDA3CgABQAkA/QcEBQxjcG1tQ29udHJhY3QFCGZ1bmNOYW1lCQDMCAIFBmNhbGxlcgkAzAgCBQRhcmdzCQDMCAIFDnBheW1lbnRBbW91bnRzCQDMCAIFD3BheW1lbnRBc3NldElkcwUDbmlsBQtsb2NrUGF5bWVudAMJAAECBQFAAhYoTGlzdFtBbnldLCBMaXN0W0FueV0pBQFACQACAQkArAICCQADAQUBQAIrIGNvdWxkbid0IGJlIGNhc3QgdG8gKExpc3RbQW55XSwgTGlzdFtBbnldKQMJAAACBQskdDA0MjUwNDQwNwULJHQwNDI1MDQ0MDcEBGRhdGEIBQskdDA0MjUwNDQwNwJfMgQHYWN0aW9ucwgFCyR0MDQyNTA0NDA3Al8xBAptYXBwZWREYXRhCgACJGwFBGRhdGEKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjFfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBC2NvbGxlY3REYXRhAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYxXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBA1tYXBwZWRBY3Rpb25zCgACJGwFB2FjdGlvbnMKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjJfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBDGNvbGxlY3RTdGF0ZQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMl8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTUJAQUkZjJfMgIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIJAQUkZjJfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8JAJQKAgUNbWFwcGVkQWN0aW9ucwUKbWFwcGVkRGF0YQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLggBaQEMY2FsbEZ1bmN0aW9uAghmdW5jTmFtZQRhcmdzCQEKY2FsbENvbW1vbgQFCGZ1bmNOYW1lCAgFAWkGY2FsbGVyBWJ5dGVzBQRhcmdzCAUBaQhwYXltZW50cwFpAQhzaHV0ZG93bgAJAQt2YWx1ZU9yRWxzZQIJAQtpc0FkbWluQ2FsbAEIBQFpD2NhbGxlclB1YmxpY0tleQMJAQEhAQUGYWN0aXZlCQACAQkArAICAiJEQXBwIGlzIGFscmVhZHkgc3VzcGVuZGVkLiBDYXVzZTogCQELdmFsdWVPckVsc2UCCQCdCAIFBHRoaXMFBmtDYXVzZQIadGhlIGNhdXNlIHdhc24ndCBzcGVjaWZpZWQJAQdzdXNwZW5kAQIPUGF1c2VkIGJ5IGFkbWluAWkBCGFjdGl2YXRlAAkBC3ZhbHVlT3JFbHNlAgkBC2lzQWRtaW5DYWxsAQgFAWkPY2FsbGVyUHVibGljS2V5AwUGYWN0aXZlCQACAQIWREFwcCBpcyBhbHJlYWR5IGFjdGl2ZQkAzAgCCQEMQm9vbGVhbkVudHJ5AgUHa0FjdGl2ZQYJAMwIAgkBC0RlbGV0ZUVudHJ5AQUGa0NhdXNlBQNuaWwBaQEMc3Rha2VVbnN0YWtlAwVzdGFrZQZhbW91bnQNYXNzZXRJZFN0cmluZwkBC3ZhbHVlT3JFbHNlAgkBCGlzQWN0aXZlAAMJAQIhPQIIBQFpBmNhbGxlcgUMY3BtbUNvbnRyYWN0CQACAQItT25seSBnbG9iYWwgQ29udHJhY3QgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAwkAAAIFDWFzc2V0SWRTdHJpbmcCBVdBVkVTBARwb29sCQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUGb3JhY2xlBQxrTGVhc2luZ1Bvb2wCGU5vIGxlYXNpbmcgcG9vbCBpbiBvcmFjbGUECWxlYXNpbmdJZAkAnAgCBQR0aGlzBQprTGVhc2luZ0lkBA1sZWFzaW5nQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFDmtMZWFzaW5nQW1vdW50AAAEDm5ld0xlYXNlQW1vdW50AwUFc3Rha2UJAGQCBQ1sZWFzaW5nQW1vdW50BQZhbW91bnQJAGUCBQ1sZWFzaW5nQW1vdW50BQZhbW91bnQECG5ld0xlYXNlCQDECAIFBHBvb2wFDm5ld0xlYXNlQW1vdW50BApuZXdMZWFzZUlkCQC5CAEFCG5ld0xlYXNlBAhiYXNlRXRyeQkAzAgCBQhuZXdMZWFzZQkAzAgCCQELQmluYXJ5RW50cnkCBQprTGVhc2luZ0lkBQpuZXdMZWFzZUlkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ5rTGVhc2luZ0Ftb3VudAUObmV3TGVhc2VBbW91bnQFA25pbAQHJG1hdGNoMAUJbGVhc2luZ0lkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEA2xJZAUHJG1hdGNoMAkAzggCCQDMCAIJAQtMZWFzZUNhbmNlbAEFA2xJZAUDbmlsBQhiYXNlRXRyeQUIYmFzZUV0cnkECyR0MDY0MDM2NTA2CQERY2FsY1N0YWtpbmdQYXJhbXMDBQVzdGFrZQUGYW1vdW50CQDZBAEFDWFzc2V0SWRTdHJpbmcEBGNhbGwIBQskdDA2NDAzNjUwNgJfMQQEYWRkcggFCyR0MDY0MDM2NTA2Al8yBAZwYXJhbXMIBQskdDA2NDAzNjUwNgJfMwQIcGF5bWVudHMIBQskdDA2NDAzNjUwNgJfNAQDaW52CQD8BwQFBGFkZHIFBGNhbGwFBnBhcmFtcwUIcGF5bWVudHMDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARFyZWlzc3VlU2hhcmVUb2tlbgEGYW1vdW50CQELdmFsdWVPckVsc2UCCQEOaXNHbG9iYWxDYWxsZXIBCAUBaQZjYWxsZXIJAQt2YWx1ZU9yRWxzZQIJAQhpc0FjdGl2ZQAEDHNoYXJlQXNzZXRJZAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBQ1rU2hhcmVBc3NldElkCQDMCAIJAQdSZWlzc3VlAwUMc2hhcmVBc3NldElkBQZhbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQxzaGFyZUFzc2V0SWQFA25pbAFpARZyZXBsZW5pc2hXaXRoVHdvVG9rZW5zARFzbGlwcGFnZVRvbGVyYW5jZQkBCmNhbGxDb21tb24EAhZyZXBsZW5pc2hXaXRoVHdvVG9rZW5zCAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAICBWZhbHNlCQDMCAICATAFA25pbAgFAWkIcGF5bWVudHMBaQEId2l0aGRyYXcACQEKY2FsbENvbW1vbgQCCHdpdGhkcmF3CAgFAWkGY2FsbGVyBWJ5dGVzCQDMCAICATAFA25pbAgFAWkIcGF5bWVudHMBaQEIZXhjaGFuZ2UBEm1pbkFtb3VudFRvUmVjZWl2ZQkBCmNhbGxDb21tb24EAghleGNoYW5nZQgIBQFpBmNhbGxlcgVieXRlcwkAzAgCCQCkAwEFEm1pbkFtb3VudFRvUmVjZWl2ZQUDbmlsCAUBaQhwYXltZW50cwECdHgBBnZlcmlmeQAEE211bHRpU2lnbmVkQnlBZG1pbnMEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MQABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFDGFkbWluUHViS2V5MgABAAAEEmFkbWluUHViS2V5M1NpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFDGFkbWluUHViS2V5MwABAAAJAGcCCQBkAgkAZAIFEmFkbWluUHViS2V5MVNpZ25lZAUSYWRtaW5QdWJLZXkyU2lnbmVkBRJhZG1pblB1YktleTNTaWduZWQAAgUTbXVsdGlTaWduZWRCeUFkbWlucwdfBRo=", "height": 3398671, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EmgUfr7ebkmeWPhqpPC4eaCjnNXkUCwNvqw3PTuonzck Next: BmoYkryGruuEFKDXAk3yqmTJaqbGmCpjQJHFq3dHcL4T Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
6-let b = "shutdown_cause"
6+let b = "active_all_contracts"
77
8-let c = "staking_usdnnsbt_address"
8+let c = "shutdown_cause"
99
10-let d = "staking_eurn_address"
10+let d = "staking_usdnnsbt_address"
1111
12-let e = "leasing_address"
12+let e = "staking_eurn_address"
1313
14-let f = "leasing_amount"
14+let f = "leasing_address"
1515
16-let g = "leasing_id"
16+let g = "leasing_amount"
1717
18-let h = "admin_pub_1"
18+let h = "leasing_id"
1919
20-let i = "admin_pub_2"
20+let i = "admin_pub_1"
2121
22-let j = "admin_pub_3"
22+let j = "admin_pub_2"
2323
24-let k = "admin_invoke_pub"
24+let k = "admin_pub_3"
2525
26-let l = "cpmm_contract"
26+let l = "admin_invoke_pub"
2727
28-let m = "usdn_asset_id"
28+let m = "cpmm_contract"
2929
30-let n = "eurn_asset_id"
30+let n = "usdn_asset_id"
3131
32-let o = "staking_assets"
32+let o = "eurn_asset_id"
3333
34-let p = "share_asset_id"
34+let p = "staking_assets"
3535
36-let q = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom')
36+let q = "share_asset_id"
3737
38-func r (s) = {
39- let t = getString(q, s)
40- if ($isInstanceOf(t, "String"))
38+let r = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom')
39+
40+func s (t) = {
41+ let u = getString(r, t)
42+ if ($isInstanceOf(u, "String"))
4143 then {
42- let u = t
43- fromBase58String(u)
44+ let v = u
45+ fromBase58String(v)
4446 }
4547 else {
46- let v = t
47- throw((s + "is empty"))
48+ let w = u
49+ throw((t + "is empty"))
4850 }
4951 }
5052
5153
52-let w = r(h)
54+let x = s(i)
5355
54-let x = r(i)
56+let y = s(j)
5557
56-let y = r(j)
58+let z = s(k)
5759
58-let z = r(k)
60+let A = s(l)
5961
60-let A = Address(r(c))
62+let B = Address(s(d))
6163
62-let B = Address(r(d))
64+let C = Address(s(e))
6365
64-let C = Address(r(l))
66+let D = Address(s(m))
6567
66-let D = r(m)
68+let E = s(n)
6769
68-let E = r(n)
70+let F = s(o)
6971
70-let F = getStringValue(q, o)
72+let G = getStringValue(r, p)
7173
72-let G = valueOrElse(getBoolean(this, a), true)
74+let H = valueOrElse(getBoolean(r, b), true)
7375
74-func H () = if (G)
76+let I = valueOrElse(getBoolean(this, a), true)
77+
78+func J () = if (if (I)
79+ then H
80+ else false)
7581 then unit
7682 else throw("DApp is inactive at this moment")
7783
7884
79-func I (J) = if ((J == C))
85+func K (L) = if ((L == D))
8086 then unit
8187 else throw("Only global Contract can invoke this function")
8288
8389
84-func K (L) = if (containsElement([w, x, y], L))
90+func M (N) = if (containsElement([x, y, z], N))
8591 then unit
8692 else throw("Only admin can call this function")
8793
8894
89-func M (N) = [BooleanEntry(a, false), StringEntry(b, N)]
95+func O (P) = [BooleanEntry(a, false), StringEntry(c, P)]
9096
9197
92-func O (P,Q) = if (P)
93- then if ((Q == D))
94- then $Tuple2("lockNeutrino", A)
95- else $Tuple2("startStaking", B)
96- else if ((Q == D))
97- then $Tuple2("unlockNeutrino", A)
98- else $Tuple2("stopStaking", B)
98+func Q (R,S) = if (R)
99+ then if ((S == E))
100+ then $Tuple2("lockNeutrino", B)
101+ else $Tuple2("startStaking", C)
102+ else if ((S == E))
103+ then $Tuple2("unlockNeutrino", B)
104+ else $Tuple2("stopStaking", C)
99105
100106
101-func R (P,S,Q) = if (P)
107+func T (R,U,S) = if (R)
102108 then {
103- let T = O(P, Q)
104- let U = T._1
105- let V = T._2
106- $Tuple4(U, V, nil, [AttachedPayment(Q, S)])
109+ let V = Q(R, S)
110+ let W = V._1
111+ let X = V._2
112+ $Tuple4(W, X, nil, [AttachedPayment(S, U)])
107113 }
108114 else {
109- let W = O(P, Q)
110- let U = W._1
111- let V = W._2
112- $Tuple4(U, V, [S, toBase58String(Q)], nil)
115+ let Y = Q(R, S)
116+ let W = Y._1
117+ let X = Y._2
118+ $Tuple4(W, X, [U, toBase58String(S)], nil)
113119 }
114120
115121
116-func X (Y,Z) = {
117- let aa = Y
118- let ab = aa._1
119- let ac = aa._2
120- $Tuple2((ab :+ Z.amount), (ac :+ (if ((Z.assetId == unit))
122+func Z (aa,ab) = {
123+ let ac = aa
124+ let ad = ac._1
125+ let ae = ac._2
126+ $Tuple2((ad :+ ab.amount), (ae :+ (if ((ab.assetId == unit))
121127 then base58''
122- else Z.assetId)))
128+ else ab.assetId)))
123129 }
124130
125131
126-func ad (ae,af) = {
127- let t = af
128- if (if ($isInstanceOf(t, "Issue"))
132+func af (ag,ah) = {
133+ let u = ah
134+ if (if ($isInstanceOf(u, "Issue"))
129135 then true
130- else if ($isInstanceOf(t, "Burn"))
136+ else if ($isInstanceOf(u, "Burn"))
131137 then true
132- else if ($isInstanceOf(t, "Reissue"))
138+ else if ($isInstanceOf(u, "Reissue"))
133139 then true
134- else if ($isInstanceOf(t, "ScriptTransfer"))
140+ else if ($isInstanceOf(u, "ScriptTransfer"))
135141 then true
136- else if ($isInstanceOf(t, "BinaryEntry"))
142+ else if ($isInstanceOf(u, "BinaryEntry"))
137143 then true
138- else if ($isInstanceOf(t, "BooleanEntry"))
144+ else if ($isInstanceOf(u, "BooleanEntry"))
139145 then true
140- else if ($isInstanceOf(t, "StringEntry"))
146+ else if ($isInstanceOf(u, "StringEntry"))
141147 then true
142- else $isInstanceOf(t, "IntegerEntry"))
148+ else $isInstanceOf(u, "IntegerEntry"))
143149 then {
144- let ag = t
145- (ae :+ ag)
150+ let ai = u
151+ (ag :+ ai)
146152 }
147- else ae
153+ else ag
148154 }
149155
150156
151-func ah (ae,af) = {
152- let t = af
153- if ($isInstanceOf(t, "String"))
157+func aj (ag,ah) = {
158+ let u = ah
159+ if ($isInstanceOf(u, "String"))
154160 then {
155- let ai = t
156- (ae :+ ai)
161+ let ak = u
162+ (ag :+ ak)
157163 }
158- else if ($isInstanceOf(t, "Int"))
164+ else if ($isInstanceOf(u, "Int"))
159165 then {
160- let ai = t
161- (ae :+ ai)
166+ let ak = u
167+ (ag :+ ak)
162168 }
163- else if ($isInstanceOf(t, "Boolean"))
169+ else if ($isInstanceOf(u, "Boolean"))
164170 then {
165- let ai = t
166- (ae :+ ai)
171+ let ak = u
172+ (ag :+ ak)
167173 }
168- else if ($isInstanceOf(t, "ByteVector"))
174+ else if ($isInstanceOf(u, "ByteVector"))
169175 then {
170- let ai = t
171- (ae :+ ai)
176+ let ak = u
177+ (ag :+ ak)
172178 }
173- else if ($isInstanceOf(t, "Unit"))
179+ else if ($isInstanceOf(u, "Unit"))
174180 then {
175- let ai = t
176- (ae :+ ai)
181+ let ak = u
182+ (ag :+ ak)
177183 }
178184 else throw()
179185 }
180186
181187
182-func aj (ak,J,al,am) = valueOrElse(H(), {
183- let an = {
184- let ao = am
185- let ap = size(ao)
186- let aq = $Tuple2(nil, nil)
187- func ar (as,at) = if ((at >= ap))
188- then as
189- else X(as, ao[at])
188+func al (am,L,an,ao) = valueOrElse(J(), {
189+ let ap = {
190+ let aq = ao
191+ let ar = size(aq)
192+ let as = $Tuple2(nil, nil)
193+ func at (au,av) = if ((av >= ar))
194+ then au
195+ else Z(au, aq[av])
190196
191- func au (as,at) = if ((at >= ap))
192- then as
197+ func aw (au,av) = if ((av >= ar))
198+ then au
193199 else throw("List size exceeds 10")
194200
195- au(ar(ar(ar(ar(ar(ar(ar(ar(ar(ar(aq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
201+ aw(at(at(at(at(at(at(at(at(at(at(as, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
196202 }
197- let ab = an._1
198- let ac = an._2
199- let av = {
200- let aw = reentrantInvoke(C, ak, [J, al, ab, ac], nil)
201- if ($isInstanceOf(aw, "(List[Any], List[Any])"))
202- then aw
203- else throw(($getType(aw) + " couldn't be cast to (List[Any], List[Any])"))
203+ let ad = ap._1
204+ let ae = ap._2
205+ let ax = if (if ((am == "replenishWithTwoTokens"))
206+ then (size(ao) == 3)
207+ else false)
208+ then [ao[2]]
209+ else if (if ((am == "replenishWithOneToken"))
210+ then (size(ao) == 2)
211+ else false)
212+ then [ao[1]]
213+ else nil
214+ let ay = {
215+ let az = reentrantInvoke(D, am, [L, an, ad, ae], ax)
216+ if ($isInstanceOf(az, "(List[Any], List[Any])"))
217+ then az
218+ else throw(($getType(az) + " couldn't be cast to (List[Any], List[Any])"))
204219 }
205- if ((av == av))
220+ if ((ay == ay))
206221 then {
207- let ax = av._2
208- let ay = av._1
209- let az = {
210- let ao = ax
211- let ap = size(ao)
212- let aq = nil
213- func aA (as,at) = if ((at >= ap))
214- then as
215- else ah(as, ao[at])
222+ let aA = ay._2
223+ let aB = ay._1
224+ let aC = {
225+ let aq = aA
226+ let ar = size(aq)
227+ let as = nil
228+ func aD (au,av) = if ((av >= ar))
229+ then au
230+ else aj(au, aq[av])
216231
217- func aB (as,at) = if ((at >= ap))
218- then as
232+ func aE (au,av) = if ((av >= ar))
233+ then au
219234 else throw("List size exceeds 10")
220235
221- aB(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
236+ aE(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(as, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
222237 }
223- let aC = {
224- let ao = ay
225- let ap = size(ao)
226- let aq = nil
227- func aD (as,at) = if ((at >= ap))
228- then as
229- else ad(as, ao[at])
238+ let aF = {
239+ let aq = aB
240+ let ar = size(aq)
241+ let as = nil
242+ func aG (au,av) = if ((av >= ar))
243+ then au
244+ else af(au, aq[av])
230245
231- func aE (as,at) = if ((at >= ap))
232- then as
246+ func aH (au,av) = if ((av >= ar))
247+ then au
233248 else throw("List size exceeds 15")
234249
235- aE(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
250+ aH(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(as, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
236251 }
237- $Tuple2(aC, az)
252+ $Tuple2(aF, aC)
238253 }
239254 else throw("Strict value is not equal to itself.")
240255 })
241256
242257
243-@Callable(aF)
244-func callFunction (ak,al) = aj(ak, aF.caller.bytes, al, aF.payments)
258+@Callable(aI)
259+func callFunction (am,an) = al(am, aI.caller.bytes, an, aI.payments)
245260
246261
247262
248-@Callable(aF)
249-func shutdown () = valueOrElse(K(aF.callerPublicKey), if (!(G))
250- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
251- else M("Paused by admin"))
263+@Callable(aI)
264+func shutdown () = valueOrElse(M(aI.callerPublicKey), if (!(I))
265+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, c), "the cause wasn't specified")))
266+ else O("Paused by admin"))
252267
253268
254269
255-@Callable(aF)
256-func activate () = valueOrElse(K(aF.callerPublicKey), if (G)
270+@Callable(aI)
271+func activate () = valueOrElse(M(aI.callerPublicKey), if (I)
257272 then throw("DApp is already active")
258- else [BooleanEntry(a, true), DeleteEntry(b)])
273+ else [BooleanEntry(a, true), DeleteEntry(c)])
259274
260275
261276
262-@Callable(aF)
263-func stakeUnstake (P,S,aG) = valueOrElse(H(), if ((aF.caller != C))
277+@Callable(aI)
278+func stakeUnstake (R,U,aJ) = valueOrElse(J(), if ((aI.caller != D))
264279 then throw("Only global Contract can invoke this function")
265- else if ((aG == "WAVES"))
280+ else if ((aJ == "WAVES"))
266281 then {
267- let aH = addressFromStringValue(valueOrErrorMessage(getString(q, e), "No leasing pool in oracle"))
268- let aI = getBinary(this, g)
269- let aJ = valueOrElse(getInteger(this, f), 0)
270- let aK = if (P)
271- then (aJ + S)
272- else (aJ - S)
273- let aL = Lease(aH, aK)
274- let aM = calculateLeaseId(aL)
275- let aN = [aL, BinaryEntry(g, aM), IntegerEntry(f, aK)]
276- let t = aI
277- if ($isInstanceOf(t, "ByteVector"))
282+ let aK = addressFromStringValue(valueOrErrorMessage(getString(r, f), "No leasing pool in oracle"))
283+ let aL = getBinary(this, h)
284+ let aM = valueOrElse(getInteger(this, g), 0)
285+ let aN = if (R)
286+ then (aM + U)
287+ else (aM - U)
288+ let aO = Lease(aK, aN)
289+ let aP = calculateLeaseId(aO)
290+ let aQ = [aO, BinaryEntry(h, aP), IntegerEntry(g, aN)]
291+ let u = aL
292+ if ($isInstanceOf(u, "ByteVector"))
278293 then {
279- let aO = t
280- ([LeaseCancel(aO)] ++ aN)
294+ let aR = u
295+ ([LeaseCancel(aR)] ++ aQ)
281296 }
282- else aN
297+ else aQ
283298 }
284299 else {
285- let aP = R(P, S, fromBase58String(aG))
286- let U = aP._1
287- let aQ = aP._2
288- let aR = aP._3
289- let am = aP._4
290- let aS = invoke(aQ, U, aR, am)
291- if ((aS == aS))
300+ let aS = T(R, U, fromBase58String(aJ))
301+ let W = aS._1
302+ let aT = aS._2
303+ let aU = aS._3
304+ let ao = aS._4
305+ let aV = invoke(aT, W, aU, ao)
306+ if ((aV == aV))
292307 then nil
293308 else throw("Strict value is not equal to itself.")
294309 })
295310
296311
297312
298-@Callable(aF)
299-func reissueShareToken (S) = valueOrElse(I(aF.caller), valueOrElse(H(), {
300- let aT = fromBase58String(getStringValue(this, p))
301-[Reissue(aT, S, true), ScriptTransfer(aF.caller, S, aT)]
313+@Callable(aI)
314+func reissueShareToken (U) = valueOrElse(K(aI.caller), valueOrElse(J(), {
315+ let aW = fromBase58String(getStringValue(this, q))
316+[Reissue(aW, U, true), ScriptTransfer(aI.caller, U, aW)]
302317 }))
303318
304319
305320
306-@Callable(aF)
307-func replenishWithTwoTokens (aU) = aj("replenishWithTwoTokens", aF.caller.bytes, ["false", "0"], aF.payments)
321+@Callable(aI)
322+func replenishWithTwoTokens (aX) = al("replenishWithTwoTokens", aI.caller.bytes, ["false", "0"], aI.payments)
308323
309324
310325
311-@Callable(aF)
312-func withdraw () = aj("withdraw", aF.caller.bytes, ["0"], aF.payments)
326+@Callable(aI)
327+func withdraw () = al("withdraw", aI.caller.bytes, ["0"], aI.payments)
313328
314329
315330
316-@Callable(aF)
317-func exchange (aV) = aj("exchange", aF.caller.bytes, [toString(aV)], aF.payments)
331+@Callable(aI)
332+func exchange (aY) = al("exchange", aI.caller.bytes, [toString(aY)], aI.payments)
318333
319334
320-@Verifier(aW)
321-func aX () = {
322- let aY = {
323- let aZ = if (sigVerify(aW.bodyBytes, aW.proofs[0], w))
335+@Verifier(aZ)
336+func ba () = {
337+ let bb = {
338+ let bc = if (sigVerify(aZ.bodyBytes, aZ.proofs[0], x))
324339 then 1
325340 else 0
326- let ba = if (sigVerify(aW.bodyBytes, aW.proofs[1], x))
341+ let bd = if (sigVerify(aZ.bodyBytes, aZ.proofs[1], y))
327342 then 1
328343 else 0
329- let bb = if (sigVerify(aW.bodyBytes, aW.proofs[2], y))
344+ let be = if (sigVerify(aZ.bodyBytes, aZ.proofs[2], z))
330345 then 1
331346 else 0
332- (((aZ + ba) + bb) >= 2)
347+ (((bc + bd) + be) >= 2)
333348 }
334- aY
349+ bb
335350 }
336351
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
6-let b = "shutdown_cause"
6+let b = "active_all_contracts"
77
8-let c = "staking_usdnnsbt_address"
8+let c = "shutdown_cause"
99
10-let d = "staking_eurn_address"
10+let d = "staking_usdnnsbt_address"
1111
12-let e = "leasing_address"
12+let e = "staking_eurn_address"
1313
14-let f = "leasing_amount"
14+let f = "leasing_address"
1515
16-let g = "leasing_id"
16+let g = "leasing_amount"
1717
18-let h = "admin_pub_1"
18+let h = "leasing_id"
1919
20-let i = "admin_pub_2"
20+let i = "admin_pub_1"
2121
22-let j = "admin_pub_3"
22+let j = "admin_pub_2"
2323
24-let k = "admin_invoke_pub"
24+let k = "admin_pub_3"
2525
26-let l = "cpmm_contract"
26+let l = "admin_invoke_pub"
2727
28-let m = "usdn_asset_id"
28+let m = "cpmm_contract"
2929
30-let n = "eurn_asset_id"
30+let n = "usdn_asset_id"
3131
32-let o = "staking_assets"
32+let o = "eurn_asset_id"
3333
34-let p = "share_asset_id"
34+let p = "staking_assets"
3535
36-let q = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom')
36+let q = "share_asset_id"
3737
38-func r (s) = {
39- let t = getString(q, s)
40- if ($isInstanceOf(t, "String"))
38+let r = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom')
39+
40+func s (t) = {
41+ let u = getString(r, t)
42+ if ($isInstanceOf(u, "String"))
4143 then {
42- let u = t
43- fromBase58String(u)
44+ let v = u
45+ fromBase58String(v)
4446 }
4547 else {
46- let v = t
47- throw((s + "is empty"))
48+ let w = u
49+ throw((t + "is empty"))
4850 }
4951 }
5052
5153
52-let w = r(h)
54+let x = s(i)
5355
54-let x = r(i)
56+let y = s(j)
5557
56-let y = r(j)
58+let z = s(k)
5759
58-let z = r(k)
60+let A = s(l)
5961
60-let A = Address(r(c))
62+let B = Address(s(d))
6163
62-let B = Address(r(d))
64+let C = Address(s(e))
6365
64-let C = Address(r(l))
66+let D = Address(s(m))
6567
66-let D = r(m)
68+let E = s(n)
6769
68-let E = r(n)
70+let F = s(o)
6971
70-let F = getStringValue(q, o)
72+let G = getStringValue(r, p)
7173
72-let G = valueOrElse(getBoolean(this, a), true)
74+let H = valueOrElse(getBoolean(r, b), true)
7375
74-func H () = if (G)
76+let I = valueOrElse(getBoolean(this, a), true)
77+
78+func J () = if (if (I)
79+ then H
80+ else false)
7581 then unit
7682 else throw("DApp is inactive at this moment")
7783
7884
79-func I (J) = if ((J == C))
85+func K (L) = if ((L == D))
8086 then unit
8187 else throw("Only global Contract can invoke this function")
8288
8389
84-func K (L) = if (containsElement([w, x, y], L))
90+func M (N) = if (containsElement([x, y, z], N))
8591 then unit
8692 else throw("Only admin can call this function")
8793
8894
89-func M (N) = [BooleanEntry(a, false), StringEntry(b, N)]
95+func O (P) = [BooleanEntry(a, false), StringEntry(c, P)]
9096
9197
92-func O (P,Q) = if (P)
93- then if ((Q == D))
94- then $Tuple2("lockNeutrino", A)
95- else $Tuple2("startStaking", B)
96- else if ((Q == D))
97- then $Tuple2("unlockNeutrino", A)
98- else $Tuple2("stopStaking", B)
98+func Q (R,S) = if (R)
99+ then if ((S == E))
100+ then $Tuple2("lockNeutrino", B)
101+ else $Tuple2("startStaking", C)
102+ else if ((S == E))
103+ then $Tuple2("unlockNeutrino", B)
104+ else $Tuple2("stopStaking", C)
99105
100106
101-func R (P,S,Q) = if (P)
107+func T (R,U,S) = if (R)
102108 then {
103- let T = O(P, Q)
104- let U = T._1
105- let V = T._2
106- $Tuple4(U, V, nil, [AttachedPayment(Q, S)])
109+ let V = Q(R, S)
110+ let W = V._1
111+ let X = V._2
112+ $Tuple4(W, X, nil, [AttachedPayment(S, U)])
107113 }
108114 else {
109- let W = O(P, Q)
110- let U = W._1
111- let V = W._2
112- $Tuple4(U, V, [S, toBase58String(Q)], nil)
115+ let Y = Q(R, S)
116+ let W = Y._1
117+ let X = Y._2
118+ $Tuple4(W, X, [U, toBase58String(S)], nil)
113119 }
114120
115121
116-func X (Y,Z) = {
117- let aa = Y
118- let ab = aa._1
119- let ac = aa._2
120- $Tuple2((ab :+ Z.amount), (ac :+ (if ((Z.assetId == unit))
122+func Z (aa,ab) = {
123+ let ac = aa
124+ let ad = ac._1
125+ let ae = ac._2
126+ $Tuple2((ad :+ ab.amount), (ae :+ (if ((ab.assetId == unit))
121127 then base58''
122- else Z.assetId)))
128+ else ab.assetId)))
123129 }
124130
125131
126-func ad (ae,af) = {
127- let t = af
128- if (if ($isInstanceOf(t, "Issue"))
132+func af (ag,ah) = {
133+ let u = ah
134+ if (if ($isInstanceOf(u, "Issue"))
129135 then true
130- else if ($isInstanceOf(t, "Burn"))
136+ else if ($isInstanceOf(u, "Burn"))
131137 then true
132- else if ($isInstanceOf(t, "Reissue"))
138+ else if ($isInstanceOf(u, "Reissue"))
133139 then true
134- else if ($isInstanceOf(t, "ScriptTransfer"))
140+ else if ($isInstanceOf(u, "ScriptTransfer"))
135141 then true
136- else if ($isInstanceOf(t, "BinaryEntry"))
142+ else if ($isInstanceOf(u, "BinaryEntry"))
137143 then true
138- else if ($isInstanceOf(t, "BooleanEntry"))
144+ else if ($isInstanceOf(u, "BooleanEntry"))
139145 then true
140- else if ($isInstanceOf(t, "StringEntry"))
146+ else if ($isInstanceOf(u, "StringEntry"))
141147 then true
142- else $isInstanceOf(t, "IntegerEntry"))
148+ else $isInstanceOf(u, "IntegerEntry"))
143149 then {
144- let ag = t
145- (ae :+ ag)
150+ let ai = u
151+ (ag :+ ai)
146152 }
147- else ae
153+ else ag
148154 }
149155
150156
151-func ah (ae,af) = {
152- let t = af
153- if ($isInstanceOf(t, "String"))
157+func aj (ag,ah) = {
158+ let u = ah
159+ if ($isInstanceOf(u, "String"))
154160 then {
155- let ai = t
156- (ae :+ ai)
161+ let ak = u
162+ (ag :+ ak)
157163 }
158- else if ($isInstanceOf(t, "Int"))
164+ else if ($isInstanceOf(u, "Int"))
159165 then {
160- let ai = t
161- (ae :+ ai)
166+ let ak = u
167+ (ag :+ ak)
162168 }
163- else if ($isInstanceOf(t, "Boolean"))
169+ else if ($isInstanceOf(u, "Boolean"))
164170 then {
165- let ai = t
166- (ae :+ ai)
171+ let ak = u
172+ (ag :+ ak)
167173 }
168- else if ($isInstanceOf(t, "ByteVector"))
174+ else if ($isInstanceOf(u, "ByteVector"))
169175 then {
170- let ai = t
171- (ae :+ ai)
176+ let ak = u
177+ (ag :+ ak)
172178 }
173- else if ($isInstanceOf(t, "Unit"))
179+ else if ($isInstanceOf(u, "Unit"))
174180 then {
175- let ai = t
176- (ae :+ ai)
181+ let ak = u
182+ (ag :+ ak)
177183 }
178184 else throw()
179185 }
180186
181187
182-func aj (ak,J,al,am) = valueOrElse(H(), {
183- let an = {
184- let ao = am
185- let ap = size(ao)
186- let aq = $Tuple2(nil, nil)
187- func ar (as,at) = if ((at >= ap))
188- then as
189- else X(as, ao[at])
188+func al (am,L,an,ao) = valueOrElse(J(), {
189+ let ap = {
190+ let aq = ao
191+ let ar = size(aq)
192+ let as = $Tuple2(nil, nil)
193+ func at (au,av) = if ((av >= ar))
194+ then au
195+ else Z(au, aq[av])
190196
191- func au (as,at) = if ((at >= ap))
192- then as
197+ func aw (au,av) = if ((av >= ar))
198+ then au
193199 else throw("List size exceeds 10")
194200
195- au(ar(ar(ar(ar(ar(ar(ar(ar(ar(ar(aq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
201+ aw(at(at(at(at(at(at(at(at(at(at(as, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
196202 }
197- let ab = an._1
198- let ac = an._2
199- let av = {
200- let aw = reentrantInvoke(C, ak, [J, al, ab, ac], nil)
201- if ($isInstanceOf(aw, "(List[Any], List[Any])"))
202- then aw
203- else throw(($getType(aw) + " couldn't be cast to (List[Any], List[Any])"))
203+ let ad = ap._1
204+ let ae = ap._2
205+ let ax = if (if ((am == "replenishWithTwoTokens"))
206+ then (size(ao) == 3)
207+ else false)
208+ then [ao[2]]
209+ else if (if ((am == "replenishWithOneToken"))
210+ then (size(ao) == 2)
211+ else false)
212+ then [ao[1]]
213+ else nil
214+ let ay = {
215+ let az = reentrantInvoke(D, am, [L, an, ad, ae], ax)
216+ if ($isInstanceOf(az, "(List[Any], List[Any])"))
217+ then az
218+ else throw(($getType(az) + " couldn't be cast to (List[Any], List[Any])"))
204219 }
205- if ((av == av))
220+ if ((ay == ay))
206221 then {
207- let ax = av._2
208- let ay = av._1
209- let az = {
210- let ao = ax
211- let ap = size(ao)
212- let aq = nil
213- func aA (as,at) = if ((at >= ap))
214- then as
215- else ah(as, ao[at])
222+ let aA = ay._2
223+ let aB = ay._1
224+ let aC = {
225+ let aq = aA
226+ let ar = size(aq)
227+ let as = nil
228+ func aD (au,av) = if ((av >= ar))
229+ then au
230+ else aj(au, aq[av])
216231
217- func aB (as,at) = if ((at >= ap))
218- then as
232+ func aE (au,av) = if ((av >= ar))
233+ then au
219234 else throw("List size exceeds 10")
220235
221- aB(aA(aA(aA(aA(aA(aA(aA(aA(aA(aA(aq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
236+ aE(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(as, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
222237 }
223- let aC = {
224- let ao = ay
225- let ap = size(ao)
226- let aq = nil
227- func aD (as,at) = if ((at >= ap))
228- then as
229- else ad(as, ao[at])
238+ let aF = {
239+ let aq = aB
240+ let ar = size(aq)
241+ let as = nil
242+ func aG (au,av) = if ((av >= ar))
243+ then au
244+ else af(au, aq[av])
230245
231- func aE (as,at) = if ((at >= ap))
232- then as
246+ func aH (au,av) = if ((av >= ar))
247+ then au
233248 else throw("List size exceeds 15")
234249
235- aE(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aD(aq, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
250+ aH(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(aG(as, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
236251 }
237- $Tuple2(aC, az)
252+ $Tuple2(aF, aC)
238253 }
239254 else throw("Strict value is not equal to itself.")
240255 })
241256
242257
243-@Callable(aF)
244-func callFunction (ak,al) = aj(ak, aF.caller.bytes, al, aF.payments)
258+@Callable(aI)
259+func callFunction (am,an) = al(am, aI.caller.bytes, an, aI.payments)
245260
246261
247262
248-@Callable(aF)
249-func shutdown () = valueOrElse(K(aF.callerPublicKey), if (!(G))
250- then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, b), "the cause wasn't specified")))
251- else M("Paused by admin"))
263+@Callable(aI)
264+func shutdown () = valueOrElse(M(aI.callerPublicKey), if (!(I))
265+ then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, c), "the cause wasn't specified")))
266+ else O("Paused by admin"))
252267
253268
254269
255-@Callable(aF)
256-func activate () = valueOrElse(K(aF.callerPublicKey), if (G)
270+@Callable(aI)
271+func activate () = valueOrElse(M(aI.callerPublicKey), if (I)
257272 then throw("DApp is already active")
258- else [BooleanEntry(a, true), DeleteEntry(b)])
273+ else [BooleanEntry(a, true), DeleteEntry(c)])
259274
260275
261276
262-@Callable(aF)
263-func stakeUnstake (P,S,aG) = valueOrElse(H(), if ((aF.caller != C))
277+@Callable(aI)
278+func stakeUnstake (R,U,aJ) = valueOrElse(J(), if ((aI.caller != D))
264279 then throw("Only global Contract can invoke this function")
265- else if ((aG == "WAVES"))
280+ else if ((aJ == "WAVES"))
266281 then {
267- let aH = addressFromStringValue(valueOrErrorMessage(getString(q, e), "No leasing pool in oracle"))
268- let aI = getBinary(this, g)
269- let aJ = valueOrElse(getInteger(this, f), 0)
270- let aK = if (P)
271- then (aJ + S)
272- else (aJ - S)
273- let aL = Lease(aH, aK)
274- let aM = calculateLeaseId(aL)
275- let aN = [aL, BinaryEntry(g, aM), IntegerEntry(f, aK)]
276- let t = aI
277- if ($isInstanceOf(t, "ByteVector"))
282+ let aK = addressFromStringValue(valueOrErrorMessage(getString(r, f), "No leasing pool in oracle"))
283+ let aL = getBinary(this, h)
284+ let aM = valueOrElse(getInteger(this, g), 0)
285+ let aN = if (R)
286+ then (aM + U)
287+ else (aM - U)
288+ let aO = Lease(aK, aN)
289+ let aP = calculateLeaseId(aO)
290+ let aQ = [aO, BinaryEntry(h, aP), IntegerEntry(g, aN)]
291+ let u = aL
292+ if ($isInstanceOf(u, "ByteVector"))
278293 then {
279- let aO = t
280- ([LeaseCancel(aO)] ++ aN)
294+ let aR = u
295+ ([LeaseCancel(aR)] ++ aQ)
281296 }
282- else aN
297+ else aQ
283298 }
284299 else {
285- let aP = R(P, S, fromBase58String(aG))
286- let U = aP._1
287- let aQ = aP._2
288- let aR = aP._3
289- let am = aP._4
290- let aS = invoke(aQ, U, aR, am)
291- if ((aS == aS))
300+ let aS = T(R, U, fromBase58String(aJ))
301+ let W = aS._1
302+ let aT = aS._2
303+ let aU = aS._3
304+ let ao = aS._4
305+ let aV = invoke(aT, W, aU, ao)
306+ if ((aV == aV))
292307 then nil
293308 else throw("Strict value is not equal to itself.")
294309 })
295310
296311
297312
298-@Callable(aF)
299-func reissueShareToken (S) = valueOrElse(I(aF.caller), valueOrElse(H(), {
300- let aT = fromBase58String(getStringValue(this, p))
301-[Reissue(aT, S, true), ScriptTransfer(aF.caller, S, aT)]
313+@Callable(aI)
314+func reissueShareToken (U) = valueOrElse(K(aI.caller), valueOrElse(J(), {
315+ let aW = fromBase58String(getStringValue(this, q))
316+[Reissue(aW, U, true), ScriptTransfer(aI.caller, U, aW)]
302317 }))
303318
304319
305320
306-@Callable(aF)
307-func replenishWithTwoTokens (aU) = aj("replenishWithTwoTokens", aF.caller.bytes, ["false", "0"], aF.payments)
321+@Callable(aI)
322+func replenishWithTwoTokens (aX) = al("replenishWithTwoTokens", aI.caller.bytes, ["false", "0"], aI.payments)
308323
309324
310325
311-@Callable(aF)
312-func withdraw () = aj("withdraw", aF.caller.bytes, ["0"], aF.payments)
326+@Callable(aI)
327+func withdraw () = al("withdraw", aI.caller.bytes, ["0"], aI.payments)
313328
314329
315330
316-@Callable(aF)
317-func exchange (aV) = aj("exchange", aF.caller.bytes, [toString(aV)], aF.payments)
331+@Callable(aI)
332+func exchange (aY) = al("exchange", aI.caller.bytes, [toString(aY)], aI.payments)
318333
319334
320-@Verifier(aW)
321-func aX () = {
322- let aY = {
323- let aZ = if (sigVerify(aW.bodyBytes, aW.proofs[0], w))
335+@Verifier(aZ)
336+func ba () = {
337+ let bb = {
338+ let bc = if (sigVerify(aZ.bodyBytes, aZ.proofs[0], x))
324339 then 1
325340 else 0
326- let ba = if (sigVerify(aW.bodyBytes, aW.proofs[1], x))
341+ let bd = if (sigVerify(aZ.bodyBytes, aZ.proofs[1], y))
327342 then 1
328343 else 0
329- let bb = if (sigVerify(aW.bodyBytes, aW.proofs[2], y))
344+ let be = if (sigVerify(aZ.bodyBytes, aZ.proofs[2], z))
330345 then 1
331346 else 0
332- (((aZ + ba) + bb) >= 2)
347+ (((bc + bd) + be) >= 2)
333348 }
334- aY
349+ bb
335350 }
336351

github/deemru/w8io/3ef1775 
117.46 ms