tx · 762ihRp7dZevnk4gYeWbtc6BynRMiA8SbYVpDb8UATNQ

3MyzPou5b4wqX1yKewzD9Q842nZfEsrmmdA:  -0.14000000 Waves

2022.10.24 16:36 [2286561] smart account 3MyzPou5b4wqX1yKewzD9Q842nZfEsrmmdA > SELF 0.00000000 Waves

{ "type": 13, "id": "762ihRp7dZevnk4gYeWbtc6BynRMiA8SbYVpDb8UATNQ", "fee": 14000000, "feeAssetId": null, "timestamp": 1666618629693, "version": 2, "chainId": 84, "sender": "3MyzPou5b4wqX1yKewzD9Q842nZfEsrmmdA", "senderPublicKey": "J7rgH9Evbm92drmc4Tf5qZVRXhZDjak1uHg31HriTLxD", "proofs": [ "5qEQ1ojheX6gqthc4fsWiXHmCdmM5KeraiZZWkrY58LoxQfNFvp5XmKT1ciDnE4mzwHx23xF2vjmXYLVvtHqd5cf", "46668kydn1uc2rZGKYsLKEFfivFUhZeiPbVGBPecTMxvGcknxkkmPj7KwZo6x8cpmRFuUUH3swzbkHoktz1NAaNn" ], "script": "base64:BgIYCAISBAoCCBgSABIAEgUKAwQBCBIDCgEBJgAHa0FjdGl2ZQIGYWN0aXZlAAZrQ2F1c2UCDnNodXRkb3duX2NhdXNlAAxrVVNETkFkZHJlc3MCGHN0YWtpbmdfdXNkbm5zYnRfYWRkcmVzcwAMa0VVUk5BZGRyZXNzAhRzdGFraW5nX2V1cm5fYWRkcmVzcwAMa0xlYXNpbmdQb29sAg9sZWFzaW5nX2FkZHJlc3MADmtMZWFzaW5nQW1vdW50Ag5sZWFzaW5nX2Ftb3VudAAKa0xlYXNpbmdJZAIKbGVhc2luZ19pZAANa0FkbWluUHViS2V5MQILYWRtaW5fcHViXzEADWtBZG1pblB1YktleTICC2FkbWluX3B1Yl8yAA1rQWRtaW5QdWJLZXkzAgthZG1pbl9wdWJfMwASa0FkbWluSW52b2tlUHViS2V5AhBhZG1pbl9pbnZva2VfcHViAA1rQ3BtbUNvbnRyYWN0Ag1jcG1tX2NvbnRyYWN0AAxrVVNETkFzc2V0SWQCDXVzZG5fYXNzZXRfaWQADGtFVVJOQXNzZXRJZAINZXVybl9hc3NldF9pZAAOa1N0YWtpbmdBc3NldHMCDnN0YWtpbmdfYXNzZXRzAA1rU2hhcmVBc3NldElkAg5zaGFyZV9hc3NldF9pZAAGb3JhY2xlCQEHQWRkcmVzcwEBGgFUSBOXDMDTM8wlMoC2KfenZGiAq+PMe0uZARNnZXRCYXNlNThGcm9tT3JhY2xlAQNrZXkEByRtYXRjaDAJAJ0IAgUGb3JhY2xlBQNrZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAZzdHJpbmcFByRtYXRjaDAJANkEAQUGc3RyaW5nBAdub3RoaW5nBQckbWF0Y2gwCQACAQkArAICBQNrZXkCCGlzIGVtcHR5AAxhZG1pblB1YktleTEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUNa0FkbWluUHViS2V5MQAMYWRtaW5QdWJLZXkyCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDWtBZG1pblB1YktleTIADGFkbWluUHViS2V5MwkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQWRtaW5QdWJLZXkzABFhZG1pblB1YktleUludm9rZQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBRJrQWRtaW5JbnZva2VQdWJLZXkAEnN0YWtpbmdVU0ROQWRkcmVzcwkBB0FkZHJlc3MBCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDGtVU0ROQWRkcmVzcwASc3Rha2luZ0VVUk5BZGRyZXNzCQEHQWRkcmVzcwEJARNnZXRCYXNlNThGcm9tT3JhY2xlAQUMa0VVUk5BZGRyZXNzAAxjcG1tQ29udHJhY3QJAQdBZGRyZXNzAQkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQ1rQ3BtbUNvbnRyYWN0AARVU0ROCQETZ2V0QmFzZTU4RnJvbU9yYWNsZQEFDGtVU0ROQXNzZXRJZAAERVVSTgkBE2dldEJhc2U1OEZyb21PcmFjbGUBBQxrRVVSTkFzc2V0SWQADXN0YWtpbmdBc3NldHMJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBm9yYWNsZQUOa1N0YWtpbmdBc3NldHMABmFjdGl2ZQkBC3ZhbHVlT3JFbHNlAgkAmwgCBQR0aGlzBQdrQWN0aXZlBgEIaXNBY3RpdmUAAwUGYWN0aXZlBQR1bml0CQACAQIfREFwcCBpcyBpbmFjdGl2ZSBhdCB0aGlzIG1vbWVudAEOaXNHbG9iYWxDYWxsZXIBBmNhbGxlcgMJAAACBQZjYWxsZXIFDGNwbW1Db250cmFjdAUEdW5pdAkAAgECLU9ubHkgZ2xvYmFsIENvbnRyYWN0IGNhbiBpbnZva2UgdGhpcyBmdW5jdGlvbgELaXNBZG1pbkNhbGwBDGNhbGxlclB1YktleQMJAQ9jb250YWluc0VsZW1lbnQCCQDMCAIFDGFkbWluUHViS2V5MQkAzAgCBQxhZG1pblB1YktleTIJAMwIAgUMYWRtaW5QdWJLZXkzBQNuaWwFDGNhbGxlclB1YktleQUEdW5pdAkAAgECIU9ubHkgYWRtaW4gY2FuIGNhbGwgdGhpcyBmdW5jdGlvbgEHc3VzcGVuZAEFY2F1c2UJAMwIAgkBDEJvb2xlYW5FbnRyeQIFB2tBY3RpdmUHCQDMCAIJAQtTdHJpbmdFbnRyeQIFBmtDYXVzZQUFY2F1c2UFA25pbAEYY2FsY1N0YWtpbmdGdW5jQW5kQWRkcmVzAgVzdGFrZQdhc3NldElkAwUFc3Rha2UDCQAAAgUHYXNzZXRJZAUEVVNETgkAlAoCAgxsb2NrTmV1dHJpbm8FEnN0YWtpbmdVU0ROQWRkcmVzcwkAlAoCAgxzdGFydFN0YWtpbmcFEnN0YWtpbmdFVVJOQWRkcmVzcwMJAAACBQdhc3NldElkBQRVU0ROCQCUCgICDnVubG9ja05ldXRyaW5vBRJzdGFraW5nVVNETkFkZHJlc3MJAJQKAgILc3RvcFN0YWtpbmcFEnN0YWtpbmdFVVJOQWRkcmVzcwERY2FsY1N0YWtpbmdQYXJhbXMDBXN0YWtlBmFtb3VudAdhc3NldElkAwUFc3Rha2UECyR0MDI0NzMyNTM5CQEYY2FsY1N0YWtpbmdGdW5jQW5kQWRkcmVzAgUFc3Rha2UFB2Fzc2V0SWQEBGNhbGwIBQskdDAyNDczMjUzOQJfMQQLc3Rha2luZ0FkZHIIBQskdDAyNDczMjUzOQJfMgkAlgoEBQRjYWxsBQtzdGFraW5nQWRkcgUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQdhc3NldElkBQZhbW91bnQFA25pbAQLJHQwMjYyNTI2OTEJARhjYWxjU3Rha2luZ0Z1bmNBbmRBZGRyZXMCBQVzdGFrZQUHYXNzZXRJZAQEY2FsbAgFCyR0MDI2MjUyNjkxAl8xBAtzdGFraW5nQWRkcggFCyR0MDI2MjUyNjkxAl8yCQCWCgQFBGNhbGwFC3N0YWtpbmdBZGRyCQDMCAIFBmFtb3VudAkAzAgCCQDYBAEFB2Fzc2V0SWQFA25pbAUDbmlsAQ9jb2xsZWN0UGF5bWVudHMCA2FjYwdwYXltZW50BAskdDAyODUzMjg5NgUDYWNjBA5wYXltZW50QW1vdW50cwgFCyR0MDI4NTMyODk2Al8xBA9wYXltZW50QXNzZXRJZHMIBQskdDAyODUzMjg5NgJfMgkAlAoCCQDNCAIFDnBheW1lbnRBbW91bnRzCAUHcGF5bWVudAZhbW91bnQJAM0IAgUPcGF5bWVudEFzc2V0SWRzCAUHcGF5bWVudAdhc3NldElkAQxjb2xsZWN0U3RhdGUCBnJlc3VsdAZzb3VyY2UEByRtYXRjaDAFBnNvdXJjZQMDCQABAgUHJG1hdGNoMAIFSXNzdWUGAwkAAQIFByRtYXRjaDACBEJ1cm4GAwkAAQIFByRtYXRjaDACB1JlaXNzdWUGAwkAAQIFByRtYXRjaDACDlNjcmlwdFRyYW5zZmVyBgMJAAECBQckbWF0Y2gwAgtCaW5hcnlFbnRyeQYDCQABAgUHJG1hdGNoMAIMQm9vbGVhbkVudHJ5BgMJAAECBQckbWF0Y2gwAgtTdHJpbmdFbnRyeQYJAAECBQckbWF0Y2gwAgxJbnRlZ2VyRW50cnkEAWUFByRtYXRjaDAJAM0IAgUGcmVzdWx0BQFlBQZyZXN1bHQBC2NvbGxlY3REYXRhAgZyZXN1bHQGc291cmNlBAckbWF0Y2gwBQZzb3VyY2UDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF2BQckbWF0Y2gwCQDNCAIFBnJlc3VsdAUBdgMJAAECBQckbWF0Y2gwAgNJbnQEAXYFByRtYXRjaDAJAM0IAgUGcmVzdWx0BQF2AwkAAQIFByRtYXRjaDACB0Jvb2xlYW4EAXYFByRtYXRjaDAJAM0IAgUGcmVzdWx0BQF2AwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAXYFByRtYXRjaDAJAM0IAgUGcmVzdWx0BQF2CQEFdGhyb3cABQFpAQxjYWxsRnVuY3Rpb24CCGZ1bmNOYW1lBGFyZ3MJAQt2YWx1ZU9yRWxzZQIJAQhpc0FjdGl2ZQAECyR0MDM2OTIzNzc4CgACJGwIBQFpCHBheW1lbnRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEPY29sbGVjdFBheW1lbnRzAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhRMaXN0IHNpemUgZXhjZWVkcyAxMAkBBSRmMF8yAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgkBBSRmMF8xAgUFJGFjYzAAAAABAAIAAwAEAAUABgAHAAgACQAKBA5wYXltZW50QW1vdW50cwgFCyR0MDM2OTIzNzc4Al8xBA9wYXltZW50QXNzZXRJZHMIBQskdDAzNjkyMzc3OAJfMgQLJHQwMzc4MTM5MzcKAAFACQD9BwQFDGNwbW1Db250cmFjdAUIZnVuY05hbWUJAMwIAggIBQFpBmNhbGxlcgVieXRlcwkAzAgCBQRhcmdzCQDMCAIFDnBheW1lbnRBbW91bnRzCQDMCAIFD3BheW1lbnRBc3NldElkcwUDbmlsBQNuaWwDCQABAgUBQAIWKExpc3RbQW55XSwgTGlzdFtBbnldKQUBQAkAAgEJAKwCAgkAAwEFAUACKyBjb3VsZG4ndCBiZSBjYXN0IHRvIChMaXN0W0FueV0sIExpc3RbQW55XSkDCQAAAgULJHQwMzc4MTM5MzcFCyR0MDM3ODEzOTM3BARkYXRhCAULJHQwMzc4MTM5MzcCXzIEB2FjdGlvbnMIBQskdDAzNzgxMzkzNwJfMQQKbWFwcGVkRGF0YQoAAiRsBQRkYXRhCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYxXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQtjb2xsZWN0RGF0YQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMV8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjFfMgIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIJAQUkZjFfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgQNbWFwcGVkQWN0aW9ucwoAAiRsBQdhY3Rpb25zCgACJHMJAJADAQUCJGwKAAUkYWNjMAUDbmlsCgEFJGYyXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQxjb2xsZWN0U3RhdGUCBQIkYQkAkQMCBQIkbAUCJGkKAQUkZjJfMgICJGECJGkDCQBnAgUCJGkFAiRzBQIkYQkAAgECFExpc3Qgc2l6ZSBleGNlZWRzIDE1CQEFJGYyXzICCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECCQEFJGYyXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPCQCUCgIFDW1hcHBlZEFjdGlvbnMFCm1hcHBlZERhdGEJAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEIc2h1dGRvd24ACQELdmFsdWVPckVsc2UCCQELaXNBZG1pbkNhbGwBCAUBaQ9jYWxsZXJQdWJsaWNLZXkDCQEBIQEFBmFjdGl2ZQkAAgEJAKwCAgIiREFwcCBpcyBhbHJlYWR5IHN1c3BlbmRlZC4gQ2F1c2U6IAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQR0aGlzBQZrQ2F1c2UCGnRoZSBjYXVzZSB3YXNuJ3Qgc3BlY2lmaWVkCQEHc3VzcGVuZAECD1BhdXNlZCBieSBhZG1pbgFpAQhhY3RpdmF0ZQAJAQt2YWx1ZU9yRWxzZQIJAQtpc0FkbWluQ2FsbAEIBQFpD2NhbGxlclB1YmxpY0tleQMFBmFjdGl2ZQkAAgECFkRBcHAgaXMgYWxyZWFkeSBhY3RpdmUJAMwIAgkBDEJvb2xlYW5FbnRyeQIFB2tBY3RpdmUGCQDMCAIJAQtEZWxldGVFbnRyeQEFBmtDYXVzZQUDbmlsAWkBDHN0YWtlVW5zdGFrZQMFc3Rha2UGYW1vdW50DWFzc2V0SWRTdHJpbmcJAQt2YWx1ZU9yRWxzZQIJAQ5pc0dsb2JhbENhbGxlcgEIBQFpBmNhbGxlcgkBC3ZhbHVlT3JFbHNlAgkBCGlzQWN0aXZlAAMJAQIhPQIIBQFpBmNhbGxlcgUMY3BtbUNvbnRyYWN0CQACAQItT25seSBnbG9iYWwgQ29udHJhY3QgY2FuIGludm9rZSB0aGlzIGZ1bmN0aW9uAwkAAAIFDWFzc2V0SWRTdHJpbmcCBVdBVkVTBARwb29sCQERQGV4dHJOYXRpdmUoMTA2MikBCQETdmFsdWVPckVycm9yTWVzc2FnZQIJAJ0IAgUGb3JhY2xlBQxrTGVhc2luZ1Bvb2wCGU5vIGxlYXNpbmcgcG9vbCBpbiBvcmFjbGUECWxlYXNpbmdJZAkAnAgCBQR0aGlzBQprTGVhc2luZ0lkBA1sZWFzaW5nQW1vdW50CQELdmFsdWVPckVsc2UCCQCaCAIFBHRoaXMFDmtMZWFzaW5nQW1vdW50AAAEDm5ld0xlYXNlQW1vdW50AwUFc3Rha2UJAGQCBQ1sZWFzaW5nQW1vdW50BQZhbW91bnQJAGUCBQ1sZWFzaW5nQW1vdW50BQZhbW91bnQECG5ld0xlYXNlCQDECAIFBHBvb2wFDm5ld0xlYXNlQW1vdW50BApuZXdMZWFzZUlkCQC5CAEFCG5ld0xlYXNlBAhiYXNlRXRyeQkAzAgCBQhuZXdMZWFzZQkAzAgCCQELQmluYXJ5RW50cnkCBQprTGVhc2luZ0lkBQpuZXdMZWFzZUlkCQDMCAIJAQxJbnRlZ2VyRW50cnkCBQ5rTGVhc2luZ0Ftb3VudAUObmV3TGVhc2VBbW91bnQFA25pbAQHJG1hdGNoMAUJbGVhc2luZ0lkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEA2xJZAUHJG1hdGNoMAkAzggCCQDMCAIJAQtMZWFzZUNhbmNlbAEFA2xJZAUDbmlsBQhiYXNlRXRyeQUIYmFzZUV0cnkECyR0MDU3ODM1ODg2CQERY2FsY1N0YWtpbmdQYXJhbXMDBQVzdGFrZQUGYW1vdW50CQDZBAEFDWFzc2V0SWRTdHJpbmcEBGNhbGwIBQskdDA1NzgzNTg4NgJfMQQEYWRkcggFCyR0MDU3ODM1ODg2Al8yBAZwYXJhbXMIBQskdDA1NzgzNTg4NgJfMwQIcGF5bWVudHMIBQskdDA1NzgzNTg4NgJfNAQDaW52CQD8BwQFBGFkZHIFBGNhbGwFBnBhcmFtcwUIcGF5bWVudHMDCQAAAgUDaW52BQNpbnYFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpARFyZWlzc3VlU2hhcmVUb2tlbgEGYW1vdW50CQELdmFsdWVPckVsc2UCCQEOaXNHbG9iYWxDYWxsZXIBCAUBaQZjYWxsZXIJAQt2YWx1ZU9yRWxzZQIJAQhpc0FjdGl2ZQAEDHNoYXJlQXNzZXRJZAkA2QQBCQERQGV4dHJOYXRpdmUoMTA1MykCBQR0aGlzBQ1rU2hhcmVBc3NldElkCQDMCAIJAQdSZWlzc3VlAwUMc2hhcmVBc3NldElkBQZhbW91bnQGCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUGYW1vdW50BQxzaGFyZUFzc2V0SWQFA25pbAECdHgBBnZlcmlmeQAEE211bHRpU2lnbmVkQnlBZG1pbnMEEmFkbWluUHViS2V5MVNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAAFDGFkbWluUHViS2V5MQABAAAEEmFkbWluUHViS2V5MlNpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAEFDGFkbWluUHViS2V5MgABAAAEEmFkbWluUHViS2V5M1NpZ25lZAMJAPQDAwgFAnR4CWJvZHlCeXRlcwkAkQMCCAUCdHgGcHJvb2ZzAAIFDGFkbWluUHViS2V5MwABAAAJAGcCCQBkAgkAZAIFEmFkbWluUHViS2V5MVNpZ25lZAUSYWRtaW5QdWJLZXkyU2lnbmVkBRJhZG1pblB1YktleTNTaWduZWQAAgUTbXVsdGlTaWduZWRCeUFkbWlucwjHFHU=", "height": 2286561, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Egbk5SKkbFPAwkPheW3zPFaYPXvvttKDGuRovmupC1n6 Next: 9bhqVSCHrwUJGqQ1BKvwtTUA4hTSgZo9X7z8L78YGS6b Diff:
OldNewDifferences
111111 let $t028532896 = acc
112112 let paymentAmounts = $t028532896._1
113113 let paymentAssetIds = $t028532896._2
114- $Tuple2((paymentAmounts :+ payment.amount), (paymentAssetIds :+ (if ((payment.assetId == unit))
115- then base58''
116- else payment.assetId)))
114+ $Tuple2((paymentAmounts :+ payment.amount), (paymentAssetIds :+ payment.assetId))
117115 }
118116
119117
141139
142140 @Callable(i)
143141 func callFunction (funcName,args) = valueOrElse(isActive(), {
144- let $t037383824 = {
142+ let $t036923778 = {
145143 let $l = i.payments
146144 let $s = size($l)
147145 let $acc0 = $Tuple2(nil, nil)
155153
156154 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
157155 }
158- let paymentAmounts = $t037383824._1
159- let paymentAssetIds = $t037383824._2
160- let $t038273983 = {
156+ let paymentAmounts = $t036923778._1
157+ let paymentAssetIds = $t036923778._2
158+ let $t037813937 = {
161159 let @ = reentrantInvoke(cpmmContract, funcName, [i.caller.bytes, args, paymentAmounts, paymentAssetIds], nil)
162160 if ($isInstanceOf(@, "(List[Any], List[Any])"))
163161 then @
164162 else throw(($getType(@) + " couldn't be cast to (List[Any], List[Any])"))
165163 }
166- if (($t038273983 == $t038273983))
164+ if (($t037813937 == $t037813937))
167165 then {
168- let data = $t038273983._2
169- let actions = $t038273983._1
166+ let data = $t037813937._2
167+ let actions = $t037813937._1
170168 let mappedData = {
171169 let $l = data
172170 let $s = size($l)
238236 }
239237 }
240238 else {
241- let $t059776080 = calcStakingParams(stake, amount, fromBase58String(assetIdString))
242- let call = $t059776080._1
243- let addr = $t059776080._2
244- let params = $t059776080._3
245- let payments = $t059776080._4
239+ let $t057835886 = calcStakingParams(stake, amount, fromBase58String(assetIdString))
240+ let call = $t057835886._1
241+ let addr = $t057835886._2
242+ let params = $t057835886._3
243+ let payments = $t057835886._4
246244 let inv = invoke(addr, call, params, payments)
247245 if ((inv == inv))
248246 then nil
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let kActive = "active"
55
66 let kCause = "shutdown_cause"
77
88 let kUSDNAddress = "staking_usdnnsbt_address"
99
1010 let kEURNAddress = "staking_eurn_address"
1111
1212 let kLeasingPool = "leasing_address"
1313
1414 let kLeasingAmount = "leasing_amount"
1515
1616 let kLeasingId = "leasing_id"
1717
1818 let kAdminPubKey1 = "admin_pub_1"
1919
2020 let kAdminPubKey2 = "admin_pub_2"
2121
2222 let kAdminPubKey3 = "admin_pub_3"
2323
2424 let kAdminInvokePubKey = "admin_invoke_pub"
2525
2626 let kCpmmContract = "cpmm_contract"
2727
2828 let kUSDNAssetId = "usdn_asset_id"
2929
3030 let kEURNAssetId = "eurn_asset_id"
3131
3232 let kStakingAssets = "staking_assets"
3333
3434 let kShareAssetId = "share_asset_id"
3535
3636 let oracle = Address(base58'3MvVBtsXroQpy1tsPw21TU2ET9A8WfmrNjz')
3737
3838 func getBase58FromOracle (key) = match getString(oracle, key) {
3939 case string: String =>
4040 fromBase58String(string)
4141 case nothing =>
4242 throw((key + "is empty"))
4343 }
4444
4545
4646 let adminPubKey1 = getBase58FromOracle(kAdminPubKey1)
4747
4848 let adminPubKey2 = getBase58FromOracle(kAdminPubKey2)
4949
5050 let adminPubKey3 = getBase58FromOracle(kAdminPubKey3)
5151
5252 let adminPubKeyInvoke = getBase58FromOracle(kAdminInvokePubKey)
5353
5454 let stakingUSDNAddress = Address(getBase58FromOracle(kUSDNAddress))
5555
5656 let stakingEURNAddress = Address(getBase58FromOracle(kEURNAddress))
5757
5858 let cpmmContract = Address(getBase58FromOracle(kCpmmContract))
5959
6060 let USDN = getBase58FromOracle(kUSDNAssetId)
6161
6262 let EURN = getBase58FromOracle(kEURNAssetId)
6363
6464 let stakingAssets = getStringValue(oracle, kStakingAssets)
6565
6666 let active = valueOrElse(getBoolean(this, kActive), true)
6767
6868 func isActive () = if (active)
6969 then unit
7070 else throw("DApp is inactive at this moment")
7171
7272
7373 func isGlobalCaller (caller) = if ((caller == cpmmContract))
7474 then unit
7575 else throw("Only global Contract can invoke this function")
7676
7777
7878 func isAdminCall (callerPubKey) = if (containsElement([adminPubKey1, adminPubKey2, adminPubKey3], callerPubKey))
7979 then unit
8080 else throw("Only admin can call this function")
8181
8282
8383 func suspend (cause) = [BooleanEntry(kActive, false), StringEntry(kCause, cause)]
8484
8585
8686 func calcStakingFuncAndAddres (stake,assetId) = if (stake)
8787 then if ((assetId == USDN))
8888 then $Tuple2("lockNeutrino", stakingUSDNAddress)
8989 else $Tuple2("startStaking", stakingEURNAddress)
9090 else if ((assetId == USDN))
9191 then $Tuple2("unlockNeutrino", stakingUSDNAddress)
9292 else $Tuple2("stopStaking", stakingEURNAddress)
9393
9494
9595 func calcStakingParams (stake,amount,assetId) = if (stake)
9696 then {
9797 let $t024732539 = calcStakingFuncAndAddres(stake, assetId)
9898 let call = $t024732539._1
9999 let stakingAddr = $t024732539._2
100100 $Tuple4(call, stakingAddr, nil, [AttachedPayment(assetId, amount)])
101101 }
102102 else {
103103 let $t026252691 = calcStakingFuncAndAddres(stake, assetId)
104104 let call = $t026252691._1
105105 let stakingAddr = $t026252691._2
106106 $Tuple4(call, stakingAddr, [amount, toBase58String(assetId)], nil)
107107 }
108108
109109
110110 func collectPayments (acc,payment) = {
111111 let $t028532896 = acc
112112 let paymentAmounts = $t028532896._1
113113 let paymentAssetIds = $t028532896._2
114- $Tuple2((paymentAmounts :+ payment.amount), (paymentAssetIds :+ (if ((payment.assetId == unit))
115- then base58''
116- else payment.assetId)))
114+ $Tuple2((paymentAmounts :+ payment.amount), (paymentAssetIds :+ payment.assetId))
117115 }
118116
119117
120118 func collectState (result,source) = match source {
121119 case e: Issue|Burn|Reissue|ScriptTransfer|BinaryEntry|BooleanEntry|StringEntry|IntegerEntry =>
122120 (result :+ e)
123121 case _ =>
124122 result
125123 }
126124
127125
128126 func collectData (result,source) = match source {
129127 case v: String =>
130128 (result :+ v)
131129 case v: Int =>
132130 (result :+ v)
133131 case v: Boolean =>
134132 (result :+ v)
135133 case v: ByteVector =>
136134 (result :+ v)
137135 case _ =>
138136 throw()
139137 }
140138
141139
142140 @Callable(i)
143141 func callFunction (funcName,args) = valueOrElse(isActive(), {
144- let $t037383824 = {
142+ let $t036923778 = {
145143 let $l = i.payments
146144 let $s = size($l)
147145 let $acc0 = $Tuple2(nil, nil)
148146 func $f0_1 ($a,$i) = if (($i >= $s))
149147 then $a
150148 else collectPayments($a, $l[$i])
151149
152150 func $f0_2 ($a,$i) = if (($i >= $s))
153151 then $a
154152 else throw("List size exceeds 10")
155153
156154 $f0_2($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($f0_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
157155 }
158- let paymentAmounts = $t037383824._1
159- let paymentAssetIds = $t037383824._2
160- let $t038273983 = {
156+ let paymentAmounts = $t036923778._1
157+ let paymentAssetIds = $t036923778._2
158+ let $t037813937 = {
161159 let @ = reentrantInvoke(cpmmContract, funcName, [i.caller.bytes, args, paymentAmounts, paymentAssetIds], nil)
162160 if ($isInstanceOf(@, "(List[Any], List[Any])"))
163161 then @
164162 else throw(($getType(@) + " couldn't be cast to (List[Any], List[Any])"))
165163 }
166- if (($t038273983 == $t038273983))
164+ if (($t037813937 == $t037813937))
167165 then {
168- let data = $t038273983._2
169- let actions = $t038273983._1
166+ let data = $t037813937._2
167+ let actions = $t037813937._1
170168 let mappedData = {
171169 let $l = data
172170 let $s = size($l)
173171 let $acc0 = nil
174172 func $f1_1 ($a,$i) = if (($i >= $s))
175173 then $a
176174 else collectData($a, $l[$i])
177175
178176 func $f1_2 ($a,$i) = if (($i >= $s))
179177 then $a
180178 else throw("List size exceeds 10")
181179
182180 $f1_2($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($f1_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10)
183181 }
184182 let mappedActions = {
185183 let $l = actions
186184 let $s = size($l)
187185 let $acc0 = nil
188186 func $f2_1 ($a,$i) = if (($i >= $s))
189187 then $a
190188 else collectState($a, $l[$i])
191189
192190 func $f2_2 ($a,$i) = if (($i >= $s))
193191 then $a
194192 else throw("List size exceeds 15")
195193
196194 $f2_2($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($f2_1($acc0, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15)
197195 }
198196 $Tuple2(mappedActions, mappedData)
199197 }
200198 else throw("Strict value is not equal to itself.")
201199 })
202200
203201
204202
205203 @Callable(i)
206204 func shutdown () = valueOrElse(isAdminCall(i.callerPublicKey), if (!(active))
207205 then throw(("DApp is already suspended. Cause: " + valueOrElse(getString(this, kCause), "the cause wasn't specified")))
208206 else suspend("Paused by admin"))
209207
210208
211209
212210 @Callable(i)
213211 func activate () = valueOrElse(isAdminCall(i.callerPublicKey), if (active)
214212 then throw("DApp is already active")
215213 else [BooleanEntry(kActive, true), DeleteEntry(kCause)])
216214
217215
218216
219217 @Callable(i)
220218 func stakeUnstake (stake,amount,assetIdString) = valueOrElse(isGlobalCaller(i.caller), valueOrElse(isActive(), if ((i.caller != cpmmContract))
221219 then throw("Only global Contract can invoke this function")
222220 else if ((assetIdString == "WAVES"))
223221 then {
224222 let pool = addressFromStringValue(valueOrErrorMessage(getString(oracle, kLeasingPool), "No leasing pool in oracle"))
225223 let leasingId = getBinary(this, kLeasingId)
226224 let leasingAmount = valueOrElse(getInteger(this, kLeasingAmount), 0)
227225 let newLeaseAmount = if (stake)
228226 then (leasingAmount + amount)
229227 else (leasingAmount - amount)
230228 let newLease = Lease(pool, newLeaseAmount)
231229 let newLeaseId = calculateLeaseId(newLease)
232230 let baseEtry = [newLease, BinaryEntry(kLeasingId, newLeaseId), IntegerEntry(kLeasingAmount, newLeaseAmount)]
233231 match leasingId {
234232 case lId: ByteVector =>
235233 ([LeaseCancel(lId)] ++ baseEtry)
236234 case _ =>
237235 baseEtry
238236 }
239237 }
240238 else {
241- let $t059776080 = calcStakingParams(stake, amount, fromBase58String(assetIdString))
242- let call = $t059776080._1
243- let addr = $t059776080._2
244- let params = $t059776080._3
245- let payments = $t059776080._4
239+ let $t057835886 = calcStakingParams(stake, amount, fromBase58String(assetIdString))
240+ let call = $t057835886._1
241+ let addr = $t057835886._2
242+ let params = $t057835886._3
243+ let payments = $t057835886._4
246244 let inv = invoke(addr, call, params, payments)
247245 if ((inv == inv))
248246 then nil
249247 else throw("Strict value is not equal to itself.")
250248 }))
251249
252250
253251
254252 @Callable(i)
255253 func reissueShareToken (amount) = valueOrElse(isGlobalCaller(i.caller), valueOrElse(isActive(), {
256254 let shareAssetId = fromBase58String(getStringValue(this, kShareAssetId))
257255 [Reissue(shareAssetId, amount, true), ScriptTransfer(i.caller, amount, shareAssetId)]
258256 }))
259257
260258
261259 @Verifier(tx)
262260 func verify () = {
263261 let multiSignedByAdmins = {
264262 let adminPubKey1Signed = if (sigVerify(tx.bodyBytes, tx.proofs[0], adminPubKey1))
265263 then 1
266264 else 0
267265 let adminPubKey2Signed = if (sigVerify(tx.bodyBytes, tx.proofs[1], adminPubKey2))
268266 then 1
269267 else 0
270268 let adminPubKey3Signed = if (sigVerify(tx.bodyBytes, tx.proofs[2], adminPubKey3))
271269 then 1
272270 else 0
273271 (((adminPubKey1Signed + adminPubKey2Signed) + adminPubKey3Signed) >= 2)
274272 }
275273 multiSignedByAdmins
276274 }
277275

github/deemru/w8io/169f3d6 
38.49 ms