tx · DY7dLcNsgeZddD8yuk4VHuiiGxAqEe7rjA7jNXLohqV3

3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph:  -0.01400000 Waves

2022.01.12 19:15 [1875959] smart account 3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph > SELF 0.00000000 Waves

{ "type": 13, "id": "DY7dLcNsgeZddD8yuk4VHuiiGxAqEe7rjA7jNXLohqV3", "fee": 1400000, "feeAssetId": null, "timestamp": 1642004186896, "version": 2, "chainId": 84, "sender": "3N61Cvq5XcnPk9rxpy2Rnp3bSr4syNGUJph", "senderPublicKey": "G7cNXePvAHUHmZfXa1eHnvFeH6DuykPC5wm9v9djTKgD", "proofs": [ "2hvrLQxzkhMZ66SeWCsRYXPs32PMAHcYNfxDQZS6zqMKifreZJJKvVhNprmPBg6WKPgrzGuD9YcjqL1Wx6To7Lqe", "H9CfGbvkoQwyuMTNHbBarJqsbUZ61h6Zp69dDYfygkjT1qRvecCVFoaXgKX1y73BezFXbL5d4tD5RTQkBENdipC", "2QX739BeSJaSNy4eTaqtK9A2VrCMhu3nDFLytqgJgYGaKxTuVr2HxWD9Acdr86gFuRfE9rsjBfeZd9TqSTe1zvj1" ], "script": "base64:AAIFAAAAAAAAB5AIAhIGCgQYGBgREgMKARgSBgoECAgBARIAEgMKAQgSAwoBCBIECgIYFBoVCgFBEhBkQXBwU3Rha2VkVG9rZW5zGhQKAUISD2Fzc2V0SWRRdWFudGl0eRoKCgFDEgVhc3NldBoGCgFEEgFpGgoKAUUSBXBvb2xzGhQKAUYSD2xpcXVpZGl0eVRva2VucxoSCgFHEg1zZXJ2aWNlVG9rZW5zGhsKAUgSFmxpcXVpZGl0eVRva2VuRGVjaW1hbHMaFQoBSRIQZ2VuZXJhdGVQb29sS2V5cxoQCgFKEgthY2N1bXVsYXRlZBojCgFLEh5nZW5lcmF0ZVBvb2xMaXF1aWRpdHlUb2tlbktleXMaDgoBTBIJcG9vbEluZGV4GhMKAU0SDmxpcXVpZGl0eVRva2VuGiEKAU4SHGdlbmVyYXRlUG9vbFNlcnZpY2VUb2tlbktleXMaKgoBTxIlZ2VuZXJhdGVQb29sTGlxdWlkaXR5VG9rZW5EZWNpbWFsS2V5cxobCgFQEhZnZW5lcmF0ZVBvb2xBY3RpdmVLZXlzGhQKAVESD3Bvb2xCYWxhbmNlS2V5cxoHCgFSEgIkbBoHCgFTEgIkcxoKCgFUEgUkYWNjMBoKCgFVEgUkZjBfMRoHCgFWEgIkYRoHCgFXEgIkaRoKCgFYEgUkZjBfMhobCgFZEhZwb29sTGlxdWlkaXR5VG9rZW5LZXlzGgoKAVoSBSRmMV8xGg8KAWESCmRlcG9zaXRGZWUaGwoCYUESFWxpcXVpZGl0eVRva2VuRGVjaW1hbBoQCgJhQhIKcG9vbEFtb3VudBoQCgJhQxIKdXNlckFtb3VudBoJCgJhRBIDaW50GhoKAmFFEhR1c2VyQW1vdW50V2l0aG91dEZlZRoaCgJhRhIUdHJhbnNmZXJUb1VzZXJBbW91bnQaCQoCYUcSA2ZlZRoTCgJhSBINbmV3UG9vbEFtb3VudBoXCgJhSRIRbmV3VXNlclBvb2xBbW91bnQaEwoCYUoSDWxvY2tUb2tlbnNLZXkaDgoCYUsSCHN0YXR1c2VzGgwKAmFMEgZzdGF0dXMaCAoCYU0SAnR4GgwKAmFOEgZ2ZXJpZnkaCQoCYU8SA2ludhoVCgJhUBIPbG9ja1NoYXJlVG9rZW5zGhEKAmFREgtkQXBwQWRkcmVzcxoNCgJhUhIHJG1hdGNoMRoKCgJhUxIEZEFwcBoTCgJhVBINcG9vbEZ1bmN0aW9ucxoTCgJhVRINc2lnbmVkQnlBZG1pbhoQCgJhVhIKYWRtMVNpZ25lZBoQCgJhVxIKYWRtMlNpZ25lZBoQCgJhWBIKYWRtM1NpZ25lZBoLCgJhYRIFJGYxXzIaGgoCYWISFHBvb2xTZXJ2aWNlVG9rZW5LZXlzGgsKAmFjEgUkZjJfMRoLCgJhZBIFJGYyXzIaIwoCYWUSHXBvb2xMaXF1aWRpdHlUb2tlbkRlY2ltYWxLZXlzGgsKAmFmEgUkZjNfMRoLCgJhZxIFJGYzXzIaFAoCYWgSDnBvb2xBY3RpdmVLZXlzGgsKAmFpEgUkZjRfMRoLCgJhahIFJGY0XzIaDQoCYWsSB3JlY29yZHMaGgoCYWwSFGdlbmVyYXRlRGVsZXRpbmdLZXlzGgwKAmFtEgZyZWNvcmQaEAoCYW4SCmRlbGV0ZUtleXMaCgoCYW8SBG5hbWUaEQoCYXASC2Rlc2NyaXB0aW9uGg4KAmFxEghxdWFudGl0eRoOCgJhchIIZGVjaW1hbHMaCAoCYXMSAmE4GhMKAmF0Eg1hc3NldElkU3RyaW5nGggKAmF1EgJpZBoTCgJhdhINcG9vbEFtb3VudEtleRoRCgJhdxILdXNlckFkZHJlc3MaFwoCYXgSEXVzZXJQb29sQW1vdW50S2V5GhYKAmF5EhBkQXBwQXNzZXRBZGRyZXNzGhsKAmF6EhVsaXF1aWR1dHlBc3NldEFkZHJlc3MaEgoBYhINY29udHJvbGxlckZlZRoQCgFjEgtwbGF0Zm9ybUZlZRoRCgFkEgxhZG1pblB1YktleTEaEQoBZRIMYWRtaW5QdWJLZXkyGhEKAWYSDGFkbWluUHViS2V5MxoRCgFnEgxhZG1pblB1YktleTQaFgoBaBIRZ292ZXJtYW5jZUFkZHJlc3MaEwoBaRIOZmFybWluZ0FkZHJlc3MaEAoBahILc3dvcEZpUG9vbHMaFAoBaxIPc3dvcEZpRnVuY3Rpb25zGhEKAWwSDGlzUG9vbEFjdGl2ZRoJCgFtEgRwb29sGgwKAW4SB2tBY3RpdmUaDQoBbxIIaXNBY3RpdmUaGAoBcBITZ2V0REFwcEFzc2V0QWRkcmVzcxoMCgFxEgckbWF0Y2gwGgsKAXISBnN0cmlu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AAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgUAAAABVAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwAAAAAAAAAAEAAAAAAAAAAAEQAAAAAAAAAAEgAAAAAAAAAAEwAAAAAAAAAAFAQAAAABWQoAAAAAAVIFAAAAAUUKAAAAAAFTCQABkAAAAAEFAAAAAVIKAAAAAAFUBQAAAANuaWwKAQAAAAFaAAAAAgAAAAFWAAAAAVcDCQAAZwAAAAIFAAAAAVcFAAAAAVMFAAAAAVYJAQAAAAFLAAAAAgUAAAABVgkAAZEAAAACBQAAAAFSBQAAAAFXCgEAAAACYWEAAAACAAAAAVYAAAABVwMJAABnAAAAAgUAAAABVwUAAAABUwUAAAABVgkAAAIAAAABAgAAABRMaXN0IHNpemUgZXhjZWVkcyAyMAkBAAAAAmFhAAAAAgkBAAAAAVoAAAACCQEAAAABWgAAAAIJAQAAAAFaAAAAAgkBAAAAAVoAAAACCQEAAAABWgAAAAIJAQAAAAFaAAAAAgkBAAAAAVoAAAACCQEAAAABWgAAAAIJAQAAAAFaAAAAAgkBAAAAAVoAAAACCQEAAAABWgAAAAIJAQAAAAFaAAAAAgkBAAAAAVoAAAACCQEAAAABWgAAAAIJAQAAAAFaAAAAAgkBAAAAAVoAAAACCQEAAAABWgAAAAIJAQAAAAFaAAAAAgkBAAAAAVoAAAACCQEAAAABWgAAAAIFAAAAAVQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAkAAAAAAAAAAAoAAAAAAAAAAAsAAAAAAAAAAAwAAAAAAAAAAA0AAAAAAAAAAA4AAAAAAAAAAA8AAAAAAAAAABAAAAAAAAAAABEAAAAAAAAAABIAAAAAAAAAABMAAAAAAAAAABQEAAAAAmFiCgAAAAABUgUAAAABRQoAAAAAAVMJAAGQAAAAAQUAAAABUgoAAAAAAVQFAAAAA25pbAoBAAAAAmFjAAAAAgAAAAFWAAAAAVcDCQAAZwAAAAIFAAAAAVcFAAAAAVMFAAAAAVYJAQAAAAFOAAAAAgUAAAABVgkAAZEAAAACBQAAAAFSBQAAAAFXCgEAAAACYWQAAAACAAAAAVYAAAABVwMJAABnAAAAAgUAAAABVwUAAAABUwUAAAABVgkAAAIAAAABAgAAABRMaXN0IHNpemUgZXhjZWVkcyAyMAkBAAAAAmFkAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgkBAAAAAmFjAAAAAgUAAAABVAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwAAAAAAAAAAEAAAAAAAAAAAEQAAAAAAAAAAEgAAAAAAAAAAEwAAAAAAAAAAFAQAAAACYWUKAAAAAAFSBQAAAAFFCgAAAAABUwkAAZAAAAABBQAAAAFSCgAAAAABVAUAAAADbmlsCgEAAAACYWYAAAACAAAAAVYAAAABVwMJAABnAAAAAgUAAAABVwUAAAABUwUAAAABVgkBAAAAAU8AAAACBQAAAAFWCQABkQAAAAIFAAAAAVIFAAAAAVcKAQAAAAJhZwAAAAIAAAABVgAAAAFXAwkAAGcAAAACBQAAAAFXBQAAAAFTBQAAAAFWCQAAAgAAAAECAAAAFExpc3Qgc2l6ZSBleGNlZWRzIDIwCQEAAAACYWcAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACCQEAAAACYWYAAAACBQAAAAFUAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAACAAAAAAAAAAADAAAAAAAAAAAEAAAAAAAAAAAFAAAAAAAAAAAGAAAAAAAAAAAHAAAAAAAAAAAIAAAAAAAAAAAJAAAAAAAAAAAKAAAAAAAAAAALAAAAAAAAAAAMAAAAAAAAAAANAAAAAAAAAAAOAAAAAAAAAAAPAAAAAAAAAAAQAAAAAAAAAAARAAAAAAAAAAASAAAAAAAAAAATAAAAAAAAAAAUBAAAAAJhaAoAAAAAAVIFAAAAAUUKAAAAAAFTCQABkAAAAAEFAAAAAVIKAAAAAAFUBQAAAANuaWwKAQAAAAJhaQAAAAIAAAABVgAAAAFXAwkAAGcAAAACBQAAAAFXBQAAAAFTBQAAAAFWCQEAAAABUAAAAAIFAAAAAVYJAAGRAAAAAgUAAAABUgUAAAABVwoBAAAAAmFqAAAAAgAAAAFWAAAAAVcDCQAAZwAAAAIFAAAAAVcFAAAAAVMFAAAAAVYJAAACAAAAAQIAAAAUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQAAAAJhagAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIJAQAAAAJhaQAAAAIFAAAAAVQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAkAAAAAAAAAAAoAAAAAAAAAAAsAAAAAAAAAAAwAAAAAAAAAAA0AAAAAAAAAAA4AAAAAAAAAAA8AAAAAAAAAABAAAAAAAAAAABEAAAAAAAAAABIAAAAAAAAAABMAAAAAAAAAABQJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAAROAAAAAgUAAAABUQUAAAABWQUAAAACYWIFAAAAAmFlBQAAAAJhaAkAAAIAAAABAgAAACFPbmx5IGFkbWluIGNhbiBjYWxsIHRoaXMgZnVuY3Rpb24AAAABRAEAAAAYZGVsZXRlRGVwb3NpdExvY2tSZWNvcmRzAAAAAQAAAAJhawMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACCQAETAAAAAIFAAAAAWQJAARMAAAAAgUAAAABZQkABEwAAAACBQAAAAFmBQAAAANuaWwIBQAAAAFEAAAAD2NhbGxlclB1YmxpY0tleQoBAAAAAmFsAAAAAgAAAAFKAAAAAmFtCQAETAAAAAIJAQAAAAtEZWxldGVFbnRyeQAAAAEJAAEsAAAAAgUAAAACYW0CAAAAB19sb2NrZWQFAAAAAUoEAAAAAmFuCgAAAAABUgUAAAACYWsKAAAAAAFTCQABkAAAAAEFAAAAAVIKAAAAAAFUBQAAAANuaWwKAQAAAAFVAAAAAgAAAAFWAAAAAVcDCQAAZwAAAAIFAAAAAVcFAAAAAVMFAAAAAVYJAQAAAAJhbAAAAAIFAAAAAVYJAAGRAAAAAgUAAAABUgUAAAABVwoBAAAAAVgAAAACAAAAAVYAAAABVwMJAABnAAAAAgUAAAABVwUAAAABUwUAAAABVgkAAAIAAAABAgAAABVMaXN0IHNpemUgZXhjZWVkcyAxMDAJAQAAAAFYAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAA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AAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgkBAAAAAVUAAAACCQEAAAABVQAAAAIJAQAAAAFVAAAAAgUAAAABVAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAgAAAAAAAAAAAwAAAAAAAAAABAAAAAAAAAAABQAAAAAAAAAABgAAAAAAAAAABwAAAAAAAAAACAAAAAAAAAAACQAAAAAAAAAACgAAAAAAAAAACwAAAAAAAAAADAAAAAAAAAAADQAAAAAAAAAADgAAAAAAAAAADwAAAAAAAAAAEAAAAAAAAAAAEQAAAAAAAAAAEgAAAAAAAAAAEwAAAAAAAAAAFAAAAAAAAAAAFQAAAAAAAAAAFgAAAAAAAAAAFwAAAAAAAAAAGAAAAAAAAAAAGQAAAAAAAAAAGgAAAAAAAAAAGwAAAAAAAAAAHAAAAAAAAAAAHQAAAAAAAAAAHgAAAAAAAAAAHwAAAAAAAAAAIAAAAAAAAAAAIQAAAAAAAAAAIgAAAAAAAAAAIwAAAAAAAAAAJAAAAAAAAAAAJQAAAAAAAAAAJgAAAAAAAAAAJwAAAAAAAAAAKAAAAAAAAAAAKQAAAAAAAAAAKgAAAAAAAAAAKwAAAAAAAAAALAAAAAAAAAAALQAAAAAAAAAALgAAAAAAAAAALwAAAAAAAAAAMAAAAAAAAAAAMQAAAAAAAAAAMgAAAAAAAAAAMwAAAAAAAAAANAAAAAAAAAAANQAAAAAAAAAANgAAAAAAAAAANwAAAAAAAAAAOAAAAAAAAAAAOQAAAAAAAAAAOgAAAAAAAAAAOwAAAAAAAAAAPAAAAAAAAAAAPQAAAAAAAAAAPgAAAAAAAAAAPwAAAAAAAAAAQAAAAAAAAAAAQQAAAAAAAAAAQgAAAAAAAAAAQwAAAAAAAAAARAAAAAAAAAAARQAAAAAAAAAARgAAAAAAAAAARwAAAAAAAAAASAAAAAAAAAAASQAAAAAAAAAASgAAAAAAAAAASwAAAAAAAAAATAAAAAAAAAAATQAAAAAAAAAATgAAAAAAAAAATwAAAAAAAAAAUAAAAAAAAAAAUQAAAAAAAAAAUgAAAAAAAAAAUwAAAAAAAAAAVAAAAAAAAAAAVQAAAAAAAAAAVgAAAAAAAAAAVwAAAAAAAAAAWAAAAAAAAAAAWQAAAAAAAAAAWgAAAAAAAAAAWwAAAAAAAAAAXAAAAAAAAAAAXQAAAAAAAAAAXgAAAAAAAAAAXwAAAAAAAAAAYAAAAAAAAAAAYQAAAAAAAAAAYgAAAAAAAAAAYwAAAAAAAAAAZAUAAAACYWgJAAACAAAAAQIAAAAhT25seSBhZG1pbiBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uAAAAAQAAAAJhTQEAAAACYU4AAAAABAAAAAFxBQAAAAJhTQMJAAABAAAAAgUAAAABcQIAAAAXSW52b2tlU2NyaXB0VHJhbnNhY3Rpb24EAAAAAmFPBQAAAAFxBAAAAAJhUAMJAAAAAAAAAggFAAAAAmFPAAAABGRBcHAFAAAAAWkDAwkAAAAAAAACCAUAAAACYU8AAAAIZnVuY3Rpb24CAAAAD2xvY2tTaGFyZVRva2VucwYJAAAAAAAAAggFAAAAAmFPAAAACGZ1bmN0aW9uAgAAAAVjbGFpbQYJAAAAAAAAAggFAAAAAmFPAAAACGZ1bmN0aW9uAgAAABN3aXRoZHJhd1NoYXJlVG9rZW5zBwQAAAACYVEEAAAAAmFSCAUAAAACYU8AAAAEZEFwcAMJAAABAAAAAgUAAAACYVICAAAAB0FkZHJlc3MEAAAAAmFTBQAAAAJhUgkABCUAAAABBQAAAAJhUwkAAAIAAAABAgAAACJUcmFuc2FjdGlvbiBtdXN0IGhhdmUgb25seSBhZGRyZXNzBAAAAAJhVAMJAQAAAA9jb250YWluc0VsZW1lbnQAAAACBQAAAAFqBQAAAAJhUQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAAAWsIBQAAAAJhTwAAAAhmdW5jdGlvbgcEAAAAAmFVAwMDCQAB9AAAAAMIBQAAAAJhTQAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmFNAAAABnByb29mcwAAAAAAAAAAAAUAAAABZAYJAAH0AAAAAwgFAAAAAmFNAAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACYU0AAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAFlBgkAAfQAAAADCAUAAAACYU0AAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJhTQAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAAWcGCQAB9AAAAAMIBQAAAAJhTQAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAmFNAAAABnByb29mcwAAAAAAAAAAAAgFAAAAAmFNAAAAD3NlbmRlclB1YmxpY0tleQMDBQAAAAJhUAYFAAAAAmFUBQAAAAJhVQcEAAAAAmFWAwkAAfQAAAADCAUAAAACYU0AAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJhTQAAAAZwcm9vZnMAAAAAAAAAAAAFAAAAAWQAAAAAAAAAAAEAAAAAAAAAAAAEAAAAAmFXAwkAAfQAAAADCAUAAAACYU0AAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJhTQAAAAZwcm9vZnMAAAAAAAAAAAEFAAAAAWUAAAAAAAAAAAEAAAAAAAAAAAAEAAAAAmFYAwkAAfQAAAADCAUAAAACYU0AAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJhTQAAAAZwcm9vZnMAAAAAAAAAAAIFAAAAAWYAAAAAAAAAAAEAAAAAAAAAAAAJAABnAAAAAgkAAGQAAAACCQAAZAAAAAIFAAAAAmFWBQAAAAJhVwUAAAACYVgAAAAAAAAAAAKIQAy4", "height": 1875959, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DvzhaZFW6vDaCuMw9xrT1px3HMRPF8kXYjutroGjrdJC Next: HaDtci8T7KLDnfwuvpRTJZLuZjutpSAJBftQGpMcE5PE Diff:
OldNewDifferences
7676
7777 func x (y,z,v) = {
7878 let A = u(v)
79- let B = value(assetInfo(z)).quantity
79+ let B = {
80+ let q = assetInfo(z)
81+ if ($isInstanceOf(q, "Asset"))
82+ then {
83+ let C = q
84+ C.quantity
85+ }
86+ else throw("Can't find asset")
87+ }
8088 fraction(y, A, B)
8189 }
8290
8391
84-@Callable(C)
85-func addPools (D,E,F,G) = if (containsElement([d, e, f], C.callerPublicKey))
92+@Callable(D)
93+func addPools (E,F,G,H) = if (containsElement([d, e, f], D.callerPublicKey))
8694 then {
87- func H (I,m) = IntegerEntry((m + "_asset_balance"), 0) :: I
95+ func I (J,m) = IntegerEntry((m + "_asset_balance"), 0) :: J
8896
89- func J (I,m) = {
90- let K = value(indexOf(D, m))
91- let L = E[K]
92-StringEntry((m + "_liquidity_token"), L) :: I
97+ func K (J,m) = {
98+ let L = value(indexOf(E, m))
99+ let M = F[L]
100+StringEntry((m + "_liquidity_token"), M) :: J
93101 }
94102
95- func M (I,m) = {
96- let K = value(indexOf(D, m))
97- let L = F[K]
98-StringEntry((m + "_service_token"), L) :: I
103+ func N (J,m) = {
104+ let L = value(indexOf(E, m))
105+ let M = G[L]
106+StringEntry((m + "_service_token"), M) :: J
99107 }
100108
101- func N (I,m) = {
102- let K = value(indexOf(D, m))
103- let L = G[K]
104-IntegerEntry((m + "_service_token_decimal"), L) :: I
109+ func O (J,m) = {
110+ let L = value(indexOf(E, m))
111+ let M = H[L]
112+IntegerEntry((m + "_service_token_decimal"), M) :: J
105113 }
106114
107- func O (I,m) = BooleanEntry((m + "_active"), true) :: I
115+ func P (J,m) = BooleanEntry((m + "_active"), true) :: J
108116
109- let P = {
110- let Q = D
111- let R = size(Q)
112- let S = nil
113- func T (U,V) = if ((V >= R))
114- then U
115- else H(U, Q[V])
117+ let Q = {
118+ let R = E
119+ let S = size(R)
120+ let T = nil
121+ func U (V,W) = if ((W >= S))
122+ then V
123+ else I(V, R[W])
116124
117- func W (U,V) = if ((V >= R))
118- then U
125+ func X (V,W) = if ((W >= S))
126+ then V
119127 else throw("List size exceeds 20")
120128
121- W(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
129+ X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
122130 }
123- let X = {
124- let Q = D
125- let R = size(Q)
126- let S = nil
127- func Y (U,V) = if ((V >= R))
128- then U
129- else J(U, Q[V])
131+ let Y = {
132+ let R = E
133+ let S = size(R)
134+ let T = nil
135+ func Z (V,W) = if ((W >= S))
136+ then V
137+ else K(V, R[W])
130138
131- func Z (U,V) = if ((V >= R))
132- then U
139+ func aa (V,W) = if ((W >= S))
140+ then V
133141 else throw("List size exceeds 20")
134142
135- Z(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
143+ aa(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
136144 }
137- let aa = {
138- let Q = D
139- let R = size(Q)
140- let S = nil
141- func ab (U,V) = if ((V >= R))
142- then U
143- else M(U, Q[V])
145+ let ab = {
146+ let R = E
147+ let S = size(R)
148+ let T = nil
149+ func ac (V,W) = if ((W >= S))
150+ then V
151+ else N(V, R[W])
144152
145- func ac (U,V) = if ((V >= R))
146- then U
153+ func ad (V,W) = if ((W >= S))
154+ then V
147155 else throw("List size exceeds 20")
148156
149- ac(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
157+ ad(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
150158 }
151- let ad = {
152- let Q = D
153- let R = size(Q)
154- let S = nil
155- func ae (U,V) = if ((V >= R))
156- then U
157- else N(U, Q[V])
159+ let ae = {
160+ let R = E
161+ let S = size(R)
162+ let T = nil
163+ func af (V,W) = if ((W >= S))
164+ then V
165+ else O(V, R[W])
158166
159- func af (U,V) = if ((V >= R))
160- then U
167+ func ag (V,W) = if ((W >= S))
168+ then V
161169 else throw("List size exceeds 20")
162170
163- af(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
171+ ag(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
164172 }
165- let ag = {
166- let Q = D
167- let R = size(Q)
168- let S = nil
169- func ah (U,V) = if ((V >= R))
170- then U
171- else O(U, Q[V])
173+ let ah = {
174+ let R = E
175+ let S = size(R)
176+ let T = nil
177+ func ai (V,W) = if ((W >= S))
178+ then V
179+ else P(V, R[W])
172180
173- func ai (U,V) = if ((V >= R))
174- then U
181+ func aj (V,W) = if ((W >= S))
182+ then V
175183 else throw("List size exceeds 20")
176184
177- ai(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
185+ aj(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
178186 }
179- ((((P ++ X) ++ aa) ++ ad) ++ ag)
187+ ((((Q ++ Y) ++ ab) ++ ae) ++ ah)
180188 }
181189 else throw("Only admin can call this function")
182190
183191
184192
185-@Callable(C)
186-func deleteDepositLockRecords (aj) = if (containsElement([d, e, f], C.callerPublicKey))
193+@Callable(D)
194+func deleteDepositLockRecords (ak) = if (containsElement([d, e, f], D.callerPublicKey))
187195 then {
188- func ak (I,al) = DeleteEntry((al + "_locked")) :: I
196+ func al (J,am) = DeleteEntry((am + "_locked")) :: J
189197
190- let am = {
191- let Q = aj
192- let R = size(Q)
193- let S = nil
194- func T (U,V) = if ((V >= R))
195- then U
196- else ak(U, Q[V])
198+ let an = {
199+ let R = ak
200+ let S = size(R)
201+ let T = nil
202+ func U (V,W) = if ((W >= S))
203+ then V
204+ else al(V, R[W])
197205
198- func W (U,V) = if ((V >= R))
199- then U
206+ func X (V,W) = if ((W >= S))
207+ then V
200208 else throw("List size exceeds 100")
201209
202- W(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
210+ X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
203211 }
204- am
212+ an
205213 }
206214 else throw("Only admin can call this function")
207215
208216
209217
210-@Callable(C)
211-func issueToken (an,ao,ap,aq) = if (containsElement([d, e, f], C.callerPublicKey))
212- then [Issue(an, ao, ap, aq, true, unit, 0)]
218+@Callable(D)
219+func issueToken (ao,ap,aq,ar) = if (containsElement([d, e, f], D.callerPublicKey))
220+ then [Issue(ao, ap, aq, ar, true, unit, 0)]
213221 else throw("Only admin can call this function")
214222
215223
216224
217-@Callable(ar)
225+@Callable(as)
218226 func call () = [DeleteEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_3N5viYFhnu1ew4FRZ9nujme9edr918FkT1a_current_reward")]
219227
220228
221229
222-@Callable(C)
223-func deposit (m) = if ((size(C.payments) != 1))
230+@Callable(D)
231+func deposit (m) = if ((size(D.payments) != 1))
224232 then throw("One attached payment expected")
225233 else {
226- let y = C.payments[0].amount
227- let z = C.payments[0].assetId
228- let as = {
234+ let y = D.payments[0].amount
235+ let z = D.payments[0].assetId
236+ let at = {
229237 let q = z
230238 if ($isInstanceOf(q, "ByteVector"))
231239 then {
232- let at = q
233- toBase58String(at)
240+ let au = q
241+ toBase58String(au)
234242 }
235243 else throw("Match error")
236244 }
237245 if ((0 >= y))
238246 then throw(("Deposit amount must be positive. Actual: " + toString(y)))
239247 else {
240- let au = (m + "_asset_balance")
241- let av = toString(C.caller)
242- let aw = (((m + "_") + av) + "_asset_balance")
243- let ax = p(m)
244- let ay = {
248+ let av = (m + "_asset_balance")
249+ let aw = toString(D.caller)
250+ let ax = (((m + "_") + aw) + "_asset_balance")
251+ let ay = p(m)
252+ let az = {
245253 let q = getString((m + "_liquidity_token"))
246254 if ($isInstanceOf(q, "String"))
247255 then {
255263 }
256264 if (l(m))
257265 then {
258- let az = {
259- let q = assetInfo(fromBase58String(ay))
266+ let aA = {
267+ let q = assetInfo(fromBase58String(az))
260268 if ($isInstanceOf(q, "Asset"))
261269 then {
262- let aA = q
263- aA.decimals
270+ let C = q
271+ C.decimals
264272 }
265273 else throw("Can't find asset")
266274 }
267- if ((ay != as))
275+ if ((az != at))
268276 then throw("You attached wrong liquidity token from Swop.fi")
269277 else {
270- let aB = getIntegerValue(this, au)
278+ let aB = getIntegerValue(this, av)
271279 let aC = {
272- let q = getInteger(aw)
280+ let q = getInteger(ax)
273281 if ($isInstanceOf(q, "Int"))
274282 then {
275283 let aD = q
281289 }
282290 }
283291 let aE = ((y - fraction(y, 1, a, HALFUP)) - fraction(y, 1, b, HALFUP))
284- let aF = x(aE, fromBase58String(as), m)
292+ let aF = x(aE, fromBase58String(at), m)
285293 let aG = (y - aE)
286294 let aH = ((aB + y) - aG)
287295 let aI = (aC + aF)
288- let aJ = (((((m + "_") + av) + "_") + toBase58String(C.transactionId)) + "_locked")
289-[Reissue(fromBase58String(ax), aF, true), ScriptTransfer(C.caller, aE, fromBase58String(ax)), ScriptTransfer(h, aG, fromBase58String(ay)), IntegerEntry(aJ, aE), IntegerEntry(au, aH), IntegerEntry(aw, aI)]
296+ let aJ = (((((m + "_") + aw) + "_") + toBase58String(D.transactionId)) + "_locked")
297+[Reissue(fromBase58String(ay), aF, true), ScriptTransfer(D.caller, aE, fromBase58String(ay)), ScriptTransfer(h, aG, fromBase58String(az)), IntegerEntry(aJ, aE), IntegerEntry(av, aH), IntegerEntry(ax, aI)]
290298 }
291299 }
292300 else throw("Pool is not active!")
295303
296304
297305
298-@Callable(C)
299-func withdraw (m) = if ((size(C.payments) != 1))
306+@Callable(D)
307+func withdraw (m) = if ((size(D.payments) != 1))
300308 then throw("One attached payment expected")
301309 else {
302- let y = C.payments[0].amount
303- let z = C.payments[0].assetId
304- let as = {
310+ let y = D.payments[0].amount
311+ let z = D.payments[0].assetId
312+ let at = {
305313 let q = z
306314 if ($isInstanceOf(q, "ByteVector"))
307315 then {
308- let at = q
309- toBase58String(at)
316+ let au = q
317+ toBase58String(au)
310318 }
311319 else throw("Match error")
312320 }
314322 then throw(("Deposit amount must be positive. Actual: " + toString(y)))
315323 else if (l(m))
316324 then {
317- let au = (m + "_asset_balance")
318- let av = toString(C.caller)
319- let aw = (((m + "_") + av) + "_asset_balance")
325+ let av = (m + "_asset_balance")
326+ let aw = toString(D.caller)
327+ let ax = (((m + "_") + aw) + "_asset_balance")
320328 let aC = {
321- let q = getInteger(aw)
329+ let q = getInteger(ax)
322330 if ($isInstanceOf(q, "Int"))
323331 then {
324332 let aD = q
329337 0
330338 }
331339 }
332- let ax = p(m)
333- let ay = t(m)
334- let aB = getIntegerValue(this, au)
340+ let ay = p(m)
341+ let az = t(m)
342+ let aB = getIntegerValue(this, av)
335343 let aE = ((y - fraction(y, 1, c, HALFUP)) - fraction(y, 1, b, HALFUP))
336- let aF = x(aE, fromBase58String(as), m)
344+ let aF = x(aE, fromBase58String(at), m)
337345 let aH = (aB - aE)
338346 let aG = (y - aE)
339347 let aI = (aC - y)
340-[Burn(fromBase58String(ax), aF), ScriptTransfer(C.caller, aF, fromBase58String(ay)), ScriptTransfer(h, aG, fromBase58String(ay)), IntegerEntry(au, aH), IntegerEntry(aw, aI)]
348+[Burn(fromBase58String(ay), aF), ScriptTransfer(D.caller, aF, fromBase58String(az)), ScriptTransfer(h, aG, fromBase58String(az)), IntegerEntry(av, aH), IntegerEntry(ax, aI)]
341349 }
342350 else throw("Pool is not active!")
343351 }
344352
345353
346354
347-@Callable(C)
348-func poolActivating (D,aK) = if (containsElement([d, e, f], C.callerPublicKey))
355+@Callable(D)
356+func poolActivating (E,aK) = if (containsElement([d, e, f], D.callerPublicKey))
349357 then {
350- func O (I,m) = {
351- let K = value(indexOf(D, m))
352- let aL = aK[K]
353-BooleanEntry((m + "_active"), aL) :: I
358+ func P (J,m) = {
359+ let L = value(indexOf(E, m))
360+ let aL = aK[L]
361+BooleanEntry((m + "_active"), aL) :: J
354362 }
355363
356- let ag = {
357- let Q = D
358- let R = size(Q)
359- let S = nil
360- func T (U,V) = if ((V >= R))
361- then U
362- else O(U, Q[V])
364+ let ah = {
365+ let R = E
366+ let S = size(R)
367+ let T = nil
368+ func U (V,W) = if ((W >= S))
369+ then V
370+ else P(V, R[W])
363371
364- func W (U,V) = if ((V >= R))
365- then U
372+ func X (V,W) = if ((W >= S))
373+ then V
366374 else throw("List size exceeds 100")
367375
368- W(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
376+ X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
369377 }
370- ag
378+ ah
371379 }
372380 else throw("Only admin can call this function")
373381
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 1000
55
66 let b = 10000
77
88 let c = 10000
99
1010 let d = base58'68Po1k24uP6goKr7RDmXPg4QkMiKuyTMEirao14rif8s'
1111
1212 let e = base58'Bze4aurT9WmLgBT6swA9CajaZFtUwhtwCri6XGAjnAkt'
1313
1414 let f = base58'ALsqwPqiUP3bVbM7grozc1Y5oHVBAGKqACRJ5J8RXceC'
1515
1616 let g = base58'ALsqwPqiUP3bVbM7grozc1Y5oHVBAGKqACRJ5J8RXceC'
1717
1818 let h = Address(base58'3PKoJ7GHwmidFPX6NiqKZdq8Zj2auPMNPnE')
1919
2020 let i = Address(base58'3NBTuZhn2CwAgWGL99qpGDjZQ4Wtbg56iDL')
2121
2222 let j = ["3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1", "3PKy2mZqnvT2EtpwDim9Mgs6YvCRe4s85nX", "3P27S9V36kw2McjWRZ37AxTx8iwkd7HXw6W"]
2323
2424 let k = ["replenishWithTwoTokens", "exchange"]
2525
2626 func l (m) = {
2727 let n = (m + "_active")
2828 let o = getBooleanValue(this, n)
2929 o
3030 }
3131
3232
3333 func p (m) = {
3434 let q = getString((m + "_service_token"))
3535 if ($isInstanceOf(q, "String"))
3636 then {
3737 let r = q
3838 r
3939 }
4040 else {
4141 let s = q
4242 throw("You try to deposit on unsupported pool")
4343 }
4444 }
4545
4646
4747 func t (m) = {
4848 let q = getString((m + "_liquidity_token"))
4949 if ($isInstanceOf(q, "String"))
5050 then {
5151 let r = q
5252 r
5353 }
5454 else {
5555 let s = q
5656 throw("You try to withdraw from unsupported pool")
5757 }
5858 }
5959
6060
6161 func u (v) = {
6262 let q = getInteger(i, (((v + "_") + toString(this)) + "_share_tokens_locked"))
6363 if ($isInstanceOf(q, "Int"))
6464 then {
6565 let w = q
6666 w
6767 }
6868 else if ($isInstanceOf(q, "Unit"))
6969 then {
7070 let s = q
7171 0
7272 }
7373 else throw("Match error")
7474 }
7575
7676
7777 func x (y,z,v) = {
7878 let A = u(v)
79- let B = value(assetInfo(z)).quantity
79+ let B = {
80+ let q = assetInfo(z)
81+ if ($isInstanceOf(q, "Asset"))
82+ then {
83+ let C = q
84+ C.quantity
85+ }
86+ else throw("Can't find asset")
87+ }
8088 fraction(y, A, B)
8189 }
8290
8391
84-@Callable(C)
85-func addPools (D,E,F,G) = if (containsElement([d, e, f], C.callerPublicKey))
92+@Callable(D)
93+func addPools (E,F,G,H) = if (containsElement([d, e, f], D.callerPublicKey))
8694 then {
87- func H (I,m) = IntegerEntry((m + "_asset_balance"), 0) :: I
95+ func I (J,m) = IntegerEntry((m + "_asset_balance"), 0) :: J
8896
89- func J (I,m) = {
90- let K = value(indexOf(D, m))
91- let L = E[K]
92-StringEntry((m + "_liquidity_token"), L) :: I
97+ func K (J,m) = {
98+ let L = value(indexOf(E, m))
99+ let M = F[L]
100+StringEntry((m + "_liquidity_token"), M) :: J
93101 }
94102
95- func M (I,m) = {
96- let K = value(indexOf(D, m))
97- let L = F[K]
98-StringEntry((m + "_service_token"), L) :: I
103+ func N (J,m) = {
104+ let L = value(indexOf(E, m))
105+ let M = G[L]
106+StringEntry((m + "_service_token"), M) :: J
99107 }
100108
101- func N (I,m) = {
102- let K = value(indexOf(D, m))
103- let L = G[K]
104-IntegerEntry((m + "_service_token_decimal"), L) :: I
109+ func O (J,m) = {
110+ let L = value(indexOf(E, m))
111+ let M = H[L]
112+IntegerEntry((m + "_service_token_decimal"), M) :: J
105113 }
106114
107- func O (I,m) = BooleanEntry((m + "_active"), true) :: I
115+ func P (J,m) = BooleanEntry((m + "_active"), true) :: J
108116
109- let P = {
110- let Q = D
111- let R = size(Q)
112- let S = nil
113- func T (U,V) = if ((V >= R))
114- then U
115- else H(U, Q[V])
117+ let Q = {
118+ let R = E
119+ let S = size(R)
120+ let T = nil
121+ func U (V,W) = if ((W >= S))
122+ then V
123+ else I(V, R[W])
116124
117- func W (U,V) = if ((V >= R))
118- then U
125+ func X (V,W) = if ((W >= S))
126+ then V
119127 else throw("List size exceeds 20")
120128
121- W(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
129+ X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
122130 }
123- let X = {
124- let Q = D
125- let R = size(Q)
126- let S = nil
127- func Y (U,V) = if ((V >= R))
128- then U
129- else J(U, Q[V])
131+ let Y = {
132+ let R = E
133+ let S = size(R)
134+ let T = nil
135+ func Z (V,W) = if ((W >= S))
136+ then V
137+ else K(V, R[W])
130138
131- func Z (U,V) = if ((V >= R))
132- then U
139+ func aa (V,W) = if ((W >= S))
140+ then V
133141 else throw("List size exceeds 20")
134142
135- Z(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(Y(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
143+ aa(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(Z(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
136144 }
137- let aa = {
138- let Q = D
139- let R = size(Q)
140- let S = nil
141- func ab (U,V) = if ((V >= R))
142- then U
143- else M(U, Q[V])
145+ let ab = {
146+ let R = E
147+ let S = size(R)
148+ let T = nil
149+ func ac (V,W) = if ((W >= S))
150+ then V
151+ else N(V, R[W])
144152
145- func ac (U,V) = if ((V >= R))
146- then U
153+ func ad (V,W) = if ((W >= S))
154+ then V
147155 else throw("List size exceeds 20")
148156
149- ac(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(ab(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
157+ ad(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(ac(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
150158 }
151- let ad = {
152- let Q = D
153- let R = size(Q)
154- let S = nil
155- func ae (U,V) = if ((V >= R))
156- then U
157- else N(U, Q[V])
159+ let ae = {
160+ let R = E
161+ let S = size(R)
162+ let T = nil
163+ func af (V,W) = if ((W >= S))
164+ then V
165+ else O(V, R[W])
158166
159- func af (U,V) = if ((V >= R))
160- then U
167+ func ag (V,W) = if ((W >= S))
168+ then V
161169 else throw("List size exceeds 20")
162170
163- af(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(ae(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
171+ ag(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(af(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
164172 }
165- let ag = {
166- let Q = D
167- let R = size(Q)
168- let S = nil
169- func ah (U,V) = if ((V >= R))
170- then U
171- else O(U, Q[V])
173+ let ah = {
174+ let R = E
175+ let S = size(R)
176+ let T = nil
177+ func ai (V,W) = if ((W >= S))
178+ then V
179+ else P(V, R[W])
172180
173- func ai (U,V) = if ((V >= R))
174- then U
181+ func aj (V,W) = if ((W >= S))
182+ then V
175183 else throw("List size exceeds 20")
176184
177- ai(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(ah(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
185+ aj(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(ai(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
178186 }
179- ((((P ++ X) ++ aa) ++ ad) ++ ag)
187+ ((((Q ++ Y) ++ ab) ++ ae) ++ ah)
180188 }
181189 else throw("Only admin can call this function")
182190
183191
184192
185-@Callable(C)
186-func deleteDepositLockRecords (aj) = if (containsElement([d, e, f], C.callerPublicKey))
193+@Callable(D)
194+func deleteDepositLockRecords (ak) = if (containsElement([d, e, f], D.callerPublicKey))
187195 then {
188- func ak (I,al) = DeleteEntry((al + "_locked")) :: I
196+ func al (J,am) = DeleteEntry((am + "_locked")) :: J
189197
190- let am = {
191- let Q = aj
192- let R = size(Q)
193- let S = nil
194- func T (U,V) = if ((V >= R))
195- then U
196- else ak(U, Q[V])
198+ let an = {
199+ let R = ak
200+ let S = size(R)
201+ let T = nil
202+ func U (V,W) = if ((W >= S))
203+ then V
204+ else al(V, R[W])
197205
198- func W (U,V) = if ((V >= R))
199- then U
206+ func X (V,W) = if ((W >= S))
207+ then V
200208 else throw("List size exceeds 100")
201209
202- W(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
210+ X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
203211 }
204- am
212+ an
205213 }
206214 else throw("Only admin can call this function")
207215
208216
209217
210-@Callable(C)
211-func issueToken (an,ao,ap,aq) = if (containsElement([d, e, f], C.callerPublicKey))
212- then [Issue(an, ao, ap, aq, true, unit, 0)]
218+@Callable(D)
219+func issueToken (ao,ap,aq,ar) = if (containsElement([d, e, f], D.callerPublicKey))
220+ then [Issue(ao, ap, aq, ar, true, unit, 0)]
213221 else throw("Only admin can call this function")
214222
215223
216224
217-@Callable(ar)
225+@Callable(as)
218226 func call () = [DeleteEntry("3PPH7x7iqobW5ziyiRCic19rQqKr6nPYaK1_3N5viYFhnu1ew4FRZ9nujme9edr918FkT1a_current_reward")]
219227
220228
221229
222-@Callable(C)
223-func deposit (m) = if ((size(C.payments) != 1))
230+@Callable(D)
231+func deposit (m) = if ((size(D.payments) != 1))
224232 then throw("One attached payment expected")
225233 else {
226- let y = C.payments[0].amount
227- let z = C.payments[0].assetId
228- let as = {
234+ let y = D.payments[0].amount
235+ let z = D.payments[0].assetId
236+ let at = {
229237 let q = z
230238 if ($isInstanceOf(q, "ByteVector"))
231239 then {
232- let at = q
233- toBase58String(at)
240+ let au = q
241+ toBase58String(au)
234242 }
235243 else throw("Match error")
236244 }
237245 if ((0 >= y))
238246 then throw(("Deposit amount must be positive. Actual: " + toString(y)))
239247 else {
240- let au = (m + "_asset_balance")
241- let av = toString(C.caller)
242- let aw = (((m + "_") + av) + "_asset_balance")
243- let ax = p(m)
244- let ay = {
248+ let av = (m + "_asset_balance")
249+ let aw = toString(D.caller)
250+ let ax = (((m + "_") + aw) + "_asset_balance")
251+ let ay = p(m)
252+ let az = {
245253 let q = getString((m + "_liquidity_token"))
246254 if ($isInstanceOf(q, "String"))
247255 then {
248256 let r = q
249257 r
250258 }
251259 else {
252260 let s = q
253261 throw("You try to deposit on unsupported pool")
254262 }
255263 }
256264 if (l(m))
257265 then {
258- let az = {
259- let q = assetInfo(fromBase58String(ay))
266+ let aA = {
267+ let q = assetInfo(fromBase58String(az))
260268 if ($isInstanceOf(q, "Asset"))
261269 then {
262- let aA = q
263- aA.decimals
270+ let C = q
271+ C.decimals
264272 }
265273 else throw("Can't find asset")
266274 }
267- if ((ay != as))
275+ if ((az != at))
268276 then throw("You attached wrong liquidity token from Swop.fi")
269277 else {
270- let aB = getIntegerValue(this, au)
278+ let aB = getIntegerValue(this, av)
271279 let aC = {
272- let q = getInteger(aw)
280+ let q = getInteger(ax)
273281 if ($isInstanceOf(q, "Int"))
274282 then {
275283 let aD = q
276284 aD
277285 }
278286 else {
279287 let s = q
280288 0
281289 }
282290 }
283291 let aE = ((y - fraction(y, 1, a, HALFUP)) - fraction(y, 1, b, HALFUP))
284- let aF = x(aE, fromBase58String(as), m)
292+ let aF = x(aE, fromBase58String(at), m)
285293 let aG = (y - aE)
286294 let aH = ((aB + y) - aG)
287295 let aI = (aC + aF)
288- let aJ = (((((m + "_") + av) + "_") + toBase58String(C.transactionId)) + "_locked")
289-[Reissue(fromBase58String(ax), aF, true), ScriptTransfer(C.caller, aE, fromBase58String(ax)), ScriptTransfer(h, aG, fromBase58String(ay)), IntegerEntry(aJ, aE), IntegerEntry(au, aH), IntegerEntry(aw, aI)]
296+ let aJ = (((((m + "_") + aw) + "_") + toBase58String(D.transactionId)) + "_locked")
297+[Reissue(fromBase58String(ay), aF, true), ScriptTransfer(D.caller, aE, fromBase58String(ay)), ScriptTransfer(h, aG, fromBase58String(az)), IntegerEntry(aJ, aE), IntegerEntry(av, aH), IntegerEntry(ax, aI)]
290298 }
291299 }
292300 else throw("Pool is not active!")
293301 }
294302 }
295303
296304
297305
298-@Callable(C)
299-func withdraw (m) = if ((size(C.payments) != 1))
306+@Callable(D)
307+func withdraw (m) = if ((size(D.payments) != 1))
300308 then throw("One attached payment expected")
301309 else {
302- let y = C.payments[0].amount
303- let z = C.payments[0].assetId
304- let as = {
310+ let y = D.payments[0].amount
311+ let z = D.payments[0].assetId
312+ let at = {
305313 let q = z
306314 if ($isInstanceOf(q, "ByteVector"))
307315 then {
308- let at = q
309- toBase58String(at)
316+ let au = q
317+ toBase58String(au)
310318 }
311319 else throw("Match error")
312320 }
313321 if ((0 >= y))
314322 then throw(("Deposit amount must be positive. Actual: " + toString(y)))
315323 else if (l(m))
316324 then {
317- let au = (m + "_asset_balance")
318- let av = toString(C.caller)
319- let aw = (((m + "_") + av) + "_asset_balance")
325+ let av = (m + "_asset_balance")
326+ let aw = toString(D.caller)
327+ let ax = (((m + "_") + aw) + "_asset_balance")
320328 let aC = {
321- let q = getInteger(aw)
329+ let q = getInteger(ax)
322330 if ($isInstanceOf(q, "Int"))
323331 then {
324332 let aD = q
325333 aD
326334 }
327335 else {
328336 let s = q
329337 0
330338 }
331339 }
332- let ax = p(m)
333- let ay = t(m)
334- let aB = getIntegerValue(this, au)
340+ let ay = p(m)
341+ let az = t(m)
342+ let aB = getIntegerValue(this, av)
335343 let aE = ((y - fraction(y, 1, c, HALFUP)) - fraction(y, 1, b, HALFUP))
336- let aF = x(aE, fromBase58String(as), m)
344+ let aF = x(aE, fromBase58String(at), m)
337345 let aH = (aB - aE)
338346 let aG = (y - aE)
339347 let aI = (aC - y)
340-[Burn(fromBase58String(ax), aF), ScriptTransfer(C.caller, aF, fromBase58String(ay)), ScriptTransfer(h, aG, fromBase58String(ay)), IntegerEntry(au, aH), IntegerEntry(aw, aI)]
348+[Burn(fromBase58String(ay), aF), ScriptTransfer(D.caller, aF, fromBase58String(az)), ScriptTransfer(h, aG, fromBase58String(az)), IntegerEntry(av, aH), IntegerEntry(ax, aI)]
341349 }
342350 else throw("Pool is not active!")
343351 }
344352
345353
346354
347-@Callable(C)
348-func poolActivating (D,aK) = if (containsElement([d, e, f], C.callerPublicKey))
355+@Callable(D)
356+func poolActivating (E,aK) = if (containsElement([d, e, f], D.callerPublicKey))
349357 then {
350- func O (I,m) = {
351- let K = value(indexOf(D, m))
352- let aL = aK[K]
353-BooleanEntry((m + "_active"), aL) :: I
358+ func P (J,m) = {
359+ let L = value(indexOf(E, m))
360+ let aL = aK[L]
361+BooleanEntry((m + "_active"), aL) :: J
354362 }
355363
356- let ag = {
357- let Q = D
358- let R = size(Q)
359- let S = nil
360- func T (U,V) = if ((V >= R))
361- then U
362- else O(U, Q[V])
364+ let ah = {
365+ let R = E
366+ let S = size(R)
367+ let T = nil
368+ func U (V,W) = if ((W >= S))
369+ then V
370+ else P(V, R[W])
363371
364- func W (U,V) = if ((V >= R))
365- then U
372+ func X (V,W) = if ((W >= S))
373+ then V
366374 else throw("List size exceeds 100")
367375
368- W(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(T(S, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
376+ X(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(U(T, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31), 32), 33), 34), 35), 36), 37), 38), 39), 40), 41), 42), 43), 44), 45), 46), 47), 48), 49), 50), 51), 52), 53), 54), 55), 56), 57), 58), 59), 60), 61), 62), 63), 64), 65), 66), 67), 68), 69), 70), 71), 72), 73), 74), 75), 76), 77), 78), 79), 80), 81), 82), 83), 84), 85), 86), 87), 88), 89), 90), 91), 92), 93), 94), 95), 96), 97), 98), 99), 100)
369377 }
370- ag
378+ ah
371379 }
372380 else throw("Only admin can call this function")
373381
374382
375383 @Verifier(aM)
376384 func aN () = {
377385 let q = aM
378386 if ($isInstanceOf(q, "InvokeScriptTransaction"))
379387 then {
380388 let aO = q
381389 let aP = if ((aO.dApp == i))
382390 then if (if ((aO.function == "lockShareTokens"))
383391 then true
384392 else (aO.function == "claim"))
385393 then true
386394 else (aO.function == "withdrawShareTokens")
387395 else false
388396 let aQ = {
389397 let aR = aO.dApp
390398 if ($isInstanceOf(aR, "Address"))
391399 then {
392400 let aS = aR
393401 toString(aS)
394402 }
395403 else throw("Transaction must have only address")
396404 }
397405 let aT = if (containsElement(j, aQ))
398406 then containsElement(k, aO.function)
399407 else false
400408 let aU = if (if (if (sigVerify(aM.bodyBytes, aM.proofs[0], d))
401409 then true
402410 else sigVerify(aM.bodyBytes, aM.proofs[0], e))
403411 then true
404412 else sigVerify(aM.bodyBytes, aM.proofs[0], g))
405413 then true
406414 else sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
407415 if (if (aP)
408416 then true
409417 else aT)
410418 then aU
411419 else false
412420 }
413421 else {
414422 let aV = if (sigVerify(aM.bodyBytes, aM.proofs[0], d))
415423 then 1
416424 else 0
417425 let aW = if (sigVerify(aM.bodyBytes, aM.proofs[1], e))
418426 then 1
419427 else 0
420428 let aX = if (sigVerify(aM.bodyBytes, aM.proofs[2], f))
421429 then 1
422430 else 0
423431 (((aV + aW) + aX) >= 2)
424432 }
425433 }
426434

github/deemru/w8io/169f3d6 
246.54 ms