tx · DNAq4DcUQKYteL1mV2itfHnkJCMfZQfmme4ZdWdnFVW2 3PMskBY6x2BJTwWuvLfGMouoHMwLnhVgEgU: -0.01000000 Waves 2023.12.26 03:13 [3968845] smart account 3PMskBY6x2BJTwWuvLfGMouoHMwLnhVgEgU > SELF 0.00000000 Waves
{ "type": 13, "id": "DNAq4DcUQKYteL1mV2itfHnkJCMfZQfmme4ZdWdnFVW2", "fee": 1000000, "feeAssetId": null, "timestamp": 1703549695330, "version": 2, "chainId": 87, "sender": "3PMskBY6x2BJTwWuvLfGMouoHMwLnhVgEgU", "senderPublicKey": "2PZ4ctzkwZSpFDwLZksxJjiMSsFA2dS7V7mi4o27LExc", "proofs": [ "2EmT9ZKLYCL2VeEciqs6ghMqofGsuHNGt8NTGiNVkcCauioZU3pCd8Gqx3Gg1cXPAx2uZTb4MLqZv6Y7YKeG1gTV" ], "script": "base64:BgITCAISABIDCgEIEgMKAQgSAwoBCBoACnJ1bGVyX3Rlc3QCLEJneHBDbTR3eGJXOFNLTFBLWm5mNEtVMkQ2WlUyOW92OE1nWnJrYVNBcXBZAAVydWxlcgIsN3pOVUpCVm9QTUJDUnN0UDNSMUF2eGh4ck41MVNRa241Qk1pMmlKOWNpQWQABnJ1bGVyMgIsOWZlNjdld3p4dGFMb3plUFoyVTNTRzcxWlFGeUdMQVhXbW1tSFJFcEZlTUMABnJ1bGVyMwIsQW8ycWlqUVZ2dlpaU2dSektvWXlKOWtCeFlqc1BRMzdDZFVwcGRKdFQ2VjEABnJ1bGVyNAIsM1BTSzdiNmJNZjFnQkR2akhSYkdROXpHYzY4VWlyZXFCajJldWJWaTFxNXIABnJ1bGVyNQIsNjZyQ3Y5ZGZkb3VxUTNTUkc5WHJLblJpRm1NYndrWlFnbWhTMWZ0bkN0cW0ABnJ1bGVyNgIsRmVNWDZoUWFSS3NMc2tpNzd4VkhIREdSa2o5VnVKem1QMk1BQ2JBV0RqREsABnJ1bGVyNwIsN3hERVE3SlpOTDFaTExxY3lTVWIxV1dpakcxWDNHRFdHMzVReHlOcWJ4eGkABnJ1bGVyOAIsR1g1azFDcHVobnY5b1A5Vm5XTVNYQnJKdXNha1U1UDNLenFRVzVlN1BqZ2QABnJ1bGVyOQIsQkJ0NnlZdnFMSjZjR1d1YjRGV3ZQRzM1eTZzS05RQkdzUXljeksyU2l0M2oAB3J1bGVyMTACLDU2aUMxYUJnWFY2NlNTUko1RTZoSFBKbksyTHZ6V2pLRnNuOGM4aUVRc1kxAAphYnJhY2FkYnJhASCEw4RMq+J8AgneosFzaAks62toFxJJXbpWEJovtolzAQANbGltaXRDb250cmFjdAIjM1BGQjZMSnlTaHNDS0VBMUFVMVUxV0xiRGF6cXlqNlpMOWIAC3RzbkNvbnRyYWN0AiMzUEt6NWpuSkxvaEYyR2pTaFE3Ykc1SDRCZWJkb0E5OHpaMgAKd3hDb250cmFjdAIjM1A2OHpOaXVmc3UxdmlacHUxYVkzY2RhaFJSS2N2VjVOOTMAEWxlbmRQcm94eUNvbnRyYWN0AiMzUEd4TVp0TW5OVDlwSkN2WHhYVjRMektxWHNqdlE5WHBmUgEDdmlwAQNra2sDAwMDAwMDAwMDCQAAAgUDa2trBQVydWxlcgYJAAACBQNra2sFBnJ1bGVyMgYJAAACBQNra2sFBnJ1bGVyMwYJAAACBQNra2sFBnJ1bGVyNAYJAAACBQNra2sFBnJ1bGVyNQYJAAACBQNra2sFBnJ1bGVyNgYJAAACBQNra2sFBnJ1bGVyNwYJAAACBQNra2sFBnJ1bGVyOAYJAAACBQNra2sFBnJ1bGVyOQYJAAACBQNra2sFB3J1bGVyMTAGBwEKZ2V0QXNzZXRJZAEDcG10BAckbWF0Y2gwBQNwbXQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBcAUHJG1hdGNoMAUDcG10BQR1bml0AQ5nZXRBc3NldFN0cmluZwEHYXNzZXRJZAQHJG1hdGNoMAUHYXNzZXRJZAMJAAECBQckbWF0Y2gwAgpCeXRlVmVjdG9yBAFiBQckbWF0Y2gwCQDYBAEFAWICBVdBVkVTAQ1nZXRBY2NCYWxhbmNlAQdhc3NldElkAwkAAAIFB2Fzc2V0SWQCBVdBVkVTCAkA7wcBBQR0aGlzCWF2YWlsYWJsZQkA8AcCBQR0aGlzCQDZBAEFB2Fzc2V0SWQBDWdldEFzc2V0Qnl0ZXMBB2Fzc2V0SWQDCQAAAgUHYXNzZXRJZAIFV0FWRVMFBHVuaXQJANkEAQUHYXNzZXRJZAEJbXlCYWxhbmNlAQdhc3NldElkBAckbWF0Y2gwBQdhc3NldElkAwkAAQIFByRtYXRjaDACCkJ5dGVWZWN0b3IEAWIFByRtYXRjaDAJAPAHAgUEdGhpcwUBYggJAO8HAQUEdGhpcwlhdmFpbGFibGUBCXN3YXBMaW1pdAIGcGFyYW1zBXQwU3RyCgEHZG9MaW1pdAIFYXNzZXQLb3JkZXJQYXJhbXMEA29yZAkAtQkCBQtvcmRlclBhcmFtcwIBPgQLJHQwMjYzMzI2NzgJAJQKAgkAkQMCBQNvcmQAAAkAkQMCBQNvcmQAAQQHb3JkZXJJZAgFCyR0MDI2MzMyNjc4Al8xBAtvcmRlckFtb3VudAgFCyR0MDI2MzMyNjc4Al8yBANpbnYJAPwHBAkBB0FkZHJlc3MBCQDZBAEFDWxpbWl0Q29udHJhY3QCDGZ1bGZpbGxPcmRlcgkAzAgCBQdvcmRlcklkBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFBWFzc2V0CQENcGFyc2VJbnRWYWx1ZQEFC29yZGVyQW1vdW50BQNuaWwDCQAAAgUDaW52BQNpbnYFBWFzc2V0CQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuBAhvcmRlcnNMaQkAtQkCBQZwYXJhbXMCAToEAnQwCQENZ2V0QXNzZXRCeXRlcwEFBXQwU3RyBAZyZXN1bHQKAAIkbAUIb3JkZXJzTGkKAAIkcwkAkAMBBQIkbAoABSRhY2MwBQJ0MAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEHZG9MaW1pdAIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMTAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgMJAAACBQZyZXN1bHQFBnJlc3VsdAAACQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQhzd2FwTGVuZAQGcGFyYW1zBXQwU3RyBXQxU3RyBmFtb3VudAQDYXJyCQC1CQIFBnBhcmFtcwIBLQQLJHQwMzEwNzMxNjQJAJUKAwkAkQMCBQNhcnIAAAkAkQMCBQNhcnIAAQkAkQMCBQNhcnIAAgQMcG9vbF9hZGRyZXNzCAULJHQwMzEwNzMxNjQCXzEEBWFzc2V0CAULJHQwMzEwNzMxNjQCXzIEA2RpcggFCyR0MDMxMDczMTY0Al8zBAhwcm94eUFkcgkBB0FkZHJlc3MBCQDZBAEFEWxlbmRQcm94eUNvbnRyYWN0BAxmdW5jdGlvbk5hbWUDCQAAAgUDZGlyAgEwAgZtaW50UEwCCHJlZGVlbVBMCQD8BwQFCHByb3h5QWRyBQxmdW5jdGlvbk5hbWUJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRBc3NldEJ5dGVzAQUFdDBTdHIFBmFtb3VudAUDbmlsAQhzd2FwUGVwZQQGcGFyYW1zBXQwU3RyBXQxU3RyBmFtb3VudAQDYXJyCQC1CQIFBnBhcmFtcwIBLQQLJHQwMzU0NDM1OTQJAJQKAgkAkQMCBQNhcnIAAAkAkQMCBQNhcnIAAQQMcG9vbF9hZGRyZXNzCAULJHQwMzU0NDM1OTQCXzEEC2Z1bmN0aW9uVGFnCAULJHQwMzU0NDM1OTQCXzIEC3N3YXBBZGRyZXNzCQEHQWRkcmVzcwEJANkEAQUMcG9vbF9hZGRyZXNzAwkAAAIFC2Z1bmN0aW9uVGFnAgFkCQD8BwQFC3N3YXBBZGRyZXNzAgdkZXBvc2l0CQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0QXNzZXRCeXRlcwEFBXQwU3RyBQZhbW91bnQFA25pbAMJAAACBQtmdW5jdGlvblRhZwIBdwkA/AcEBQtzd2FwQWRkcmVzcwIId2l0aGRyYXcJAMwIAgUFdDFTdHIJAMwIAgAABQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIJAQ1nZXRBc3NldEJ5dGVzAQUFdDBTdHIFBmFtb3VudAUDbmlsAwkAAAIFC2Z1bmN0aW9uVGFnAgFzCQD8BwQFC3N3YXBBZGRyZXNzAgRzd2FwCQDMCAIFBXQxU3RyCQDMCAIAAAUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCCQENZ2V0QXNzZXRCeXRlcwEFBXQwU3RyBQZhbW91bnQFA25pbAkAAgECIlVua25vd24gZnVuY3Rpb24gdGFnIGZvciBwZXBlIHN3YXABCG1ha2VTd2FwBQJwdAFwA2FtaQNhaW4DYW91AwkAAAIFAnB0AgJwdQkA/AcECQEHQWRkcmVzcwEJANkEAQUBcAIEc3dhcAkAzAgCBQNhb3UJAMwIAgABBQNuaWwJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIFA2FpbgUDYW1pBQNuaWwDCQAAAgUCcHQCAnN3CQD8BwQJAQdBZGRyZXNzAQkA2QQBBQFwAghleGNoYW5nZQkAzAgCAAEFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUDYWluBQNhbWkFA25pbAMJAAACBQJwdAICd3gJAPwHBAkBB0FkZHJlc3MBARoBVy4qNTWxDbfxeT7ht0bQnnRSTXsx0IOuBgIEc3dhcAkAzAgCAAEJAMwIAgUDYW91CQDMCAIJAKUIAQUEdGhpcwUDbmlsCQDMCAIJAQ9BdHRhY2hlZFBheW1lbnQCBQNhaW4FA2FtaQUDbmlsAwkAAAIFAnB0AgJsaQkBCXN3YXBMaW1pdAIFAXAJAQ5nZXRBc3NldFN0cmluZwEFA2FpbgMJAAACBQJwdAICdHMJAPwHBAkBB0FkZHJlc3MBCQDZBAEFC3RzbkNvbnRyYWN0AgRzd2FwCQDMCAIFA2FvdQkAzAgCAAAFA25pbAkAzAgCCQEPQXR0YWNoZWRQYXltZW50AgUDYWluBQNhbWkFA25pbAMJAAACBQJwdAICbGUJAQhzd2FwTGVuZAQFAXAJAQ5nZXRBc3NldFN0cmluZwEFA2FpbgUDYW91BQNhbWkDCQAAAgUCcHQCAnBlCQEIc3dhcFBlcGUEBQFwCQEOZ2V0QXNzZXRTdHJpbmcBBQNhaW4FA2FvdQUDYW1pCQACAQIRVW5rbm93biBwb29sIHR5cGUEAWkBBHRlc3QACQCUCgIFA25pbAIAAWkBAWEBAWQECWNhbGxlclBiawkA2AQBCAUBaQ9jYWxsZXJQdWJsaWNLZXkDCQEBIQEJAQN2aXABBQljYWxsZXJQYmsJAAIBAghOby1uby1ubwQDcG10CQCRAwIIBQFpCHBheW1lbnRzAAAEB2Fzc2V0SW4JAQpnZXRBc3NldElkAQgFA3BtdAdhc3NldElkBAhhbW91bnRJbgkBBXZhbHVlAQgFA3BtdAZhbW91bnQEA2FycgkAtQkCBQFkAgF8BAskdDA1NDQyNTUyMgkAmAoGCQCRAwIFA2FycgAACQCRAwIFA2FycgABCQCRAwIFA2FycgACCQCRAwIFA2FycgADCQCRAwIFA2FycgAECQCRAwIFA2FycgAFBAJhMQgFCyR0MDU0NDI1NTIyAl8xBAJwMQgFCyR0MDU0NDI1NTIyAl8yBANwMXQIBQskdDA1NDQyNTUyMgJfMwQCcDIIBQskdDA1NDQyNTUyMgJfNAQDcDJ0CAULJHQwNTQ0MjU1MjICXzUEAW0IBQskdDA1NDQyNTUyMgJfNgQFbWluaW0JAQ1wYXJzZUludFZhbHVlAQUBbQQGYTFfYmVmCQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQJhMQMJAAACBQZhMV9iZWYFBmExX2JlZgQCczEJAQhtYWtlU3dhcAUFA3AxdAUCcDEFCGFtb3VudEluBQdhc3NldEluBQJhMQMJAAACBQJzMQUCczEEA25iMQkAZQIJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFAmExBQZhMV9iZWYDCQAAAgUDbmIxBQNuYjEECmFfYmFzZV9iZWYJAQlteUJhbGFuY2UBBQdhc3NldEluAwkAAAIFCmFfYmFzZV9iZWYFCmFfYmFzZV9iZWYEAnMyCQEIbWFrZVN3YXAFBQNwMnQFAnAyBQNuYjEJAQ1nZXRBc3NldEJ5dGVzAQUCYTEJAQ5nZXRBc3NldFN0cmluZwEFB2Fzc2V0SW4DCQAAAgUCczIFAnMyBAZyZXN1bHQJAGUCCQEJbXlCYWxhbmNlAQUHYXNzZXRJbgUKYV9iYXNlX2JlZgMJAAACBQZyZXN1bHQFBnJlc3VsdAMJAGYCBQZyZXN1bHQFBW1pbmltBAdodWphYnJhCQBlAgUGcmVzdWx0BQhhbW91bnRJbgQEcmV0dQUIYW1vdW50SW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwgFAWkGY2FsbGVyBQRyZXR1BQdhc3NldEluCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMJAKcIAQUKYWJyYWNhZGJyYQUHaHVqYWJyYQUHYXNzZXRJbgUDbmlsCQACAQkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICAgtPb29wcywgaW46IAkApAMBBQhhbW91bnRJbgIFLCAxOiAJAKQDAQUDbmIxAgcsIG91dDogCQCkAwEFBnJlc3VsdAIHLCBtaW46IAkApAMBBQVtaW5pbQkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgFpAQFiAQFkBAljYWxsZXJQYmsJANgEAQgFAWkPY2FsbGVyUHVibGljS2V5AwkBASEBCQEDdmlwAQUJY2FsbGVyUGJrCQACAQIITm8tbm8tbm8EA3BtdAkAkQMCCAUBaQhwYXltZW50cwAABAdhc3NldEluCQEKZ2V0QXNzZXRJZAEIBQNwbXQHYXNzZXRJZAQIYW1vdW50SW4JAQV2YWx1ZQEIBQNwbXQGYW1vdW50BANhcnIJALUJAgUBZAIBfAQLJHQwNjc1MTY4NjgJAJsKCQkAkQMCBQNhcnIAAAkAkQMCBQNhcnIAAQkAkQMCBQNhcnIAAgkAkQMCBQNhcnIAAwkAkQMCBQNhcnIABAkAkQMCBQNhcnIABQkAkQMCBQNhcnIABgkAkQMCBQNhcnIABwkAkQMCBQNhcnIACAQCYTEIBQskdDA2NzUxNjg2OAJfMQQCcDEIBQskdDA2NzUxNjg2OAJfMgQDcDF0CAULJHQwNjc1MTY4NjgCXzMEAmEyCAULJHQwNjc1MTY4NjgCXzQEAnAyCAULJHQwNjc1MTY4NjgCXzUEA3AydAgFCyR0MDY3NTE2ODY4Al82BAJwMwgFCyR0MDY3NTE2ODY4Al83BANwM3QIBQskdDA2NzUxNjg2OAJfOAQBbQgFCyR0MDY3NTE2ODY4Al85BAVtaW5pbQkBDXBhcnNlSW50VmFsdWUBBQFtBAZhMV9iZWYJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFAmExAwkAAAIFBmExX2JlZgUGYTFfYmVmBAJzMQkBCG1ha2VTd2FwBQUDcDF0BQJwMQUIYW1vdW50SW4FB2Fzc2V0SW4FAmExAwkAAAIFAnMxBQJzMQQDbmIxCQBlAgkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUCYTEFBmExX2JlZgMJAAACBQNuYjEFA25iMQQGYTJfYmVmCQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQJhMgMJAAACBQZhMl9iZWYFBmEyX2JlZgQCczIJAQhtYWtlU3dhcAUFA3AydAUCcDIFA25iMQkBDWdldEFzc2V0Qnl0ZXMBBQJhMQUCYTIDCQAAAgUCczIFAnMyBANuYjIJAGUCCQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQJhMgUGYTJfYmVmAwkAAAIFA25iMgUDbmIyBAphX2Jhc2VfYmVmCQEJbXlCYWxhbmNlAQUHYXNzZXRJbgMJAAACBQphX2Jhc2VfYmVmBQphX2Jhc2VfYmVmBAJzMwkBCG1ha2VTd2FwBQUDcDN0BQJwMwUDbmIyCQENZ2V0QXNzZXRCeXRlcwEFAmEyCQEOZ2V0QXNzZXRTdHJpbmcBBQdhc3NldEluAwkAAAIFAnMzBQJzMwQGcmVzdWx0CQBlAgkBCW15QmFsYW5jZQEFB2Fzc2V0SW4FCmFfYmFzZV9iZWYDCQAAAgUGcmVzdWx0BQZyZXN1bHQDCQBmAgUGcmVzdWx0BQVtaW5pbQQHaHVqYWJyYQkAZQIFBnJlc3VsdAUIYW1vdW50SW4EBHJldHUFCGFtb3VudEluCQDMCAIJAQ5TY3JpcHRUcmFuc2ZlcgMIBQFpBmNhbGxlcgUEcmV0dQUHYXNzZXRJbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCQCnCAEFCmFicmFjYWRicmEFB2h1amFicmEFB2Fzc2V0SW4FA25pbAkAAgEJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgICC09vb3BzLCBpbjogCQCkAwEFCGFtb3VudEluAgUsIDE6IAkApAMBBQNuYjECBSwgMjogCQCkAwEFA25iMgIHLCBvdXQ6IAkApAMBBQZyZXN1bHQCBywgbWluOiAJAKQDAQUFbWluaW0JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAIBAiRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4BaQEBYwEBZAQJY2FsbGVyUGJrCQDYBAEIBQFpD2NhbGxlclB1YmxpY0tleQMJAQEhAQkBA3ZpcAEFCWNhbGxlclBiawkAAgECCE5vLW5vLW5vBANwbXQJAJEDAggFAWkIcGF5bWVudHMAAAQHYXNzZXRJbgkBCmdldEFzc2V0SWQBCAUDcG10B2Fzc2V0SWQECGFtb3VudEluCQEFdmFsdWUBCAUDcG10BmFtb3VudAQDYXJyCQC1CQIFAWQCAXwECyR0MDgzNzM4NTI5CQCeCgwJAJEDAgUDYXJyAAAJAJEDAgUDYXJyAAEJAJEDAgUDYXJyAAIJAJEDAgUDYXJyAAMJAJEDAgUDYXJyAAQJAJEDAgUDYXJyAAUJAJEDAgUDYXJyAAYJAJEDAgUDYXJyAAcJAJEDAgUDYXJyAAgJAJEDAgUDYXJyAAkJAJEDAgUDYXJyAAoJAJEDAgUDYXJyAAsEAmExCAULJHQwODM3Mzg1MjkCXzEEAnAxCAULJHQwODM3Mzg1MjkCXzIEA3AxdAgFCyR0MDgzNzM4NTI5Al8zBAJhMggFCyR0MDgzNzM4NTI5Al80BAJwMggFCyR0MDgzNzM4NTI5Al81BANwMnQIBQskdDA4MzczODUyOQJfNgQCYTMIBQskdDA4MzczODUyOQJfNwQCcDMIBQskdDA4MzczODUyOQJfOAQDcDN0CAULJHQwODM3Mzg1MjkCXzkEAnA0CAULJHQwODM3Mzg1MjkDXzEwBANwNHQIBQskdDA4MzczODUyOQNfMTEEAW0IBQskdDA4MzczODUyOQNfMTIEBW1pbmltCQENcGFyc2VJbnRWYWx1ZQEFAW0EBmExX2JlZgkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUCYTEDCQAAAgUGYTFfYmVmBQZhMV9iZWYEAnMxCQEIbWFrZVN3YXAFBQNwMXQFAnAxBQhhbW91bnRJbgUHYXNzZXRJbgUCYTEDCQAAAgUCczEFAnMxBANuYjEJAGUCCQEJbXlCYWxhbmNlAQkBDWdldEFzc2V0Qnl0ZXMBBQJhMQUGYTFfYmVmAwkAAAIFA25iMQUDbmIxBAZhMl9iZWYJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFAmEyAwkAAAIFBmEyX2JlZgUGYTJfYmVmBAJzMgkBCG1ha2VTd2FwBQUDcDJ0BQJwMgUDbmIxCQENZ2V0QXNzZXRCeXRlcwEFAmExBQJhMgMJAAACBQJzMgUCczIEA25iMgkAZQIJAQlteUJhbGFuY2UBCQENZ2V0QXNzZXRCeXRlcwEFAmEyBQZhMl9iZWYDCQAAAgUDbmIyBQNuYjIEBmEzX2JlZgkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUCYTMDCQAAAgUGYTNfYmVmBQZhM19iZWYEAnMzCQEIbWFrZVN3YXAFBQNwM3QFAnAzBQNuYjIJAQ1nZXRBc3NldEJ5dGVzAQUCYTIFAmEzAwkAAAIFAnMzBQJzMwQDbmIzCQBlAgkBCW15QmFsYW5jZQEJAQ1nZXRBc3NldEJ5dGVzAQUCYTMFBmEzX2JlZgMJAAACBQNuYjMFA25iMwQKYV9iYXNlX2JlZgkBCW15QmFsYW5jZQEFB2Fzc2V0SW4DCQAAAgUKYV9iYXNlX2JlZgUKYV9iYXNlX2JlZgQCczQJAQhtYWtlU3dhcAUFA3A0dAUCcDQFA25iMwkBDWdldEFzc2V0Qnl0ZXMBBQJhMwkBDmdldEFzc2V0U3RyaW5nAQUHYXNzZXRJbgMJAAACBQJzNAUCczQEBnJlc3VsdAkAZQIJAQlteUJhbGFuY2UBBQdhc3NldEluBQphX2Jhc2VfYmVmAwkAAAIFBnJlc3VsdAUGcmVzdWx0AwkAZgIFBnJlc3VsdAUFbWluaW0EB2h1amFicmEJAGUCBQZyZXN1bHQFCGFtb3VudEluBARyZXR1BQhhbW91bnRJbgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDCAUBaQZjYWxsZXIFBHJldHUFB2Fzc2V0SW4JAMwIAgkBDlNjcmlwdFRyYW5zZmVyAwkApwgBBQphYnJhY2FkYnJhBQdodWphYnJhBQdhc3NldEluBQNuaWwJAAIBCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgkArAICCQCsAgIJAKwCAgILT29vcHMsIGluOiAJAKQDAQUIYW1vdW50SW4CBSwgMTogCQCkAwEFA25iMQIFLCAyOiAJAKQDAQUDbmIyAgUsIDM6IAkApAMBBQNuYjMCBywgb3V0OiAJAKQDAQUGcmVzdWx0AgcsIG1pbjogCQCkAwEFBW1pbmltCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuCQACAQIkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAQJ0eAEGdmVyaWZ5AAkA9AMDCAUCdHgJYm9keUJ5dGVzCQCRAwIIBQJ0eAZwcm9vZnMAAAgFAnR4D3NlbmRlclB1YmxpY0tleUJIctY=", "height": 3968845, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 771BqQwbjSjU3iC1mZwb6zeeY6m847eed2Uyrk5icTkN Next: none Diff:
Old | New | Differences | |
---|---|---|---|
21 | 21 | ||
22 | 22 | let ruler9 = "BBt6yYvqLJ6cGWub4FWvPG35y6sKNQBGsQyczK2Sit3j" | |
23 | 23 | ||
24 | + | let ruler10 = "56iC1aBgXV66SSRJ5E6hHPJnK2LvzWjKFsn8c8iEQsY1" | |
25 | + | ||
24 | 26 | let abracadbra = base58'9wFjTx4rK6ZxfHa3z65BHhP6A7gkZLioxVrD4p2Frjjn' | |
25 | 27 | ||
26 | 28 | let limitContract = "3PFB6LJyShsCKEA1AU1U1WLbDazqyj6ZL9b" | |
31 | 33 | ||
32 | 34 | let lendProxyContract = "3PGxMZtMnNT9pJCvXxXV4LzKqXsjvQ9XpfR" | |
33 | 35 | ||
34 | - | func vip (kkk) = if (if (if (if (if (if (if (if (if ((kkk == ruler)) | |
36 | + | func vip (kkk) = if (if (if (if (if (if (if (if (if (if ((kkk == ruler)) | |
35 | 37 | then true | |
36 | 38 | else (kkk == ruler2)) | |
37 | 39 | then true | |
48 | 50 | else (kkk == ruler8)) | |
49 | 51 | then true | |
50 | 52 | else (kkk == ruler9)) | |
53 | + | then true | |
54 | + | else (kkk == ruler10)) | |
51 | 55 | then true | |
52 | 56 | else false | |
53 | 57 | ||
89 | 93 | func swapLimit (params,t0Str) = { | |
90 | 94 | func doLimit (asset,orderParams) = { | |
91 | 95 | let ord = split(orderParams, ">") | |
92 | - | let $ | |
93 | - | let orderId = $ | |
94 | - | let orderAmount = $ | |
96 | + | let $t026332678 = $Tuple2(ord[0], ord[1]) | |
97 | + | let orderId = $t026332678._1 | |
98 | + | let orderAmount = $t026332678._2 | |
95 | 99 | let inv = invoke(Address(fromBase58String(limitContract)), "fulfillOrder", [orderId], [AttachedPayment(asset, parseIntValue(orderAmount))]) | |
96 | 100 | if ((inv == inv)) | |
97 | 101 | then asset | |
122 | 126 | ||
123 | 127 | func swapLend (params,t0Str,t1Str,amount) = { | |
124 | 128 | let arr = split(params, "-") | |
125 | - | let $ | |
126 | - | let pool_address = $ | |
127 | - | let asset = $ | |
128 | - | let dir = $ | |
129 | + | let $t031073164 = $Tuple3(arr[0], arr[1], arr[2]) | |
130 | + | let pool_address = $t031073164._1 | |
131 | + | let asset = $t031073164._2 | |
132 | + | let dir = $t031073164._3 | |
129 | 133 | let proxyAdr = Address(fromBase58String(lendProxyContract)) | |
130 | 134 | let functionName = if ((dir == "0")) | |
131 | 135 | then "mintPL" | |
136 | 140 | ||
137 | 141 | func swapPepe (params,t0Str,t1Str,amount) = { | |
138 | 142 | let arr = split(params, "-") | |
139 | - | let $ | |
140 | - | let pool_address = $ | |
141 | - | let functionTag = $ | |
143 | + | let $t035443594 = $Tuple2(arr[0], arr[1]) | |
144 | + | let pool_address = $t035443594._1 | |
145 | + | let functionTag = $t035443594._2 | |
142 | 146 | let swapAddress = Address(fromBase58String(pool_address)) | |
143 | 147 | if ((functionTag == "d")) | |
144 | 148 | then invoke(swapAddress, "deposit", [0], [AttachedPayment(getAssetBytes(t0Str), amount)]) | |
182 | 186 | let assetIn = getAssetId(pmt.assetId) | |
183 | 187 | let amountIn = value(pmt.amount) | |
184 | 188 | let arr = split(d, "|") | |
185 | - | let $ | |
186 | - | let a1 = $ | |
187 | - | let p1 = $ | |
188 | - | let p1t = $ | |
189 | - | let p2 = $ | |
190 | - | let p2t = $ | |
191 | - | let m = $ | |
189 | + | let $t054425522 = $Tuple6(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]) | |
190 | + | let a1 = $t054425522._1 | |
191 | + | let p1 = $t054425522._2 | |
192 | + | let p1t = $t054425522._3 | |
193 | + | let p2 = $t054425522._4 | |
194 | + | let p2t = $t054425522._5 | |
195 | + | let m = $t054425522._6 | |
192 | 196 | let minim = parseIntValue(m) | |
193 | 197 | let a1_bef = myBalance(getAssetBytes(a1)) | |
194 | 198 | if ((a1_bef == a1_bef)) | |
240 | 244 | let assetIn = getAssetId(pmt.assetId) | |
241 | 245 | let amountIn = value(pmt.amount) | |
242 | 246 | let arr = split(d, "|") | |
243 | - | let $ | |
244 | - | let a1 = $ | |
245 | - | let p1 = $ | |
246 | - | let p1t = $ | |
247 | - | let a2 = $ | |
248 | - | let p2 = $ | |
249 | - | let p2t = $ | |
250 | - | let p3 = $ | |
251 | - | let p3t = $ | |
252 | - | let m = $ | |
247 | + | let $t067516868 = $Tuple9(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8]) | |
248 | + | let a1 = $t067516868._1 | |
249 | + | let p1 = $t067516868._2 | |
250 | + | let p1t = $t067516868._3 | |
251 | + | let a2 = $t067516868._4 | |
252 | + | let p2 = $t067516868._5 | |
253 | + | let p2t = $t067516868._6 | |
254 | + | let p3 = $t067516868._7 | |
255 | + | let p3t = $t067516868._8 | |
256 | + | let m = $t067516868._9 | |
253 | 257 | let minim = parseIntValue(m) | |
254 | 258 | let a1_bef = myBalance(getAssetBytes(a1)) | |
255 | 259 | if ((a1_bef == a1_bef)) | |
316 | 320 | let assetIn = getAssetId(pmt.assetId) | |
317 | 321 | let amountIn = value(pmt.amount) | |
318 | 322 | let arr = split(d, "|") | |
319 | - | let $ | |
320 | - | let a1 = $ | |
321 | - | let p1 = $ | |
322 | - | let p1t = $ | |
323 | - | let a2 = $ | |
324 | - | let p2 = $ | |
325 | - | let p2t = $ | |
326 | - | let a3 = $ | |
327 | - | let p3 = $ | |
328 | - | let p3t = $ | |
329 | - | let p4 = $ | |
330 | - | let p4t = $ | |
331 | - | let m = $ | |
323 | + | let $t083738529 = $Tuple12(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8], arr[9], arr[10], arr[11]) | |
324 | + | let a1 = $t083738529._1 | |
325 | + | let p1 = $t083738529._2 | |
326 | + | let p1t = $t083738529._3 | |
327 | + | let a2 = $t083738529._4 | |
328 | + | let p2 = $t083738529._5 | |
329 | + | let p2t = $t083738529._6 | |
330 | + | let a3 = $t083738529._7 | |
331 | + | let p3 = $t083738529._8 | |
332 | + | let p3t = $t083738529._9 | |
333 | + | let p4 = $t083738529._10 | |
334 | + | let p4t = $t083738529._11 | |
335 | + | let m = $t083738529._12 | |
332 | 336 | let minim = parseIntValue(m) | |
333 | 337 | let a1_bef = myBalance(getAssetBytes(a1)) | |
334 | 338 | if ((a1_bef == a1_bef)) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let ruler_test = "BgxpCm4wxbW8SKLPKZnf4KU2D6ZU29ov8MgZrkaSAqpY" | |
5 | 5 | ||
6 | 6 | let ruler = "7zNUJBVoPMBCRstP3R1AvxhxrN51SQkn5BMi2iJ9ciAd" | |
7 | 7 | ||
8 | 8 | let ruler2 = "9fe67ewzxtaLozePZ2U3SG71ZQFyGLAXWmmmHREpFeMC" | |
9 | 9 | ||
10 | 10 | let ruler3 = "Ao2qijQVvvZZSgRzKoYyJ9kBxYjsPQ37CdUppdJtT6V1" | |
11 | 11 | ||
12 | 12 | let ruler4 = "3PSK7b6bMf1gBDvjHRbGQ9zGc68UireqBj2eubVi1q5r" | |
13 | 13 | ||
14 | 14 | let ruler5 = "66rCv9dfdouqQ3SRG9XrKnRiFmMbwkZQgmhS1ftnCtqm" | |
15 | 15 | ||
16 | 16 | let ruler6 = "FeMX6hQaRKsLski77xVHHDGRkj9VuJzmP2MACbAWDjDK" | |
17 | 17 | ||
18 | 18 | let ruler7 = "7xDEQ7JZNL1ZLLqcySUb1WWijG1X3GDWG35QxyNqbxxi" | |
19 | 19 | ||
20 | 20 | let ruler8 = "GX5k1Cpuhnv9oP9VnWMSXBrJusakU5P3KzqQW5e7Pjgd" | |
21 | 21 | ||
22 | 22 | let ruler9 = "BBt6yYvqLJ6cGWub4FWvPG35y6sKNQBGsQyczK2Sit3j" | |
23 | 23 | ||
24 | + | let ruler10 = "56iC1aBgXV66SSRJ5E6hHPJnK2LvzWjKFsn8c8iEQsY1" | |
25 | + | ||
24 | 26 | let abracadbra = base58'9wFjTx4rK6ZxfHa3z65BHhP6A7gkZLioxVrD4p2Frjjn' | |
25 | 27 | ||
26 | 28 | let limitContract = "3PFB6LJyShsCKEA1AU1U1WLbDazqyj6ZL9b" | |
27 | 29 | ||
28 | 30 | let tsnContract = "3PKz5jnJLohF2GjShQ7bG5H4BebdoA98zZ2" | |
29 | 31 | ||
30 | 32 | let wxContract = "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93" | |
31 | 33 | ||
32 | 34 | let lendProxyContract = "3PGxMZtMnNT9pJCvXxXV4LzKqXsjvQ9XpfR" | |
33 | 35 | ||
34 | - | func vip (kkk) = if (if (if (if (if (if (if (if (if ((kkk == ruler)) | |
36 | + | func vip (kkk) = if (if (if (if (if (if (if (if (if (if ((kkk == ruler)) | |
35 | 37 | then true | |
36 | 38 | else (kkk == ruler2)) | |
37 | 39 | then true | |
38 | 40 | else (kkk == ruler3)) | |
39 | 41 | then true | |
40 | 42 | else (kkk == ruler4)) | |
41 | 43 | then true | |
42 | 44 | else (kkk == ruler5)) | |
43 | 45 | then true | |
44 | 46 | else (kkk == ruler6)) | |
45 | 47 | then true | |
46 | 48 | else (kkk == ruler7)) | |
47 | 49 | then true | |
48 | 50 | else (kkk == ruler8)) | |
49 | 51 | then true | |
50 | 52 | else (kkk == ruler9)) | |
53 | + | then true | |
54 | + | else (kkk == ruler10)) | |
51 | 55 | then true | |
52 | 56 | else false | |
53 | 57 | ||
54 | 58 | ||
55 | 59 | func getAssetId (pmt) = match pmt { | |
56 | 60 | case p: ByteVector => | |
57 | 61 | pmt | |
58 | 62 | case _ => | |
59 | 63 | unit | |
60 | 64 | } | |
61 | 65 | ||
62 | 66 | ||
63 | 67 | func getAssetString (assetId) = match assetId { | |
64 | 68 | case b: ByteVector => | |
65 | 69 | toBase58String(b) | |
66 | 70 | case _ => | |
67 | 71 | "WAVES" | |
68 | 72 | } | |
69 | 73 | ||
70 | 74 | ||
71 | 75 | func getAccBalance (assetId) = if ((assetId == "WAVES")) | |
72 | 76 | then wavesBalance(this).available | |
73 | 77 | else assetBalance(this, fromBase58String(assetId)) | |
74 | 78 | ||
75 | 79 | ||
76 | 80 | func getAssetBytes (assetId) = if ((assetId == "WAVES")) | |
77 | 81 | then unit | |
78 | 82 | else fromBase58String(assetId) | |
79 | 83 | ||
80 | 84 | ||
81 | 85 | func myBalance (assetId) = match assetId { | |
82 | 86 | case b: ByteVector => | |
83 | 87 | assetBalance(this, b) | |
84 | 88 | case _ => | |
85 | 89 | wavesBalance(this).available | |
86 | 90 | } | |
87 | 91 | ||
88 | 92 | ||
89 | 93 | func swapLimit (params,t0Str) = { | |
90 | 94 | func doLimit (asset,orderParams) = { | |
91 | 95 | let ord = split(orderParams, ">") | |
92 | - | let $ | |
93 | - | let orderId = $ | |
94 | - | let orderAmount = $ | |
96 | + | let $t026332678 = $Tuple2(ord[0], ord[1]) | |
97 | + | let orderId = $t026332678._1 | |
98 | + | let orderAmount = $t026332678._2 | |
95 | 99 | let inv = invoke(Address(fromBase58String(limitContract)), "fulfillOrder", [orderId], [AttachedPayment(asset, parseIntValue(orderAmount))]) | |
96 | 100 | if ((inv == inv)) | |
97 | 101 | then asset | |
98 | 102 | else throw("Strict value is not equal to itself.") | |
99 | 103 | } | |
100 | 104 | ||
101 | 105 | let ordersLi = split(params, ":") | |
102 | 106 | let t0 = getAssetBytes(t0Str) | |
103 | 107 | let result = { | |
104 | 108 | let $l = ordersLi | |
105 | 109 | let $s = size($l) | |
106 | 110 | let $acc0 = t0 | |
107 | 111 | func $f0_1 ($a,$i) = if (($i >= $s)) | |
108 | 112 | then $a | |
109 | 113 | else doLimit($a, $l[$i]) | |
110 | 114 | ||
111 | 115 | func $f0_2 ($a,$i) = if (($i >= $s)) | |
112 | 116 | then $a | |
113 | 117 | else throw("List size exceeds 10") | |
114 | 118 | ||
115 | 119 | $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) | |
116 | 120 | } | |
117 | 121 | if ((result == result)) | |
118 | 122 | then 0 | |
119 | 123 | else throw("Strict value is not equal to itself.") | |
120 | 124 | } | |
121 | 125 | ||
122 | 126 | ||
123 | 127 | func swapLend (params,t0Str,t1Str,amount) = { | |
124 | 128 | let arr = split(params, "-") | |
125 | - | let $ | |
126 | - | let pool_address = $ | |
127 | - | let asset = $ | |
128 | - | let dir = $ | |
129 | + | let $t031073164 = $Tuple3(arr[0], arr[1], arr[2]) | |
130 | + | let pool_address = $t031073164._1 | |
131 | + | let asset = $t031073164._2 | |
132 | + | let dir = $t031073164._3 | |
129 | 133 | let proxyAdr = Address(fromBase58String(lendProxyContract)) | |
130 | 134 | let functionName = if ((dir == "0")) | |
131 | 135 | then "mintPL" | |
132 | 136 | else "redeemPL" | |
133 | 137 | invoke(proxyAdr, functionName, [0], [AttachedPayment(getAssetBytes(t0Str), amount)]) | |
134 | 138 | } | |
135 | 139 | ||
136 | 140 | ||
137 | 141 | func swapPepe (params,t0Str,t1Str,amount) = { | |
138 | 142 | let arr = split(params, "-") | |
139 | - | let $ | |
140 | - | let pool_address = $ | |
141 | - | let functionTag = $ | |
143 | + | let $t035443594 = $Tuple2(arr[0], arr[1]) | |
144 | + | let pool_address = $t035443594._1 | |
145 | + | let functionTag = $t035443594._2 | |
142 | 146 | let swapAddress = Address(fromBase58String(pool_address)) | |
143 | 147 | if ((functionTag == "d")) | |
144 | 148 | then invoke(swapAddress, "deposit", [0], [AttachedPayment(getAssetBytes(t0Str), amount)]) | |
145 | 149 | else if ((functionTag == "w")) | |
146 | 150 | then invoke(swapAddress, "withdraw", [t1Str, 0], [AttachedPayment(getAssetBytes(t0Str), amount)]) | |
147 | 151 | else if ((functionTag == "s")) | |
148 | 152 | then invoke(swapAddress, "swap", [t1Str, 0], [AttachedPayment(getAssetBytes(t0Str), amount)]) | |
149 | 153 | else throw("Unknown function tag for pepe swap") | |
150 | 154 | } | |
151 | 155 | ||
152 | 156 | ||
153 | 157 | func makeSwap (pt,p,ami,ain,aou) = if ((pt == "pu")) | |
154 | 158 | then invoke(Address(fromBase58String(p)), "swap", [aou, 1], [AttachedPayment(ain, ami)]) | |
155 | 159 | else if ((pt == "sw")) | |
156 | 160 | then invoke(Address(fromBase58String(p)), "exchange", [1], [AttachedPayment(ain, ami)]) | |
157 | 161 | else if ((pt == "wx")) | |
158 | 162 | then invoke(Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93'), "swap", [1, aou, toString(this)], [AttachedPayment(ain, ami)]) | |
159 | 163 | else if ((pt == "li")) | |
160 | 164 | then swapLimit(p, getAssetString(ain)) | |
161 | 165 | else if ((pt == "ts")) | |
162 | 166 | then invoke(Address(fromBase58String(tsnContract)), "swap", [aou, 0], [AttachedPayment(ain, ami)]) | |
163 | 167 | else if ((pt == "le")) | |
164 | 168 | then swapLend(p, getAssetString(ain), aou, ami) | |
165 | 169 | else if ((pt == "pe")) | |
166 | 170 | then swapPepe(p, getAssetString(ain), aou, ami) | |
167 | 171 | else throw("Unknown pool type") | |
168 | 172 | ||
169 | 173 | ||
170 | 174 | @Callable(i) | |
171 | 175 | func test () = $Tuple2(nil, "") | |
172 | 176 | ||
173 | 177 | ||
174 | 178 | ||
175 | 179 | @Callable(i) | |
176 | 180 | func a (d) = { | |
177 | 181 | let callerPbk = toBase58String(i.callerPublicKey) | |
178 | 182 | if (!(vip(callerPbk))) | |
179 | 183 | then throw("No-no-no") | |
180 | 184 | else { | |
181 | 185 | let pmt = i.payments[0] | |
182 | 186 | let assetIn = getAssetId(pmt.assetId) | |
183 | 187 | let amountIn = value(pmt.amount) | |
184 | 188 | let arr = split(d, "|") | |
185 | - | let $ | |
186 | - | let a1 = $ | |
187 | - | let p1 = $ | |
188 | - | let p1t = $ | |
189 | - | let p2 = $ | |
190 | - | let p2t = $ | |
191 | - | let m = $ | |
189 | + | let $t054425522 = $Tuple6(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5]) | |
190 | + | let a1 = $t054425522._1 | |
191 | + | let p1 = $t054425522._2 | |
192 | + | let p1t = $t054425522._3 | |
193 | + | let p2 = $t054425522._4 | |
194 | + | let p2t = $t054425522._5 | |
195 | + | let m = $t054425522._6 | |
192 | 196 | let minim = parseIntValue(m) | |
193 | 197 | let a1_bef = myBalance(getAssetBytes(a1)) | |
194 | 198 | if ((a1_bef == a1_bef)) | |
195 | 199 | then { | |
196 | 200 | let s1 = makeSwap(p1t, p1, amountIn, assetIn, a1) | |
197 | 201 | if ((s1 == s1)) | |
198 | 202 | then { | |
199 | 203 | let nb1 = (myBalance(getAssetBytes(a1)) - a1_bef) | |
200 | 204 | if ((nb1 == nb1)) | |
201 | 205 | then { | |
202 | 206 | let a_base_bef = myBalance(assetIn) | |
203 | 207 | if ((a_base_bef == a_base_bef)) | |
204 | 208 | then { | |
205 | 209 | let s2 = makeSwap(p2t, p2, nb1, getAssetBytes(a1), getAssetString(assetIn)) | |
206 | 210 | if ((s2 == s2)) | |
207 | 211 | then { | |
208 | 212 | let result = (myBalance(assetIn) - a_base_bef) | |
209 | 213 | if ((result == result)) | |
210 | 214 | then if ((result > minim)) | |
211 | 215 | then { | |
212 | 216 | let hujabra = (result - amountIn) | |
213 | 217 | let retu = amountIn | |
214 | 218 | [ScriptTransfer(i.caller, retu, assetIn), ScriptTransfer(addressFromPublicKey(abracadbra), hujabra, assetIn)] | |
215 | 219 | } | |
216 | 220 | else throw(((((((("Ooops, in: " + toString(amountIn)) + ", 1: ") + toString(nb1)) + ", out: ") + toString(result)) + ", min: ") + toString(minim))) | |
217 | 221 | else throw("Strict value is not equal to itself.") | |
218 | 222 | } | |
219 | 223 | else throw("Strict value is not equal to itself.") | |
220 | 224 | } | |
221 | 225 | else throw("Strict value is not equal to itself.") | |
222 | 226 | } | |
223 | 227 | else throw("Strict value is not equal to itself.") | |
224 | 228 | } | |
225 | 229 | else throw("Strict value is not equal to itself.") | |
226 | 230 | } | |
227 | 231 | else throw("Strict value is not equal to itself.") | |
228 | 232 | } | |
229 | 233 | } | |
230 | 234 | ||
231 | 235 | ||
232 | 236 | ||
233 | 237 | @Callable(i) | |
234 | 238 | func b (d) = { | |
235 | 239 | let callerPbk = toBase58String(i.callerPublicKey) | |
236 | 240 | if (!(vip(callerPbk))) | |
237 | 241 | then throw("No-no-no") | |
238 | 242 | else { | |
239 | 243 | let pmt = i.payments[0] | |
240 | 244 | let assetIn = getAssetId(pmt.assetId) | |
241 | 245 | let amountIn = value(pmt.amount) | |
242 | 246 | let arr = split(d, "|") | |
243 | - | let $ | |
244 | - | let a1 = $ | |
245 | - | let p1 = $ | |
246 | - | let p1t = $ | |
247 | - | let a2 = $ | |
248 | - | let p2 = $ | |
249 | - | let p2t = $ | |
250 | - | let p3 = $ | |
251 | - | let p3t = $ | |
252 | - | let m = $ | |
247 | + | let $t067516868 = $Tuple9(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8]) | |
248 | + | let a1 = $t067516868._1 | |
249 | + | let p1 = $t067516868._2 | |
250 | + | let p1t = $t067516868._3 | |
251 | + | let a2 = $t067516868._4 | |
252 | + | let p2 = $t067516868._5 | |
253 | + | let p2t = $t067516868._6 | |
254 | + | let p3 = $t067516868._7 | |
255 | + | let p3t = $t067516868._8 | |
256 | + | let m = $t067516868._9 | |
253 | 257 | let minim = parseIntValue(m) | |
254 | 258 | let a1_bef = myBalance(getAssetBytes(a1)) | |
255 | 259 | if ((a1_bef == a1_bef)) | |
256 | 260 | then { | |
257 | 261 | let s1 = makeSwap(p1t, p1, amountIn, assetIn, a1) | |
258 | 262 | if ((s1 == s1)) | |
259 | 263 | then { | |
260 | 264 | let nb1 = (myBalance(getAssetBytes(a1)) - a1_bef) | |
261 | 265 | if ((nb1 == nb1)) | |
262 | 266 | then { | |
263 | 267 | let a2_bef = myBalance(getAssetBytes(a2)) | |
264 | 268 | if ((a2_bef == a2_bef)) | |
265 | 269 | then { | |
266 | 270 | let s2 = makeSwap(p2t, p2, nb1, getAssetBytes(a1), a2) | |
267 | 271 | if ((s2 == s2)) | |
268 | 272 | then { | |
269 | 273 | let nb2 = (myBalance(getAssetBytes(a2)) - a2_bef) | |
270 | 274 | if ((nb2 == nb2)) | |
271 | 275 | then { | |
272 | 276 | let a_base_bef = myBalance(assetIn) | |
273 | 277 | if ((a_base_bef == a_base_bef)) | |
274 | 278 | then { | |
275 | 279 | let s3 = makeSwap(p3t, p3, nb2, getAssetBytes(a2), getAssetString(assetIn)) | |
276 | 280 | if ((s3 == s3)) | |
277 | 281 | then { | |
278 | 282 | let result = (myBalance(assetIn) - a_base_bef) | |
279 | 283 | if ((result == result)) | |
280 | 284 | then if ((result > minim)) | |
281 | 285 | then { | |
282 | 286 | let hujabra = (result - amountIn) | |
283 | 287 | let retu = amountIn | |
284 | 288 | [ScriptTransfer(i.caller, retu, assetIn), ScriptTransfer(addressFromPublicKey(abracadbra), hujabra, assetIn)] | |
285 | 289 | } | |
286 | 290 | else throw(((((((((("Ooops, in: " + toString(amountIn)) + ", 1: ") + toString(nb1)) + ", 2: ") + toString(nb2)) + ", out: ") + toString(result)) + ", min: ") + toString(minim))) | |
287 | 291 | else throw("Strict value is not equal to itself.") | |
288 | 292 | } | |
289 | 293 | else throw("Strict value is not equal to itself.") | |
290 | 294 | } | |
291 | 295 | else throw("Strict value is not equal to itself.") | |
292 | 296 | } | |
293 | 297 | else throw("Strict value is not equal to itself.") | |
294 | 298 | } | |
295 | 299 | else throw("Strict value is not equal to itself.") | |
296 | 300 | } | |
297 | 301 | else throw("Strict value is not equal to itself.") | |
298 | 302 | } | |
299 | 303 | else throw("Strict value is not equal to itself.") | |
300 | 304 | } | |
301 | 305 | else throw("Strict value is not equal to itself.") | |
302 | 306 | } | |
303 | 307 | else throw("Strict value is not equal to itself.") | |
304 | 308 | } | |
305 | 309 | } | |
306 | 310 | ||
307 | 311 | ||
308 | 312 | ||
309 | 313 | @Callable(i) | |
310 | 314 | func c (d) = { | |
311 | 315 | let callerPbk = toBase58String(i.callerPublicKey) | |
312 | 316 | if (!(vip(callerPbk))) | |
313 | 317 | then throw("No-no-no") | |
314 | 318 | else { | |
315 | 319 | let pmt = i.payments[0] | |
316 | 320 | let assetIn = getAssetId(pmt.assetId) | |
317 | 321 | let amountIn = value(pmt.amount) | |
318 | 322 | let arr = split(d, "|") | |
319 | - | let $ | |
320 | - | let a1 = $ | |
321 | - | let p1 = $ | |
322 | - | let p1t = $ | |
323 | - | let a2 = $ | |
324 | - | let p2 = $ | |
325 | - | let p2t = $ | |
326 | - | let a3 = $ | |
327 | - | let p3 = $ | |
328 | - | let p3t = $ | |
329 | - | let p4 = $ | |
330 | - | let p4t = $ | |
331 | - | let m = $ | |
323 | + | let $t083738529 = $Tuple12(arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8], arr[9], arr[10], arr[11]) | |
324 | + | let a1 = $t083738529._1 | |
325 | + | let p1 = $t083738529._2 | |
326 | + | let p1t = $t083738529._3 | |
327 | + | let a2 = $t083738529._4 | |
328 | + | let p2 = $t083738529._5 | |
329 | + | let p2t = $t083738529._6 | |
330 | + | let a3 = $t083738529._7 | |
331 | + | let p3 = $t083738529._8 | |
332 | + | let p3t = $t083738529._9 | |
333 | + | let p4 = $t083738529._10 | |
334 | + | let p4t = $t083738529._11 | |
335 | + | let m = $t083738529._12 | |
332 | 336 | let minim = parseIntValue(m) | |
333 | 337 | let a1_bef = myBalance(getAssetBytes(a1)) | |
334 | 338 | if ((a1_bef == a1_bef)) | |
335 | 339 | then { | |
336 | 340 | let s1 = makeSwap(p1t, p1, amountIn, assetIn, a1) | |
337 | 341 | if ((s1 == s1)) | |
338 | 342 | then { | |
339 | 343 | let nb1 = (myBalance(getAssetBytes(a1)) - a1_bef) | |
340 | 344 | if ((nb1 == nb1)) | |
341 | 345 | then { | |
342 | 346 | let a2_bef = myBalance(getAssetBytes(a2)) | |
343 | 347 | if ((a2_bef == a2_bef)) | |
344 | 348 | then { | |
345 | 349 | let s2 = makeSwap(p2t, p2, nb1, getAssetBytes(a1), a2) | |
346 | 350 | if ((s2 == s2)) | |
347 | 351 | then { | |
348 | 352 | let nb2 = (myBalance(getAssetBytes(a2)) - a2_bef) | |
349 | 353 | if ((nb2 == nb2)) | |
350 | 354 | then { | |
351 | 355 | let a3_bef = myBalance(getAssetBytes(a3)) | |
352 | 356 | if ((a3_bef == a3_bef)) | |
353 | 357 | then { | |
354 | 358 | let s3 = makeSwap(p3t, p3, nb2, getAssetBytes(a2), a3) | |
355 | 359 | if ((s3 == s3)) | |
356 | 360 | then { | |
357 | 361 | let nb3 = (myBalance(getAssetBytes(a3)) - a3_bef) | |
358 | 362 | if ((nb3 == nb3)) | |
359 | 363 | then { | |
360 | 364 | let a_base_bef = myBalance(assetIn) | |
361 | 365 | if ((a_base_bef == a_base_bef)) | |
362 | 366 | then { | |
363 | 367 | let s4 = makeSwap(p4t, p4, nb3, getAssetBytes(a3), getAssetString(assetIn)) | |
364 | 368 | if ((s4 == s4)) | |
365 | 369 | then { | |
366 | 370 | let result = (myBalance(assetIn) - a_base_bef) | |
367 | 371 | if ((result == result)) | |
368 | 372 | then if ((result > minim)) | |
369 | 373 | then { | |
370 | 374 | let hujabra = (result - amountIn) | |
371 | 375 | let retu = amountIn | |
372 | 376 | [ScriptTransfer(i.caller, retu, assetIn), ScriptTransfer(addressFromPublicKey(abracadbra), hujabra, assetIn)] | |
373 | 377 | } | |
374 | 378 | else throw(((((((((((("Ooops, in: " + toString(amountIn)) + ", 1: ") + toString(nb1)) + ", 2: ") + toString(nb2)) + ", 3: ") + toString(nb3)) + ", out: ") + toString(result)) + ", min: ") + toString(minim))) | |
375 | 379 | else throw("Strict value is not equal to itself.") | |
376 | 380 | } | |
377 | 381 | else throw("Strict value is not equal to itself.") | |
378 | 382 | } | |
379 | 383 | else throw("Strict value is not equal to itself.") | |
380 | 384 | } | |
381 | 385 | else throw("Strict value is not equal to itself.") | |
382 | 386 | } | |
383 | 387 | else throw("Strict value is not equal to itself.") | |
384 | 388 | } | |
385 | 389 | else throw("Strict value is not equal to itself.") | |
386 | 390 | } | |
387 | 391 | else throw("Strict value is not equal to itself.") | |
388 | 392 | } | |
389 | 393 | else throw("Strict value is not equal to itself.") | |
390 | 394 | } | |
391 | 395 | else throw("Strict value is not equal to itself.") | |
392 | 396 | } | |
393 | 397 | else throw("Strict value is not equal to itself.") | |
394 | 398 | } | |
395 | 399 | else throw("Strict value is not equal to itself.") | |
396 | 400 | } | |
397 | 401 | else throw("Strict value is not equal to itself.") | |
398 | 402 | } | |
399 | 403 | } | |
400 | 404 | ||
401 | 405 | ||
402 | 406 | @Verifier(tx) | |
403 | 407 | func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
404 | 408 |
github/deemru/w8io/3ef1775 67.42 ms ◑