tx · 8eM56QNm2yyZ6Gk7HCPPYKK2YiyjLtHQuQ7u9Ve19G93 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp: -0.01100000 Waves 2023.11.17 14:12 [3913129] smart account 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp > SELF 0.00000000 Waves
{ "type": 13, "id": "8eM56QNm2yyZ6Gk7HCPPYKK2YiyjLtHQuQ7u9Ve19G93", "fee": 1100000, "feeAssetId": null, "timestamp": 1700219642971, "version": 2, "chainId": 87, "sender": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "senderPublicKey": "GTY8yEJ2S4heRompxyvbJoBN1Td5BM5Pp4JgVbj9tmCw", "proofs": [ "", "5sj8rqskC2RraUP5gxh2Ns3AXtR74WXbgV5MZmqLkW3NqHQDDjSjFMB2tNiWCFLRNKU8nBTBtdfT8Skiu3scjhLN", "SbyVkhDGbQp1AvECMdJ6s9sZF7SCQkqTYpZjWCTxAFQCJ1Lw18kN33Np3yKkq49VqGP3YTwHKamk8uf9Ajz3nQS" ], "script": "base64:BgILCAISBwoFGAQICAEcAAZvcmFjbGUJAQdBZGRyZXNzAQEaAVeK/whomjW6QM1hdPISN96mN/D6OM7oHjgADWtBZG1pblB1YktleTECC2FkbWluX3B1Yl8xAA1rQWRtaW5QdWJLZXkyAgthZG1pbl9wdWJfMgANa0FkbWluUHViS2V5MwILYWRtaW5fcHViXzMAEmtBZG1pbkludm9rZVB1YktleQIQYWRtaW5faW52b2tlX3B1YgALa0dvdkFkZHJlc3MCEmdvdmVybmFuY2VfYWRkcmVzcwAMa0Zhcm1BZGRyZXNzAg9mYXJtaW5nX2FkZHJlc3MAD2tTdXJ2ZXlzQWRkcmVzcwIPc3VydmV5c19hZGRyZXNzAAxrUm91dGluZ0FkZHICD3JvdXRpbmdfYWRkcmVzcwAHa1NXT1BpZAIHU1dPUF9pZAAPa1ByZWZpeFBvb2xOYW1lAgVwb29sXwETZ2V0QmFzZTU4RnJvbU9yYWNsZQEDa2V5BAckbWF0Y2gwCQCdCAIFBm9yYWNsZQUDa2V5AwkAAQIFByRtYXRjaDACBlN0cmluZwQGc3RyaW5nBQckbWF0Y2gwCQDZBAEFBnN0cmluZwQHbm90aGluZwUHJG1hdGNoMAkAAgEJAKwCAgUDa2V5AghpcyBlbXB0eQAMYWRtaW5QdWJLZXkxCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTEADGFkbWluUHViS2V5MgkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkyAAxhZG1pblB1YktleTMJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MwALYWRtaW5JbnZva2UJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUSa0FkbWluSW52b2tlUHViS2V5ABFnb3Zlcm5hbmNlQWRkcmVzcwkBB0FkZHJlc3MBCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFC2tHb3ZBZGRyZXNzAA5mYXJtaW5nQWRkcmVzcwkBB0FkZHJlc3MBCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDGtGYXJtQWRkcmVzcwAOc3VydmV5c0FkZHJlc3MJAQdBZGRyZXNzAQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ9rU3VydmV5c0FkZHJlc3MADnJvdXRpbmdBZGRyZXNzCQEHQWRkcmVzcwEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUMa1JvdXRpbmdBZGRyAAZzd29wSWQJANkEAQkBEUBleHRyTmF0aXZlKDEwNTMpAgUOZmFybWluZ0FkZHJlc3MFB2tTV09QaWQBCmlzU2VsZkNhbGwBAWkDCQAAAggFAWkGY2FsbGVyBQR0aGlzBQR1bml0CQACAQIrT25seSBjb250cmFjdCBpdHNlbGYgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgEJbGlzdFRvSW50AgFhBGl0ZW0JAM0IAgUBYQkBDXBhcnNlSW50VmFsdWUBBQRpdGVtAQ5hc3NldElkRnJvbVN0cgEHYXNzZXRJZAMJAAACBQdhc3NldElkAgVXQVZFUwUEdW5pdAkA2QQBBQdhc3NldElkAQ5hY2NvdW50QmFsYW5jZQEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAJpZAUHJG1hdGNoMAkA8AcCBQR0aGlzBQJpZAMJAAECBQckbWF0Y2gwAgRVbml0BAV3YXZlcwUHJG1hdGNoMAgJAO8HAQUEdGhpcwlhdmFpbGFibGUJAAIBAgtNYXRjaCBlcnJvcgEQZGlyZWN0U3dvcGZpQ1BNTQEFckFyZ3MEBGRBcHAJARFAZXh0ck5hdGl2ZSgxMDYyKQEJAJEDAgUFckFyZ3MAAQQDcG10BARwbXRQCQC1CQIJAJEDAgUFckFyZ3MAAgIBfAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgkA2QQBCQCRAwIFBHBtdFAAAAkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBHBtdFAAAQUDbmlsBAttaW5Ub1JlY2l2ZQkAkQMCBQVyQXJncwADCQD8BwQFBGRBcHACDGNhbGxGdW5jdGlvbgkAzAgCAghleGNoYW5nZQkAzAgCCQDMCAIFC21pblRvUmVjaXZlBQNuaWwFA25pbAUDcG10ARNkaXJlY3RSb3V0aW5nU3dvcGZpAQVyQXJncwQEZEFwcAkBEUBleHRyTmF0aXZlKDEwNjIpAQkAkQMCBQVyQXJncwABBANwbXQEBHBtdFAJALUJAgkAkQMCBQVyQXJncwACAgF8CQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQDZBAEJAJEDAgUEcG10UAAACQENcGFyc2VJbnRWYWx1ZQEJAJEDAgUEcG10UAABBQNuaWwEBGFyZ3MEBWVBcmdzCQC1CQIJAJEDAgUFckFyZ3MAAwIBfAQKZXhjaGFuZ2VycwkAtQkCCQCRAwIFBWVBcmdzAAACASwEDmV4Y2hhbmdlcnNUeXBlCQC1CQIJAJEDAgUFZUFyZ3MAAQIBLAQFYXJnczEKAAIkbAkAtQkCCQCRAwIFBWVBcmdzAAICASwKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjBfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCWxpc3RUb0ludAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwQFYXJnczIKAAIkbAkAtQkCCQCRAwIFBWVBcmdzAAMCASwKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQNuaWwKAQUkZjFfMQICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkBCWxpc3RUb0ludAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQITTGlzdCBzaXplIGV4Y2VlZHMgMwkBBSRmMV8yAgkBBSRmMV8xAgkBBSRmMV8xAgkBBSRmMV8xAgUFJGFjYzAAAAABAAIAAwQRcm91dGluZ0Fzc2V0c0tleXMJALUJAgkAkQMCBQVlQXJncwAEAgEsBAttaW5Ub1JlY2l2ZQkBDXBhcnNlSW50VmFsdWUBCQCRAwIFBWVBcmdzAAUJAMwIAgUKZXhjaGFuZ2VycwkAzAgCBQ5leGNoYW5nZXJzVHlwZQkAzAgCBQVhcmdzMQkAzAgCBQVhcmdzMgkAzAgCBRFyb3V0aW5nQXNzZXRzS2V5cwkAzAgCBQttaW5Ub1JlY2l2ZQUDbmlsCQD8BwQFBGRBcHACDHJvdXRpbmdUcmFkZQUEYXJncwUDcG10ARFidXlTd29wRm9yQWlyZHJvcAMEcG9vbA90b2tlblRvRXhjaGFuZ2URYW1vdW50VG9MZWZ0Rm9yVHgEB3Rva2VuSWQJAQ5hc3NldElkRnJvbVN0cgEFD3Rva2VuVG9FeGNoYW5nZQQMdG9rZW5CYWxhbmNlCQEOYWNjb3VudEJhbGFuY2UBBQd0b2tlbklkAwkAAAIFDHRva2VuQmFsYW5jZQUMdG9rZW5CYWxhbmNlBBBhbW91bnRUb0V4Y2hhbmdlCQBlAgUMdG9rZW5CYWxhbmNlBRFhbW91bnRUb0xlZnRGb3JUeAMJAGcCAAAFEGFtb3VudFRvRXhjaGFuZ2UJAAIBAh9Ob3RoaW5nIHRvIGV4Y2hhbmdlIGZvciBhaXJkcm9wBAhwb29sQWRkcgkBEUBleHRyTmF0aXZlKDEwNjIpAQUEcG9vbAkA/AcEBQhwb29sQWRkcgIMY2FsbEZ1bmN0aW9uCQDMCAICCGV4Y2hhbmdlCQDMCAIJAMwIAgIBMQUDbmlsBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFB3Rva2VuSWQFEGFtb3VudFRvRXhjaGFuZ2UFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgEBaQEOZXhjaGFuZ2VUb2tlbnMFBnJvdXRlcwdhaXJkcm9wBHBvb2wPdG9rZW5Ub0V4Y2hhbmdlEWFtb3VudFRvTGVmdEZvclR4CQELdmFsdWVPckVsc2UCCQEKaXNTZWxmQ2FsbAEFAWkKAQ1leGNoYW5nZVRva2VuAgFyBXJvdXRlBAVyQXJncwkAtQkCBQVyb3V0ZQICX18DCQAAAgkAkQMCBQVyQXJncwAAAhBkaXJlY3RTd29wZmlDUE1NBANpbnYJARBkaXJlY3RTd29wZmlDUE1NAQUFckFyZ3MDCQAAAgUDaW52BQNpbnYJAM0IAgUBcgUDaW52CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAwkAAAIJAJEDAgUFckFyZ3MAAAINcm91dGluZ1N3b3BmaQQDaW52CQETZGlyZWN0Um91dGluZ1N3b3BmaQEFBXJBcmdzAwkAAAIFA2ludgUDaW52CQDNCAIFAXIFA2ludgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECElVua25vd24gcm91dGUgdHlwZQQDcmVzCgACJGwFBnJvdXRlcwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQENZXhjaGFuZ2VUb2tlbgIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMJAAACBQNyZXMFA3JlcwMJAQEhAQUHYWlyZHJvcAUDbmlsBANpbnYJARFidXlTd29wRm9yQWlyZHJvcAMFBHBvb2wFD3Rva2VuVG9FeGNoYW5nZQURYW1vdW50VG9MZWZ0Rm9yVHgDCQAAAgUDaW52BQNpbnYEC3N3b3BCYWxhbmNlCQEOYWNjb3VudEJhbGFuY2UBBQZzd29wSWQDCQAAAgULc3dvcEJhbGFuY2UFC3N3b3BCYWxhbmNlBARhSW52CQD8BwQFEWdvdmVybmFuY2VBZGRyZXNzAgdhaXJEcm9wBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBnN3b3BJZAULc3dvcEJhbGFuY2UFA25pbAMJAAACBQRhSW52BQRhSW52BQNuaWwJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BAnR4AQZ2ZXJpZnkABAckbWF0Y2gwBQJ0eAMJAAECBQckbWF0Y2gwAhdJbnZva2VTY3JpcHRUcmFuc2FjdGlvbgQDaW52BQckbWF0Y2gwBAppc1JpZ2h0RmVlAwkAAAIIBQNpbnYDZmVlAKD3NgkAAAIIBQNpbnYKZmVlQXNzZXRJZAUEdW5pdAcEDWlzUm91dGluZ0NhbGwDCQAAAggFA2ludgRkQXBwBQ5yb3V0aW5nQWRkcmVzcwkAAAIIBQNpbnYIZnVuY3Rpb24CDHJvdXRpbmdUcmFkZQcEEmlzRXhjaGFuZ2VDYWxsQ1BNTQMDCQEJaXNEZWZpbmVkAQkAnQgCBQZvcmFjbGUJAKwCAgUPa1ByZWZpeFBvb2xOYW1lCQClCAEJAKQIAQgFA2ludgRkQXBwCQAAAggFA2ludghmdW5jdGlvbgIMY2FsbEZ1bmN0aW9uBwkAAAIJAJEDAggFA2ludgRhcmdzAAACCGV4Y2hhbmdlBwQOaXNFeGNoYW5nZUNhbGwDCQEJaXNEZWZpbmVkAQkAnQgCBQZvcmFjbGUJAKwCAgUPa1ByZWZpeFBvb2xOYW1lCQClCAEJAKQIAQgFA2ludgRkQXBwCQAAAggFA2ludghmdW5jdGlvbgIIZXhjaGFuZ2UHBA1pc0FpcmRyb3BDYWxsCQAAAggFA2ludghmdW5jdGlvbgIOZXhjaGFuZ2VUb2tlbnMEE2lzVXBkYXRlV2VpZ2h0c0NhbGwDCQAAAggFA2ludgRkQXBwBRFnb3Zlcm5hbmNlQWRkcmVzcwkAAAIIBQNpbnYIZnVuY3Rpb24CDXVwZGF0ZVdlaWdodHMHBBZpc1Rha2VuSW50b0FjY291bnRDUE1NAwMJAQlpc0RlZmluZWQBCQCdCAIFBm9yYWNsZQkArAICBQ9rUHJlZml4UG9vbE5hbWUJAKUIAQkApAgBCAUDaW52BGRBcHAJAAACCAUDaW52CGZ1bmN0aW9uAgxjYWxsRnVuY3Rpb24HCQAAAgkAkQMCCAUDaW52BGFyZ3MAAAIZdGFrZUludG9BY2NvdW50RXh0cmFGdW5kcwcEEmlzVGFrZW5JbnRvQWNjb3VudAMJAQlpc0RlZmluZWQBCQCdCAIFBm9yYWNsZQkArAICBQ9rUHJlZml4UG9vbE5hbWUJAKUIAQkApAgBCAUDaW52BGRBcHAJAAACCAUDaW52CGZ1bmN0aW9uAhl0YWtlSW50b0FjY291bnRFeHRyYUZ1bmRzBwQMaXNXcml0ZVRvdGFsAwkAAAIIBQNpbnYEZEFwcAUOc3VydmV5c0FkZHJlc3MJAAACCAUDaW52CGZ1bmN0aW9uAgt3cml0ZVRvdGFscwcEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MQABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MgABAAAEEmFkbWluUHViS2V5M1NpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MwABAAAEF2FkbWluUHViS2V5SW52b2tlU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAULYWRtaW5JbnZva2UAAQAABBBzaWduZWRCeU9uZUFkbWluCQBnAgkAZAIJAGQCCQBkAgUSYWRtaW5QdWJLZXkxU2lnbmVkBRJhZG1pblB1YktleTJTaWduZWQFEmFkbWluUHViS2V5M1NpZ25lZAUXYWRtaW5QdWJLZXlJbnZva2VTaWduZWQAAQMDAwMDAwUOaXNFeGNoYW5nZUNhbGwGBRJpc0V4Y2hhbmdlQ2FsbENQTU0GBQ1pc1JvdXRpbmdDYWxsCQAAAgkAkAMBCAUDaW52CHBheW1lbnRzAAEHBgMDAwMDBRNpc1VwZGF0ZVdlaWdodHNDYWxsBgUSaXNUYWtlbkludG9BY2NvdW50BgUWaXNUYWtlbkludG9BY2NvdW50Q1BNTQYFDGlzV3JpdGVUb3RhbAYFDWlzQWlyZHJvcENhbGwJAAACCQCQAwEIBQNpbnYIcGF5bWVudHMAAAcFEHNpZ25lZEJ5T25lQWRtaW4HBQppc1JpZ2h0RmVlBwQSYWRtaW5QdWJLZXkxU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAUMYWRtaW5QdWJLZXkxAAEAAAQSYWRtaW5QdWJLZXkyU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAQUMYWRtaW5QdWJLZXkyAAEAAAQSYWRtaW5QdWJLZXkzU2lnbmVkAwkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAgUMYWRtaW5QdWJLZXkzAAEAAAkAZwIJAGQCCQBkAgUSYWRtaW5QdWJLZXkxU2lnbmVkBRJhZG1pblB1YktleTJTaWduZWQFEmFkbWluUHViS2V5M1NpZ25lZAACH8dgpA==", "height": 3913129, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2ZN9D1h4NHKRqURwvjLGJp7w83BWfHxgwVRRMA2X7vhU Next: Dc7TXAa6rLPun2zcFtQMsBtBG9bXu2B8xUy9q54gwhzD Diff:
Old | New | Differences | |
---|---|---|---|
151 | 151 | then throw("Nothing to exchange for airdrop") | |
152 | 152 | else { | |
153 | 153 | let an = addressFromStringValue(ah) | |
154 | - | invoke(an, "callFunction", ["exchange", [1]], [AttachedPayment(ak, am)]) | |
154 | + | invoke(an, "callFunction", ["exchange", ["1"]], [AttachedPayment(ak, am)]) | |
155 | 155 | } | |
156 | 156 | } | |
157 | 157 | else throw("Strict value is not equal to itself.") |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = Address(base58'3PEbqViERCoKnmcSULh6n2aiMvUdSQdCsom') | |
5 | 5 | ||
6 | 6 | let b = "admin_pub_1" | |
7 | 7 | ||
8 | 8 | let c = "admin_pub_2" | |
9 | 9 | ||
10 | 10 | let d = "admin_pub_3" | |
11 | 11 | ||
12 | 12 | let e = "admin_invoke_pub" | |
13 | 13 | ||
14 | 14 | let f = "governance_address" | |
15 | 15 | ||
16 | 16 | let g = "farming_address" | |
17 | 17 | ||
18 | 18 | let h = "surveys_address" | |
19 | 19 | ||
20 | 20 | let i = "routing_address" | |
21 | 21 | ||
22 | 22 | let j = "SWOP_id" | |
23 | 23 | ||
24 | 24 | let k = "pool_" | |
25 | 25 | ||
26 | 26 | func l (m) = { | |
27 | 27 | let n = getString(a, m) | |
28 | 28 | if ($isInstanceOf(n, "String")) | |
29 | 29 | then { | |
30 | 30 | let o = n | |
31 | 31 | fromBase58String(o) | |
32 | 32 | } | |
33 | 33 | else { | |
34 | 34 | let p = n | |
35 | 35 | throw((m + "is empty")) | |
36 | 36 | } | |
37 | 37 | } | |
38 | 38 | ||
39 | 39 | ||
40 | 40 | let q = l(b) | |
41 | 41 | ||
42 | 42 | let r = l(c) | |
43 | 43 | ||
44 | 44 | let s = l(d) | |
45 | 45 | ||
46 | 46 | let t = l(e) | |
47 | 47 | ||
48 | 48 | let u = Address(l(f)) | |
49 | 49 | ||
50 | 50 | let v = Address(l(g)) | |
51 | 51 | ||
52 | 52 | let w = Address(l(h)) | |
53 | 53 | ||
54 | 54 | let x = Address(l(i)) | |
55 | 55 | ||
56 | 56 | let y = fromBase58String(getStringValue(v, j)) | |
57 | 57 | ||
58 | 58 | func z (A) = if ((A.caller == this)) | |
59 | 59 | then unit | |
60 | 60 | else throw("Only contract itself can call this function") | |
61 | 61 | ||
62 | 62 | ||
63 | 63 | func B (C,D) = (C :+ parseIntValue(D)) | |
64 | 64 | ||
65 | 65 | ||
66 | 66 | func E (F) = if ((F == "WAVES")) | |
67 | 67 | then unit | |
68 | 68 | else fromBase58String(F) | |
69 | 69 | ||
70 | 70 | ||
71 | 71 | func G (F) = { | |
72 | 72 | let n = F | |
73 | 73 | if ($isInstanceOf(n, "ByteVector")) | |
74 | 74 | then { | |
75 | 75 | let H = n | |
76 | 76 | assetBalance(this, H) | |
77 | 77 | } | |
78 | 78 | else if ($isInstanceOf(n, "Unit")) | |
79 | 79 | then { | |
80 | 80 | let I = n | |
81 | 81 | wavesBalance(this).available | |
82 | 82 | } | |
83 | 83 | else throw("Match error") | |
84 | 84 | } | |
85 | 85 | ||
86 | 86 | ||
87 | 87 | func J (K) = { | |
88 | 88 | let L = addressFromStringValue(K[1]) | |
89 | 89 | let M = { | |
90 | 90 | let N = split(K[2], "|") | |
91 | 91 | [AttachedPayment(fromBase58String(N[0]), parseIntValue(N[1]))] | |
92 | 92 | } | |
93 | 93 | let O = K[3] | |
94 | 94 | invoke(L, "callFunction", ["exchange", [O]], M) | |
95 | 95 | } | |
96 | 96 | ||
97 | 97 | ||
98 | 98 | func P (K) = { | |
99 | 99 | let L = addressFromStringValue(K[1]) | |
100 | 100 | let M = { | |
101 | 101 | let N = split(K[2], "|") | |
102 | 102 | [AttachedPayment(fromBase58String(N[0]), parseIntValue(N[1]))] | |
103 | 103 | } | |
104 | 104 | let Q = { | |
105 | 105 | let R = split(K[3], "|") | |
106 | 106 | let S = split(R[0], ",") | |
107 | 107 | let T = split(R[1], ",") | |
108 | 108 | let U = { | |
109 | 109 | let V = split(R[2], ",") | |
110 | 110 | let W = size(V) | |
111 | 111 | let X = nil | |
112 | 112 | func Y (Z,aa) = if ((aa >= W)) | |
113 | 113 | then Z | |
114 | 114 | else B(Z, V[aa]) | |
115 | 115 | ||
116 | 116 | func ab (Z,aa) = if ((aa >= W)) | |
117 | 117 | then Z | |
118 | 118 | else throw("List size exceeds 3") | |
119 | 119 | ||
120 | 120 | ab(Y(Y(Y(X, 0), 1), 2), 3) | |
121 | 121 | } | |
122 | 122 | let ac = { | |
123 | 123 | let V = split(R[3], ",") | |
124 | 124 | let W = size(V) | |
125 | 125 | let X = nil | |
126 | 126 | func ad (Z,aa) = if ((aa >= W)) | |
127 | 127 | then Z | |
128 | 128 | else B(Z, V[aa]) | |
129 | 129 | ||
130 | 130 | func ae (Z,aa) = if ((aa >= W)) | |
131 | 131 | then Z | |
132 | 132 | else throw("List size exceeds 3") | |
133 | 133 | ||
134 | 134 | ae(ad(ad(ad(X, 0), 1), 2), 3) | |
135 | 135 | } | |
136 | 136 | let af = split(R[4], ",") | |
137 | 137 | let O = parseIntValue(R[5]) | |
138 | 138 | [S, T, U, ac, af, O] | |
139 | 139 | } | |
140 | 140 | invoke(L, "routingTrade", Q, M) | |
141 | 141 | } | |
142 | 142 | ||
143 | 143 | ||
144 | 144 | func ag (ah,ai,aj) = { | |
145 | 145 | let ak = E(ai) | |
146 | 146 | let al = G(ak) | |
147 | 147 | if ((al == al)) | |
148 | 148 | then { | |
149 | 149 | let am = (al - aj) | |
150 | 150 | if ((0 >= am)) | |
151 | 151 | then throw("Nothing to exchange for airdrop") | |
152 | 152 | else { | |
153 | 153 | let an = addressFromStringValue(ah) | |
154 | - | invoke(an, "callFunction", ["exchange", [1]], [AttachedPayment(ak, am)]) | |
154 | + | invoke(an, "callFunction", ["exchange", ["1"]], [AttachedPayment(ak, am)]) | |
155 | 155 | } | |
156 | 156 | } | |
157 | 157 | else throw("Strict value is not equal to itself.") | |
158 | 158 | } | |
159 | 159 | ||
160 | 160 | ||
161 | 161 | @Callable(A) | |
162 | 162 | func exchangeTokens (ao,ap,ah,ai,aj) = valueOrElse(z(A), { | |
163 | 163 | func aq (ar,as) = { | |
164 | 164 | let K = split(as, "__") | |
165 | 165 | if ((K[0] == "directSwopfiCPMM")) | |
166 | 166 | then { | |
167 | 167 | let at = J(K) | |
168 | 168 | if ((at == at)) | |
169 | 169 | then (ar :+ at) | |
170 | 170 | else throw("Strict value is not equal to itself.") | |
171 | 171 | } | |
172 | 172 | else if ((K[0] == "routingSwopfi")) | |
173 | 173 | then { | |
174 | 174 | let at = P(K) | |
175 | 175 | if ((at == at)) | |
176 | 176 | then (ar :+ at) | |
177 | 177 | else throw("Strict value is not equal to itself.") | |
178 | 178 | } | |
179 | 179 | else throw("Unknown route type") | |
180 | 180 | } | |
181 | 181 | ||
182 | 182 | let au = { | |
183 | 183 | let V = ao | |
184 | 184 | let W = size(V) | |
185 | 185 | let X = nil | |
186 | 186 | func Y (Z,aa) = if ((aa >= W)) | |
187 | 187 | then Z | |
188 | 188 | else aq(Z, V[aa]) | |
189 | 189 | ||
190 | 190 | func ab (Z,aa) = if ((aa >= W)) | |
191 | 191 | then Z | |
192 | 192 | else throw("List size exceeds 10") | |
193 | 193 | ||
194 | 194 | ab(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(X, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10) | |
195 | 195 | } | |
196 | 196 | if ((au == au)) | |
197 | 197 | then if (!(ap)) | |
198 | 198 | then nil | |
199 | 199 | else { | |
200 | 200 | let at = ag(ah, ai, aj) | |
201 | 201 | if ((at == at)) | |
202 | 202 | then { | |
203 | 203 | let av = G(y) | |
204 | 204 | if ((av == av)) | |
205 | 205 | then { | |
206 | 206 | let aw = invoke(u, "airDrop", nil, [AttachedPayment(y, av)]) | |
207 | 207 | if ((aw == aw)) | |
208 | 208 | then nil | |
209 | 209 | else throw("Strict value is not equal to itself.") | |
210 | 210 | } | |
211 | 211 | else throw("Strict value is not equal to itself.") | |
212 | 212 | } | |
213 | 213 | else throw("Strict value is not equal to itself.") | |
214 | 214 | } | |
215 | 215 | else throw("Strict value is not equal to itself.") | |
216 | 216 | }) | |
217 | 217 | ||
218 | 218 | ||
219 | 219 | @Verifier(ax) | |
220 | 220 | func ay () = { | |
221 | 221 | let n = ax | |
222 | 222 | if ($isInstanceOf(n, "InvokeScriptTransaction")) | |
223 | 223 | then { | |
224 | 224 | let at = n | |
225 | 225 | let az = if ((at.fee == 900000)) | |
226 | 226 | then (at.feeAssetId == unit) | |
227 | 227 | else false | |
228 | 228 | let aA = if ((at.dApp == x)) | |
229 | 229 | then (at.function == "routingTrade") | |
230 | 230 | else false | |
231 | 231 | let aB = if (if (isDefined(getString(a, (k + toString(addressFromRecipient(at.dApp)))))) | |
232 | 232 | then (at.function == "callFunction") | |
233 | 233 | else false) | |
234 | 234 | then (at.args[0] == "exchange") | |
235 | 235 | else false | |
236 | 236 | let aC = if (isDefined(getString(a, (k + toString(addressFromRecipient(at.dApp)))))) | |
237 | 237 | then (at.function == "exchange") | |
238 | 238 | else false | |
239 | 239 | let aD = (at.function == "exchangeTokens") | |
240 | 240 | let aE = if ((at.dApp == u)) | |
241 | 241 | then (at.function == "updateWeights") | |
242 | 242 | else false | |
243 | 243 | let aF = if (if (isDefined(getString(a, (k + toString(addressFromRecipient(at.dApp)))))) | |
244 | 244 | then (at.function == "callFunction") | |
245 | 245 | else false) | |
246 | 246 | then (at.args[0] == "takeIntoAccountExtraFunds") | |
247 | 247 | else false | |
248 | 248 | let aG = if (isDefined(getString(a, (k + toString(addressFromRecipient(at.dApp)))))) | |
249 | 249 | then (at.function == "takeIntoAccountExtraFunds") | |
250 | 250 | else false | |
251 | 251 | let aH = if ((at.dApp == w)) | |
252 | 252 | then (at.function == "writeTotals") | |
253 | 253 | else false | |
254 | 254 | let aI = if (sigVerify(ax.bodyBytes, ax.proofs[0], q)) | |
255 | 255 | then 1 | |
256 | 256 | else 0 | |
257 | 257 | let aJ = if (sigVerify(ax.bodyBytes, ax.proofs[0], r)) | |
258 | 258 | then 1 | |
259 | 259 | else 0 | |
260 | 260 | let aK = if (sigVerify(ax.bodyBytes, ax.proofs[0], s)) | |
261 | 261 | then 1 | |
262 | 262 | else 0 | |
263 | 263 | let aL = if (sigVerify(ax.bodyBytes, ax.proofs[0], t)) | |
264 | 264 | then 1 | |
265 | 265 | else 0 | |
266 | 266 | let aM = ((((aI + aJ) + aK) + aL) >= 1) | |
267 | 267 | if (if (if (if (if (if (aC) | |
268 | 268 | then true | |
269 | 269 | else aB) | |
270 | 270 | then true | |
271 | 271 | else aA) | |
272 | 272 | then (size(at.payments) == 1) | |
273 | 273 | else false) | |
274 | 274 | then true | |
275 | 275 | else if (if (if (if (if (aE) | |
276 | 276 | then true | |
277 | 277 | else aG) | |
278 | 278 | then true | |
279 | 279 | else aF) | |
280 | 280 | then true | |
281 | 281 | else aH) | |
282 | 282 | then true | |
283 | 283 | else aD) | |
284 | 284 | then (size(at.payments) == 0) | |
285 | 285 | else false) | |
286 | 286 | then aM | |
287 | 287 | else false) | |
288 | 288 | then az | |
289 | 289 | else false | |
290 | 290 | } | |
291 | 291 | else { | |
292 | 292 | let aI = if (sigVerify(ax.bodyBytes, ax.proofs[0], q)) | |
293 | 293 | then 1 | |
294 | 294 | else 0 | |
295 | 295 | let aJ = if (sigVerify(ax.bodyBytes, ax.proofs[1], r)) | |
296 | 296 | then 1 | |
297 | 297 | else 0 | |
298 | 298 | let aK = if (sigVerify(ax.bodyBytes, ax.proofs[2], s)) | |
299 | 299 | then 1 | |
300 | 300 | else 0 | |
301 | 301 | (((aI + aJ) + aK) >= 2) | |
302 | 302 | } | |
303 | 303 | } | |
304 | 304 |
github/deemru/w8io/6500d08 36.94 ms ◑