tx · 9y9hsSkKgSvX8YdqdqUPDGKV3nK1TUECBh7qUW11M1yD 3Mxpdp5zFKcQygoSEAuvHwKmeDTrkAqEgp1: -0.01700000 Waves 2022.08.13 08:30 [2182281] smart account 3Mxpdp5zFKcQygoSEAuvHwKmeDTrkAqEgp1 > SELF 0.00000000 Waves
{ "type": 13, "id": "9y9hsSkKgSvX8YdqdqUPDGKV3nK1TUECBh7qUW11M1yD", "fee": 1700000, "feeAssetId": null, "timestamp": 1660368618365, "version": 2, "chainId": 84, "sender": "3Mxpdp5zFKcQygoSEAuvHwKmeDTrkAqEgp1", "senderPublicKey": "AxEqxWpyCTdAvD236iNy1uGqdXHaTryrnexWY9d5RQbw", "proofs": [ "2EaAkUqdWmxoQuF7bJJpEpyqoNyMP73UtnfU2YfJRvz9djeTiNmsgoAiduB75rkkDvjcmfbypRC8oY9BUPN1RHDt" ], "script": "base64:BgIUCAISAwoBGBIFCgMICAESBAoCCAgUARBnZXRCaW5hcnlEZWZhdWx0Aw5hZGRyZXNzT3JBbGlhcwNrZXkDdmFsCQELdmFsdWVPckVsc2UCCQCcCAIFDmFkZHJlc3NPckFsaWFzBQNrZXkFA3ZhbAEUZ2V0QmluYXJ5U2VsZkRlZmF1bHQCA2tleQN2YWwJAQt2YWx1ZU9yRWxzZQIJAKEIAQUDa2V5BQN2YWwBEWdldEJvb2xlYW5EZWZhdWx0Aw5hZGRyZXNzT3JBbGlhcwNrZXkDdmFsCQELdmFsdWVPckVsc2UCCQCbCAIFDmFkZHJlc3NPckFsaWFzBQNrZXkFA3ZhbAEVZ2V0Qm9vbGVhblNlbGZEZWZhdWx0AgNrZXkDdmFsCQELdmFsdWVPckVsc2UCCQCgCAEFA2tleQUDdmFsARFnZXRJbnRlZ2VyRGVmYXVsdAMOYWRkcmVzc09yQWxpYXMDa2V5A3ZhbAkBC3ZhbHVlT3JFbHNlAgkAmggCBQ5hZGRyZXNzT3JBbGlhcwUDa2V5BQN2YWwBFWdldEludGVnZXJTZWxmRGVmYXVsdAIDa2V5A3ZhbAkBC3ZhbHVlT3JFbHNlAgkAnwgBBQNrZXkFA3ZhbAEQZ2V0U3RyaW5nRGVmYXVsdAMOYWRkcmVzc09yQWxpYXMDa2V5A3ZhbAkBC3ZhbHVlT3JFbHNlAgkAnQgCBQ5hZGRyZXNzT3JBbGlhcwUDa2V5BQN2YWwBFGdldFN0cmluZ1NlbGZEZWZhdWx0AgNrZXkDdmFsCQELdmFsdWVPckVsc2UCCQCiCAEFA2tleQUDdmFsAQ9hc3NldEZyb21TdHJpbmcBB2Fzc2V0SWQDCQAAAgUHYXNzZXRJZAIFV0FWRVMFBHVuaXQJANkEAQUHYXNzZXRJZAEPc3RyaW5nRnJvbUFzc2V0AQVhc3NldAQHJG1hdGNoMAUFYXNzZXQDCQABAgUHJG1hdGNoMAIKQnl0ZVZlY3RvcgQBdAUHJG1hdGNoMAkA2AQBBQF0AgVXQVZFUwEDbWFwAgVhY2N1bQRuZXh0CQDMCAIJALYJAQUEbmV4dAUFYWNjdW0BDWNvbnZlcnRQcmljZXMBCW9yZGVyYm9vawoAAiRsCQC1CQIFCW9yZGVyYm9vawIBXwoAAiRzCQCQAwEFAiRsCgAFJGFjYzAFA25pbAoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQEDbWFwAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhZMaXN0IHNpemUgZXhjZWVkcyAxMDAwCQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgAEAgQEAggEAgwEAhAEAhQEAhgEAhwEAiAEAiQEAigEAiwEAjAEAjQEAjgEAjwEAkAEAkQEAkgEAkwEAlAEAlQEAlgEAlwEAmAEAmQEAmgEAmwEAnAEAnQEAngEAnwEAoAEAoQEAogEAowEApAEApQEApgEApwEAqAEAqQEAqgEAqwEArAEArQEArgEArwEAsAEAsQEAsgEAswEAtAEAtQEAtgEAtwEAuAEAuQEAugEAuwEAvAEAvQEAvgEAvwEAwAEAwQEAwgEAwwEAxAEAxQEAxgEAxwEAyAEAyQEAygEAywEAzAEAzQEAzgEAzwEA0AEA0QEA0gEA0wEA1AEA1QEA1gEA1wEA2AEA2QEA2gEA2wEA3AEA3QEA3gEA3wEA4AEA4QEA4gEA4wEA5AEA5QEA5gEA5wEA6AEA6QEA6gEA6wEA7AEA7QEA7gEA7wEA8AEA8QEA8gEA8wEA9AEA9QEA9gEA9wEA+AEA+QEA+gEA+wEA/AEA/QEA/gEA/wEAgAIAgQIAggIAgwIAhAIAhQIAhgIAhwIAiAIAiQIAigIAiwIAjAIAjQIAjgIAjwIAkAIAkQIAkgIAkwIAlAIAlQIAlgIAlwIAmAIAmQIAmgIAmwIAnAIAnQIAngIAnwIAoAIAoQIAogIAowIApAIApQIApgIApwIAqAIAqQIAqgIAqwIArAIArQIArgIArwIAsAIAsQIAsgIAswIAtAIAtQIAtgIAtwIAuAIAuQIAugIAuwIAvAIAvQIAvgIAvwIAwAIAwQIAwgIAwwIAxAIAxQIAxgIAxwIAyAIAyQIAygIAywIAzAIAzQIAzgIAzwIA0AIA0QIA0gIA0wIA1AIA1QIA1gIA1wIA2AIA2QIA2gIA2wIA3AIA3QIA3gIA3wIA4AIA4QIA4gIA4wIA5AIA5QIA5gIA5wIA6AIA6QIA6gIA6wIA7AIA7QIA7gIA7wIA8AIA8QIA8gIA8wIA9AIA9QIA9gIA9wIA+AIA+QIA+gIA+wIA/AIA/QIA/gIA/wIAgAMAgQMAggMAgwMAhAMAhQMAhgMAhwMAiAMAiQMAigMAiwMAjAMAjQMAjgMAjwMAkAMAkQMAkgMAkwMAlAMAlQMAlgMAlwMAmAMAmQMAmgMAmwMAnAMAnQMAngMAnwMAoAMAoQMAogMAowMApAMApQMApgMApwMAqAMAqQMAqgMAqwMArAMArQMArgMArwMAsAMAsQMAsgMAswMAtAMAtQMAtgMAtwMAuAMAuQMAugMAuwMAvAMAvQMAvgMAvwMAwAMAwQMAwgMAwwMAxAMAxQMAxgMAxwMAyAMAyQMAygMAywMAzAMAzQMAzgMAzwMA0AMA0QMA0gMA0wMA1AMA1QMA1gMA1wMA2AMA2QMA2gMA2wMA3AMA3QMA3gMA3wMA4AMA4QMA4gMA4wMA5AMA5QMA5gMA5wMA6AMA6QMA6gMA6wMA7AMA7QMA7gMA7wMA8AMA8QMA8gMA8wMA9AMA9QMA9gMA9wMA+AMA+QMA+gMA+wMA/AMA/QMA/gMA/wMAgAQAgQQAggQAgwQAhAQAhQQAhgQAhwQAiAQAiQQAigQAiwQAjAQAjQQAjgQAjwQAkAQAkQQAkgQAkwQAlAQAlQQAlgQAlwQAmAQAmQQAmgQAmwQAnAQAnQQAngQAnwQAoAQAoQQAogQAowQApAQApQQApgQApwQAqAQAqQQAqgQAqwQArAQArQQArgQArwQAsAQAsQQAsgQAswQAtAQAtQQAtgQAtwQAuAQAuQQAugQAuwQAvAQAvQQAvgQAvwQAwAQAwQQAwgQAwwQAxAQAxQQAxgQAxwQAyAQAyQQAygQAywQAzAQAzQQAzgQAzwQA0AQA0QQA0gQA0wQA1AQA1QQA1gQA1wQA2AQA2QQA2gQA2wQA3AQA3QQA3gQA3wQA4AQA4QQA4gQA4wQA5AQA5QQA5gQA5wQA6AQA6QQA6gQA6wQA7AQA7QQA7gQA7wQA8AQA8QQA8gQA8wQA9AQA9QQA9gQA9wQA+AQA+QQA+gQA+wQA/AQA/QQA/gQA/wQAgAUAgQUAggUAgwUAhAUAhQUAhgUAhwUAiAUAiQUAigUAiwUAjAUAjQUAjgUAjwUAkAUAkQUAkgUAkwUAlAUAlQUAlgUAlwUAmAUAmQUAmgUAmwUAnAUAnQUAngUAnwUAoAUAoQUAogUAowUApAUApQUApgUApwUAqAUAqQUAqgUAqwUArAUArQUArgUArwUAsAUAsQUAsgUAswUAtAUAtQUAtgUAtwUAuAUAuQUAugUAuwUAvAUAvQUAvgUAvwUAwAUAwQUAwgUAwwUAxAUAxQUAxgUAxwUAyAUAyQUAygUAywUAzAUAzQUAzgUAzwUA0AUA0QUA0gUA0wUA1AUA1QUA1gUA1wUA2AUA2QUA2gUA2wUA3AUA3QUA3gUA3wUA4AUA4QUA4gUA4wUA5AUA5QUA5gUA5wUA6AUA6QUA6gUA6wUA7AUA7QUA7gUA7wUA8AUA8QUA8gUA8wUA9AUA9QUA9gUA9wUA+AUA+QUA+gUA+wUA/AUA/QUA/gUA/wUAgAYAgQYAggYAgwYAhAYAhQYAhgYAhwYAiAYAiQYAigYAiwYAjAYAjQYAjgYAjwYAkAYAkQYAkgYAkwYAlAYAlQYAlgYAlwYAmAYAmQYAmgYAmwYAnAYAnQYAngYAnwYAoAYAoQYAogYAowYApAYApQYApgYApwYAqAYAqQYAqgYAqwYArAYArQYArgYArwYAsAYAsQYAsgYAswYAtAYAtQYAtgYAtwYAuAYAuQYAugYAuwYAvAYAvQYAvgYAvwYAwAYAwQYAwgYAwwYAxAYAxQYAxgYAxwYAyAYAyQYAygYAywYAzAYAzQYAzgYAzwYA0AYA0QYA0gYA0wYA1AYA1QYA1gYA1wYA2AYA2QYA2gYA2wYA3AYA3QYA3gYA3wYA4AYA4QYA4gYA4wYA5AYA5QYA5gYA5wYA6AYA6QYA6gYA6wYA7AYA7QYA7gYA7wYA8AYA8QYA8gYA8wYA9AYA9QYA9gYA9wYA+AYA+QYA+gYA+wYA/AYA/QYA/gYA/wYAgAcAgQcAggcAgwcAhAcAhQcAhgcAhwcAiAcAiQcAigcAiwcAjAcAjQcAjgcAjwcAkAcAkQcAkgcAkwcAlAcAlQcAlgcAlwcAmAcAmQcAmgcAmwcAnAcAnQcAngcAnwcAoAcAoQcAogcAowcApAcApQcApgcApwcAqAcAqQcAqgcAqwcArAcArQcArgcArwcAsAcAsQcAsgcAswcAtAcAtQcAtgcAtwcAuAcAuQcAugcAuwcAvAcAvQcAvgcAvwcAwAcAwQcAwgcAwwcAxAcAxQcAxgcAxwcAyAcAyQcAygcAywcAzAcAzQcAzgcAzwcA0AcA0QcA0gcA0wcA1AcA1QcA1gcA1wcA2AcA2QcA2gcA2wcA3AcA3QcA3gcA3wcA4AcA4QcA4gcA4wcA5AcA5QcA5gcA5wcA6AcBC2dldEJpZFByaWNlAgRiYXNlBXF1b3RlBANrZXkJALkJAgkAzAgCBQRiYXNlCQDMCAIFBXF1b3RlCQDMCAICA0JVWQUDbmlsAgFfBAlvcmRlcmJvb2sJARRnZXRTdHJpbmdTZWxmRGVmYXVsdAIFA2tleQIABAZwcmljZXMJAQ1jb252ZXJ0UHJpY2VzAQUJb3JkZXJib29rBAVwcmljZQkAlgMBBQZwcmljZXMFBXByaWNlAQtnZXRBc2tQcmljZQIEYmFzZQVxdW90ZQQDa2V5CQC5CQIJAMwIAgUEYmFzZQkAzAgCBQVxdW90ZQkAzAgCAgRTRUxMBQNuaWwCAV8ECW9yZGVyYm9vawkBFGdldFN0cmluZ1NlbGZEZWZhdWx0AgUDa2V5AgAEBnByaWNlcwkBDWNvbnZlcnRQcmljZXMBBQlvcmRlcmJvb2sEBXByaWNlCQCXAwEFBnByaWNlcwUFcHJpY2UBEGdldFF1b3RlQXNzZXRJZHgBBWFzc2V0BA5udW1QcmljZUFzc2V0cwkBEUBleHRyTmF0aXZlKDEwNTUpAQIQbmV4dFF1b3RlQXNzZXRJZAMJAAACBQVhc3NldAIFV0FWRVMFDm51bVByaWNlQXNzZXRzCQEVZ2V0SW50ZWdlclNlbGZEZWZhdWx0AgkArAICBQVhc3NldAINX3F1b3RlQXNzZXRJZAkAZAIFDm51bVByaWNlQXNzZXRzAAEBE2dldEFzc2V0SXNzdWVIZWlnaHQBBWFzc2V0CQDpBwEJANkEAQUFYXNzZXQBCW9yZGVyUGFpcgIGYXNzZXQxBmFzc2V0MgMJAAACBQZhc3NldDEFBmFzc2V0MgkAAgECGWFzc2V0cyBjYW5ub3QgYmUgdGhlIHNhbWUECWFzc2V0MUlkeAkBEGdldFF1b3RlQXNzZXRJZHgBBQZhc3NldDEECWFzc2V0MklkeAkBEGdldFF1b3RlQXNzZXRJZHgBBQZhc3NldDIDCQBmAgUJYXNzZXQxSWR4BQlhc3NldDJJZHgJAMwIAgUGYXNzZXQxCQDMCAIFBmFzc2V0MgUDbmlsAwkAZgIFCWFzc2V0MklkeAUJYXNzZXQxSWR4CQDMCAIFBmFzc2V0MgkAzAgCBQZhc3NldDEFA25pbAQJYXNzZXQxSW50CQCeAwEJANkEAQUGYXNzZXQxBAlhc3NldDJJbnQJAJ4DAQkA2QQBBQZhc3NldDIECWFzc2V0TGlzdAkAzAgCBQlhc3NldDFJbnQJAMwIAgUJYXNzZXQySW50BQNuaWwEBmxhcmdlcgkAmAMBBQlhc3NldExpc3QDCQAAAgUGbGFyZ2VyBQlhc3NldDFJbnQJAMwIAgUGYXNzZXQxCQDMCAIFBmFzc2V0MgUDbmlsCQDMCAIFBmFzc2V0MgkAzAgCBQZhc3NldDEFA25pbAELaXNWYWxpZFBhaXICBGJhc2UFcXVvdGUEBHBhaXIJAQlvcmRlclBhaXICBQRiYXNlBQVxdW90ZQMJAAACCQCRAwIFBHBhaXIAAAUEYmFzZQYHAQZpc0luaXQACQEVZ2V0Qm9vbGVhblNlbGZEZWZhdWx0AgIEaW5pdAcBE21ha2VRdW90ZUFzc2V0RW50cnkCBWFjY3VtBG5leHQECyR0MDMzNTEzMzc0BQVhY2N1bQQGcmVzdWx0CAULJHQwMzM1MTMzNzQCXzEEAWoIBQskdDAzMzUxMzM3NAJfMgkAlAoCCQDNCAIFBnJlc3VsdAkBDEludGVnZXJFbnRyeQIJALkJAgkAzAgCAgpxdW90ZUFzc2V0CQDMCAIFBG5leHQFA25pbAIBXwUBagkAZAIFAWoAAQMBaQEEaW5pdAELcXVvdGVBc3NldHMDCQAAAggFAWkGY2FsbGVyBQR0aGlzAwkBBmlzSW5pdAAJAAIBAhtkYXBwIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQECyR0MDM2MzYzNzIxCgACJGwFC3F1b3RlQXNzZXRzCgACJHMJAJADAQUCJGwKAAUkYWNjMAkAlAoCBQNuaWwAAQoBBSRmMF8xAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQETbWFrZVF1b3RlQXNzZXRFbnRyeQIFAiRhCQCRAwIFAiRsBQIkaQoBBSRmMF8yAgIkYQIkaQMJAGcCBQIkaQUCJHMFAiRhCQACAQIUTGlzdCBzaXplIGV4Y2VlZHMgMjAJAQUkZjBfMgIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIJAQUkZjBfMQIFBSRhY2MwAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUBAdlbnRyaWVzCAULJHQwMzYzNjM3MjECXzEEEG5leHRRdW90ZUFzc2V0SWQIBQskdDAzNjM2MzcyMQJfMgkAzQgCCQDNCAIFB2VudHJpZXMJAQxCb29sZWFuRW50cnkCAgRpbml0BgkBDEludGVnZXJFbnRyeQICEG5leHRRdW90ZUFzc2V0SWQFEG5leHRRdW90ZUFzc2V0SWQJAAIBAgtub3QgYWxsb3dlZAFpAQpsaW1pdE9yZGVyAwRiYXNlBXF1b3RlBXByaWNlAwkBBmlzSW5pdAADCQELaXNWYWxpZFBhaXICBQRiYXNlBQVxdW90ZQQHcGF5bWVudAkAkQMCCAUBaQhwYXltZW50cwAABAlwYWlkQXNzZXQJAQ9zdHJpbmdGcm9tQXNzZXQBCAUHcGF5bWVudAdhc3NldElkBA5uZXh0T3JkZXJJZEtleQkAuQkCCQDMCAIFBGJhc2UJAMwIAgUFcXVvdGUJAMwIAgILbmV4dE9yZGVySWQFA25pbAIBXwQLbmV4dE9yZGVySWQJARVnZXRJbnRlZ2VyU2VsZkRlZmF1bHQCBQ5uZXh0T3JkZXJJZEtleQABAwkAAAIFCXBhaWRBc3NldAUFcXVvdGUEBHNpZGUCA0JVWQQIb3JkZXJLZXkJALkJAgkAzAgCAgVvcmRlcgkAzAgCCQCkAwEFC25leHRPcmRlcklkBQNuaWwCAV8ECW9yZGVyRGF0YQkAuQkCCQDMCAIJAKUIAQgFAWkGY2FsbGVyCQDMCAIFBGJhc2UJAMwIAgUFcXVvdGUJAMwIAgUEc2lkZQkAzAgCCQCkAwEFBXByaWNlBQNuaWwCAV8EEW9yZGVyUHJpY2VTaXplS2V5CQC5CQIJAMwIAgUEYmFzZQkAzAgCBQVxdW90ZQkAzAgCBQRzaWRlCQDMCAIJAKQDAQUFcHJpY2UJAMwIAgIEc2l6ZQUDbmlsAgFfBBJvcmRlclByaWNlU2l6ZURhdGEJAGQCCQEVZ2V0SW50ZWdlclNlbGZEZWZhdWx0AgURb3JkZXJQcmljZVNpemVLZXkAAAgFB3BheW1lbnQGYW1vdW50BA5vcmRlcklkTGlzdEtleQkAuQkCCQDMCAIFBGJhc2UJAMwIAgUFcXVvdGUJAMwIAgUEc2lkZQkAzAgCAgZvcmRlcnMFA25pbAIBXwQLb3JkZXJJZExpc3QEByRtYXRjaDAJAKIIAQUOb3JkZXJJZExpc3RLZXkDCQABAgUHJG1hdGNoMAIGU3RyaW5nBAF0BQckbWF0Y2gwCQC5CQIJAMwIAgUBdAkAzAgCCQCkAwEFC25leHRPcmRlcklkBQNuaWwCAV8JAKQDAQULbmV4dE9yZGVySWQJAMwIAgkBC1N0cmluZ0VudHJ5AgUIb3JkZXJLZXkFCW9yZGVyRGF0YQkAzAgCCQEMSW50ZWdlckVudHJ5AgURb3JkZXJQcmljZVNpemVLZXkFEm9yZGVyUHJpY2VTaXplRGF0YQkAzAgCCQELU3RyaW5nRW50cnkCBQ5vcmRlcklkTGlzdEtleQULb3JkZXJJZExpc3QJAMwIAgkBDEludGVnZXJFbnRyeQIFDm5leHRPcmRlcklkS2V5CQBkAgULbmV4dE9yZGVySWQAAQUDbmlsBARzaWRlAgRTRUxMBAhvcmRlcktleQkAuQkCCQDMCAICBW9yZGVyCQDMCAIJAKQDAQULbmV4dE9yZGVySWQFA25pbAIBXwQJb3JkZXJEYXRhCQC5CQIJAMwIAgkApQgBCAUBaQZjYWxsZXIJAMwIAgUEYmFzZQkAzAgCBQVxdW90ZQkAzAgCBQRzaWRlCQDMCAIJAKQDAQUFcHJpY2UFA25pbAIBXwQRb3JkZXJQcmljZVNpemVLZXkJALkJAgkAzAgCBQRiYXNlCQDMCAIFBXF1b3RlCQDMCAIFBHNpZGUJAMwIAgkApAMBBQVwcmljZQkAzAgCAgRzaXplBQNuaWwCAV8EEm9yZGVyUHJpY2VTaXplRGF0YQkAZAIJARVnZXRJbnRlZ2VyU2VsZkRlZmF1bHQCBRFvcmRlclByaWNlU2l6ZUtleQAACAUHcGF5bWVudAZhbW91bnQEDm9yZGVySWRMaXN0S2V5CQC5CQIJAMwIAgUEYmFzZQkAzAgCBQVxdW90ZQkAzAgCBQRzaWRlCQDMCAICBm9yZGVycwUDbmlsAgFfBAtvcmRlcklkTGlzdAQHJG1hdGNoMAkAoggBBQ5vcmRlcklkTGlzdEtleQMJAAECBQckbWF0Y2gwAgZTdHJpbmcEAXQFByRtYXRjaDAJALkJAgkAzAgCBQF0CQDMCAIJAKQDAQULbmV4dE9yZGVySWQFA25pbAIBXwkApAMBBQtuZXh0T3JkZXJJZAkAzAgCCQELU3RyaW5nRW50cnkCBQhvcmRlcktleQUJb3JkZXJEYXRhCQDMCAIJAQxJbnRlZ2VyRW50cnkCBRFvcmRlclByaWNlU2l6ZUtleQUSb3JkZXJQcmljZVNpemVEYXRhCQDMCAIJAQtTdHJpbmdFbnRyeQIFDm9yZGVySWRMaXN0S2V5BQtvcmRlcklkTGlzdAkAzAgCCQEMSW50ZWdlckVudHJ5AgUObmV4dE9yZGVySWRLZXkJAGQCBQtuZXh0T3JkZXJJZAABBQNuaWwFA25pbAkAAgECF2RhcHAgaXMgbm90IGluaXRpYWxpemVkAWkBC21hcmtldE9yZGVyAgRiYXNlBXF1b3RlAwkBBmlzSW5pdAADCQELaXNWYWxpZFBhaXICBQRiYXNlBQVxdW90ZQQHcGF5bWVudAkAkQMCCAUBaQhwYXltZW50cwAABQNuaWwFA25pbAkAAgECF2RhcHAgaXMgbm90IGluaXRpYWxpemVkAE+xNHU=", "height": 2182281, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J4p9EqPeFV4bJTUsVhChZX2aPwrjtioD2eCPh7zthCnB Next: DeGgkNimKZnXgnLWoQWbAdY1i2bypTTWybrpHme4m3jv Diff:
Old | New | Differences | |
---|---|---|---|
118 | 118 | } | |
119 | 119 | ||
120 | 120 | ||
121 | - | @Callable(X) | |
122 | - | func limitOrder (E,F,H) = if (V(E, F)) | |
123 | - | then { | |
124 | - | let Y = X.payments[0] | |
125 | - | let Z = n(Y.assetId) | |
126 | - | let aa = makeString([E, F, "nextOrderId"], "_") | |
127 | - | let ab = i(aa, 1) | |
128 | - | if ((Z == F)) | |
129 | - | then { | |
130 | - | let ac = "BUY" | |
131 | - | let ad = makeString(["order", toString(ab)], "_") | |
132 | - | let ae = makeString([toString(X.caller), E, F, ac, toString(H)], "_") | |
133 | - | let af = makeString([E, F, ac, toString(H), "size"], "_") | |
134 | - | let ag = (i(af, 0) + Y.amount) | |
135 | - | let ah = makeString([E, F, ac, "orders"], "_") | |
136 | - | let ai = { | |
137 | - | let p = getString(ah) | |
138 | - | if ($isInstanceOf(p, "String")) | |
139 | - | then { | |
140 | - | let q = p | |
141 | - | makeString([q, toString(ab)], "_") | |
142 | - | } | |
143 | - | else toString(ab) | |
144 | - | } | |
145 | - | [StringEntry(ad, ae), IntegerEntry(af, ag), StringEntry(ah, ai), IntegerEntry(aa, (ab + 1))] | |
121 | + | func X () = g("init", false) | |
122 | + | ||
123 | + | ||
124 | + | func Y (s,t) = { | |
125 | + | let Z = s | |
126 | + | let aa = Z._1 | |
127 | + | let ab = Z._2 | |
128 | + | $Tuple2((aa :+ IntegerEntry(makeString(["quoteAsset", t], "_"), ab)), (ab + 1)) | |
129 | + | } | |
130 | + | ||
131 | + | ||
132 | + | @Callable(ac) | |
133 | + | func init (ad) = if ((ac.caller == this)) | |
134 | + | then if (X()) | |
135 | + | then throw("dapp is already initialized") | |
136 | + | else { | |
137 | + | let ae = { | |
138 | + | let w = ad | |
139 | + | let x = size(w) | |
140 | + | let y = $Tuple2(nil, 1) | |
141 | + | func z (A,B) = if ((B >= x)) | |
142 | + | then A | |
143 | + | else Y(A, w[B]) | |
144 | + | ||
145 | + | func C (A,B) = if ((B >= x)) | |
146 | + | then A | |
147 | + | else throw("List size exceeds 20") | |
148 | + | ||
149 | + | C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20) | |
146 | 150 | } | |
147 | - | else { | |
148 | - | let ac = "SELL" | |
149 | - | let ad = makeString(["order", toString(ab)], "_") | |
150 | - | let ae = makeString([toString(X.caller), E, F, ac, toString(H)], "_") | |
151 | - | let af = makeString([E, F, ac, toString(H), "size"], "_") | |
152 | - | let ag = (i(af, 0) + Y.amount) | |
153 | - | let ah = makeString([E, F, ac, "orders"], "_") | |
154 | - | let ai = { | |
155 | - | let p = getString(ah) | |
156 | - | if ($isInstanceOf(p, "String")) | |
157 | - | then { | |
158 | - | let q = p | |
159 | - | makeString([q, toString(ab)], "_") | |
160 | - | } | |
161 | - | else toString(ab) | |
162 | - | } | |
163 | - | [StringEntry(ad, ae), IntegerEntry(af, ag), StringEntry(ah, ai), IntegerEntry(aa, (ab + 1))] | |
164 | - | } | |
165 | - | } | |
166 | - | else nil | |
151 | + | let af = ae._1 | |
152 | + | let ag = ae._2 | |
153 | + | ((af :+ BooleanEntry("init", true)) :+ IntegerEntry("nextQuoteAssetId", ag)) | |
154 | + | } | |
155 | + | else throw("not allowed") | |
167 | 156 | ||
168 | 157 | ||
169 | 158 | ||
170 | - | @Callable(X) | |
171 | - | func marketOrder (E,F) = if (V(E, F)) | |
172 | - | then { | |
173 | - | let Y = X.payments[0] | |
174 | - | nil | |
175 | - | } | |
176 | - | else nil | |
159 | + | @Callable(ac) | |
160 | + | func limitOrder (E,F,H) = if (X()) | |
161 | + | then if (V(E, F)) | |
162 | + | then { | |
163 | + | let ah = ac.payments[0] | |
164 | + | let ai = n(ah.assetId) | |
165 | + | let aj = makeString([E, F, "nextOrderId"], "_") | |
166 | + | let ak = i(aj, 1) | |
167 | + | if ((ai == F)) | |
168 | + | then { | |
169 | + | let al = "BUY" | |
170 | + | let am = makeString(["order", toString(ak)], "_") | |
171 | + | let an = makeString([toString(ac.caller), E, F, al, toString(H)], "_") | |
172 | + | let ao = makeString([E, F, al, toString(H), "size"], "_") | |
173 | + | let ap = (i(ao, 0) + ah.amount) | |
174 | + | let aq = makeString([E, F, al, "orders"], "_") | |
175 | + | let ar = { | |
176 | + | let p = getString(aq) | |
177 | + | if ($isInstanceOf(p, "String")) | |
178 | + | then { | |
179 | + | let q = p | |
180 | + | makeString([q, toString(ak)], "_") | |
181 | + | } | |
182 | + | else toString(ak) | |
183 | + | } | |
184 | + | [StringEntry(am, an), IntegerEntry(ao, ap), StringEntry(aq, ar), IntegerEntry(aj, (ak + 1))] | |
185 | + | } | |
186 | + | else { | |
187 | + | let al = "SELL" | |
188 | + | let am = makeString(["order", toString(ak)], "_") | |
189 | + | let an = makeString([toString(ac.caller), E, F, al, toString(H)], "_") | |
190 | + | let ao = makeString([E, F, al, toString(H), "size"], "_") | |
191 | + | let ap = (i(ao, 0) + ah.amount) | |
192 | + | let aq = makeString([E, F, al, "orders"], "_") | |
193 | + | let ar = { | |
194 | + | let p = getString(aq) | |
195 | + | if ($isInstanceOf(p, "String")) | |
196 | + | then { | |
197 | + | let q = p | |
198 | + | makeString([q, toString(ak)], "_") | |
199 | + | } | |
200 | + | else toString(ak) | |
201 | + | } | |
202 | + | [StringEntry(am, an), IntegerEntry(ao, ap), StringEntry(aq, ar), IntegerEntry(aj, (ak + 1))] | |
203 | + | } | |
204 | + | } | |
205 | + | else nil | |
206 | + | else throw("dapp is not initialized") | |
207 | + | ||
208 | + | ||
209 | + | ||
210 | + | @Callable(ac) | |
211 | + | func marketOrder (E,F) = if (X()) | |
212 | + | then if (V(E, F)) | |
213 | + | then { | |
214 | + | let ah = ac.payments[0] | |
215 | + | nil | |
216 | + | } | |
217 | + | else nil | |
218 | + | else throw("dapp is not initialized") | |
177 | 219 | ||
178 | 220 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 6 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func a (b,c,d) = valueOrElse(getBinary(b, c), d) | |
5 | 5 | ||
6 | 6 | ||
7 | 7 | func e (c,d) = valueOrElse(getBinary(c), d) | |
8 | 8 | ||
9 | 9 | ||
10 | 10 | func f (b,c,d) = valueOrElse(getBoolean(b, c), d) | |
11 | 11 | ||
12 | 12 | ||
13 | 13 | func g (c,d) = valueOrElse(getBoolean(c), d) | |
14 | 14 | ||
15 | 15 | ||
16 | 16 | func h (b,c,d) = valueOrElse(getInteger(b, c), d) | |
17 | 17 | ||
18 | 18 | ||
19 | 19 | func i (c,d) = valueOrElse(getInteger(c), d) | |
20 | 20 | ||
21 | 21 | ||
22 | 22 | func j (b,c,d) = valueOrElse(getString(b, c), d) | |
23 | 23 | ||
24 | 24 | ||
25 | 25 | func k (c,d) = valueOrElse(getString(c), d) | |
26 | 26 | ||
27 | 27 | ||
28 | 28 | func l (m) = if ((m == "WAVES")) | |
29 | 29 | then unit | |
30 | 30 | else fromBase58String(m) | |
31 | 31 | ||
32 | 32 | ||
33 | 33 | func n (o) = { | |
34 | 34 | let p = o | |
35 | 35 | if ($isInstanceOf(p, "ByteVector")) | |
36 | 36 | then { | |
37 | 37 | let q = p | |
38 | 38 | toBase58String(q) | |
39 | 39 | } | |
40 | 40 | else "WAVES" | |
41 | 41 | } | |
42 | 42 | ||
43 | 43 | ||
44 | 44 | func r (s,t) = parseInt(t) :: s | |
45 | 45 | ||
46 | 46 | ||
47 | 47 | func u (v) = { | |
48 | 48 | let w = split(v, "_") | |
49 | 49 | let x = size(w) | |
50 | 50 | let y = nil | |
51 | 51 | func z (A,B) = if ((B >= x)) | |
52 | 52 | then A | |
53 | 53 | else r(A, w[B]) | |
54 | 54 | ||
55 | 55 | func C (A,B) = if ((B >= x)) | |
56 | 56 | then A | |
57 | 57 | else throw("List size exceeds 1000") | |
58 | 58 | ||
59 | 59 | C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 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), 101), 102), 103), 104), 105), 106), 107), 108), 109), 110), 111), 112), 113), 114), 115), 116), 117), 118), 119), 120), 121), 122), 123), 124), 125), 126), 127), 128), 129), 130), 131), 132), 133), 134), 135), 136), 137), 138), 139), 140), 141), 142), 143), 144), 145), 146), 147), 148), 149), 150), 151), 152), 153), 154), 155), 156), 157), 158), 159), 160), 161), 162), 163), 164), 165), 166), 167), 168), 169), 170), 171), 172), 173), 174), 175), 176), 177), 178), 179), 180), 181), 182), 183), 184), 185), 186), 187), 188), 189), 190), 191), 192), 193), 194), 195), 196), 197), 198), 199), 200), 201), 202), 203), 204), 205), 206), 207), 208), 209), 210), 211), 212), 213), 214), 215), 216), 217), 218), 219), 220), 221), 222), 223), 224), 225), 226), 227), 228), 229), 230), 231), 232), 233), 234), 235), 236), 237), 238), 239), 240), 241), 242), 243), 244), 245), 246), 247), 248), 249), 250), 251), 252), 253), 254), 255), 256), 257), 258), 259), 260), 261), 262), 263), 264), 265), 266), 267), 268), 269), 270), 271), 272), 273), 274), 275), 276), 277), 278), 279), 280), 281), 282), 283), 284), 285), 286), 287), 288), 289), 290), 291), 292), 293), 294), 295), 296), 297), 298), 299), 300), 301), 302), 303), 304), 305), 306), 307), 308), 309), 310), 311), 312), 313), 314), 315), 316), 317), 318), 319), 320), 321), 322), 323), 324), 325), 326), 327), 328), 329), 330), 331), 332), 333), 334), 335), 336), 337), 338), 339), 340), 341), 342), 343), 344), 345), 346), 347), 348), 349), 350), 351), 352), 353), 354), 355), 356), 357), 358), 359), 360), 361), 362), 363), 364), 365), 366), 367), 368), 369), 370), 371), 372), 373), 374), 375), 376), 377), 378), 379), 380), 381), 382), 383), 384), 385), 386), 387), 388), 389), 390), 391), 392), 393), 394), 395), 396), 397), 398), 399), 400), 401), 402), 403), 404), 405), 406), 407), 408), 409), 410), 411), 412), 413), 414), 415), 416), 417), 418), 419), 420), 421), 422), 423), 424), 425), 426), 427), 428), 429), 430), 431), 432), 433), 434), 435), 436), 437), 438), 439), 440), 441), 442), 443), 444), 445), 446), 447), 448), 449), 450), 451), 452), 453), 454), 455), 456), 457), 458), 459), 460), 461), 462), 463), 464), 465), 466), 467), 468), 469), 470), 471), 472), 473), 474), 475), 476), 477), 478), 479), 480), 481), 482), 483), 484), 485), 486), 487), 488), 489), 490), 491), 492), 493), 494), 495), 496), 497), 498), 499), 500), 501), 502), 503), 504), 505), 506), 507), 508), 509), 510), 511), 512), 513), 514), 515), 516), 517), 518), 519), 520), 521), 522), 523), 524), 525), 526), 527), 528), 529), 530), 531), 532), 533), 534), 535), 536), 537), 538), 539), 540), 541), 542), 543), 544), 545), 546), 547), 548), 549), 550), 551), 552), 553), 554), 555), 556), 557), 558), 559), 560), 561), 562), 563), 564), 565), 566), 567), 568), 569), 570), 571), 572), 573), 574), 575), 576), 577), 578), 579), 580), 581), 582), 583), 584), 585), 586), 587), 588), 589), 590), 591), 592), 593), 594), 595), 596), 597), 598), 599), 600), 601), 602), 603), 604), 605), 606), 607), 608), 609), 610), 611), 612), 613), 614), 615), 616), 617), 618), 619), 620), 621), 622), 623), 624), 625), 626), 627), 628), 629), 630), 631), 632), 633), 634), 635), 636), 637), 638), 639), 640), 641), 642), 643), 644), 645), 646), 647), 648), 649), 650), 651), 652), 653), 654), 655), 656), 657), 658), 659), 660), 661), 662), 663), 664), 665), 666), 667), 668), 669), 670), 671), 672), 673), 674), 675), 676), 677), 678), 679), 680), 681), 682), 683), 684), 685), 686), 687), 688), 689), 690), 691), 692), 693), 694), 695), 696), 697), 698), 699), 700), 701), 702), 703), 704), 705), 706), 707), 708), 709), 710), 711), 712), 713), 714), 715), 716), 717), 718), 719), 720), 721), 722), 723), 724), 725), 726), 727), 728), 729), 730), 731), 732), 733), 734), 735), 736), 737), 738), 739), 740), 741), 742), 743), 744), 745), 746), 747), 748), 749), 750), 751), 752), 753), 754), 755), 756), 757), 758), 759), 760), 761), 762), 763), 764), 765), 766), 767), 768), 769), 770), 771), 772), 773), 774), 775), 776), 777), 778), 779), 780), 781), 782), 783), 784), 785), 786), 787), 788), 789), 790), 791), 792), 793), 794), 795), 796), 797), 798), 799), 800), 801), 802), 803), 804), 805), 806), 807), 808), 809), 810), 811), 812), 813), 814), 815), 816), 817), 818), 819), 820), 821), 822), 823), 824), 825), 826), 827), 828), 829), 830), 831), 832), 833), 834), 835), 836), 837), 838), 839), 840), 841), 842), 843), 844), 845), 846), 847), 848), 849), 850), 851), 852), 853), 854), 855), 856), 857), 858), 859), 860), 861), 862), 863), 864), 865), 866), 867), 868), 869), 870), 871), 872), 873), 874), 875), 876), 877), 878), 879), 880), 881), 882), 883), 884), 885), 886), 887), 888), 889), 890), 891), 892), 893), 894), 895), 896), 897), 898), 899), 900), 901), 902), 903), 904), 905), 906), 907), 908), 909), 910), 911), 912), 913), 914), 915), 916), 917), 918), 919), 920), 921), 922), 923), 924), 925), 926), 927), 928), 929), 930), 931), 932), 933), 934), 935), 936), 937), 938), 939), 940), 941), 942), 943), 944), 945), 946), 947), 948), 949), 950), 951), 952), 953), 954), 955), 956), 957), 958), 959), 960), 961), 962), 963), 964), 965), 966), 967), 968), 969), 970), 971), 972), 973), 974), 975), 976), 977), 978), 979), 980), 981), 982), 983), 984), 985), 986), 987), 988), 989), 990), 991), 992), 993), 994), 995), 996), 997), 998), 999), 1000) | |
60 | 60 | } | |
61 | 61 | ||
62 | 62 | ||
63 | 63 | func D (E,F) = { | |
64 | 64 | let c = makeString([E, F, "BUY"], "_") | |
65 | 65 | let v = k(c, "") | |
66 | 66 | let G = u(v) | |
67 | 67 | let H = max(G) | |
68 | 68 | H | |
69 | 69 | } | |
70 | 70 | ||
71 | 71 | ||
72 | 72 | func I (E,F) = { | |
73 | 73 | let c = makeString([E, F, "SELL"], "_") | |
74 | 74 | let v = k(c, "") | |
75 | 75 | let G = u(v) | |
76 | 76 | let H = min(G) | |
77 | 77 | H | |
78 | 78 | } | |
79 | 79 | ||
80 | 80 | ||
81 | 81 | func J (o) = { | |
82 | 82 | let K = getIntegerValue("nextQuoteAssetId") | |
83 | 83 | if ((o == "WAVES")) | |
84 | 84 | then K | |
85 | 85 | else i((o + "_quoteAssetId"), (K + 1)) | |
86 | 86 | } | |
87 | 87 | ||
88 | 88 | ||
89 | 89 | func L (o) = transactionHeightById(fromBase58String(o)) | |
90 | 90 | ||
91 | 91 | ||
92 | 92 | func M (N,O) = if ((N == O)) | |
93 | 93 | then throw("assets cannot be the same") | |
94 | 94 | else { | |
95 | 95 | let P = J(N) | |
96 | 96 | let Q = J(O) | |
97 | 97 | if ((P > Q)) | |
98 | 98 | then [N, O] | |
99 | 99 | else if ((Q > P)) | |
100 | 100 | then [O, N] | |
101 | 101 | else { | |
102 | 102 | let R = toBigInt(fromBase58String(N)) | |
103 | 103 | let S = toBigInt(fromBase58String(O)) | |
104 | 104 | let T = [R, S] | |
105 | 105 | let U = max(T) | |
106 | 106 | if ((U == R)) | |
107 | 107 | then [N, O] | |
108 | 108 | else [O, N] | |
109 | 109 | } | |
110 | 110 | } | |
111 | 111 | ||
112 | 112 | ||
113 | 113 | func V (E,F) = { | |
114 | 114 | let W = M(E, F) | |
115 | 115 | if ((W[0] == E)) | |
116 | 116 | then true | |
117 | 117 | else false | |
118 | 118 | } | |
119 | 119 | ||
120 | 120 | ||
121 | - | @Callable(X) | |
122 | - | func limitOrder (E,F,H) = if (V(E, F)) | |
123 | - | then { | |
124 | - | let Y = X.payments[0] | |
125 | - | let Z = n(Y.assetId) | |
126 | - | let aa = makeString([E, F, "nextOrderId"], "_") | |
127 | - | let ab = i(aa, 1) | |
128 | - | if ((Z == F)) | |
129 | - | then { | |
130 | - | let ac = "BUY" | |
131 | - | let ad = makeString(["order", toString(ab)], "_") | |
132 | - | let ae = makeString([toString(X.caller), E, F, ac, toString(H)], "_") | |
133 | - | let af = makeString([E, F, ac, toString(H), "size"], "_") | |
134 | - | let ag = (i(af, 0) + Y.amount) | |
135 | - | let ah = makeString([E, F, ac, "orders"], "_") | |
136 | - | let ai = { | |
137 | - | let p = getString(ah) | |
138 | - | if ($isInstanceOf(p, "String")) | |
139 | - | then { | |
140 | - | let q = p | |
141 | - | makeString([q, toString(ab)], "_") | |
142 | - | } | |
143 | - | else toString(ab) | |
144 | - | } | |
145 | - | [StringEntry(ad, ae), IntegerEntry(af, ag), StringEntry(ah, ai), IntegerEntry(aa, (ab + 1))] | |
121 | + | func X () = g("init", false) | |
122 | + | ||
123 | + | ||
124 | + | func Y (s,t) = { | |
125 | + | let Z = s | |
126 | + | let aa = Z._1 | |
127 | + | let ab = Z._2 | |
128 | + | $Tuple2((aa :+ IntegerEntry(makeString(["quoteAsset", t], "_"), ab)), (ab + 1)) | |
129 | + | } | |
130 | + | ||
131 | + | ||
132 | + | @Callable(ac) | |
133 | + | func init (ad) = if ((ac.caller == this)) | |
134 | + | then if (X()) | |
135 | + | then throw("dapp is already initialized") | |
136 | + | else { | |
137 | + | let ae = { | |
138 | + | let w = ad | |
139 | + | let x = size(w) | |
140 | + | let y = $Tuple2(nil, 1) | |
141 | + | func z (A,B) = if ((B >= x)) | |
142 | + | then A | |
143 | + | else Y(A, w[B]) | |
144 | + | ||
145 | + | func C (A,B) = if ((B >= x)) | |
146 | + | then A | |
147 | + | else throw("List size exceeds 20") | |
148 | + | ||
149 | + | C(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(y, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20) | |
146 | 150 | } | |
147 | - | else { | |
148 | - | let ac = "SELL" | |
149 | - | let ad = makeString(["order", toString(ab)], "_") | |
150 | - | let ae = makeString([toString(X.caller), E, F, ac, toString(H)], "_") | |
151 | - | let af = makeString([E, F, ac, toString(H), "size"], "_") | |
152 | - | let ag = (i(af, 0) + Y.amount) | |
153 | - | let ah = makeString([E, F, ac, "orders"], "_") | |
154 | - | let ai = { | |
155 | - | let p = getString(ah) | |
156 | - | if ($isInstanceOf(p, "String")) | |
157 | - | then { | |
158 | - | let q = p | |
159 | - | makeString([q, toString(ab)], "_") | |
160 | - | } | |
161 | - | else toString(ab) | |
162 | - | } | |
163 | - | [StringEntry(ad, ae), IntegerEntry(af, ag), StringEntry(ah, ai), IntegerEntry(aa, (ab + 1))] | |
164 | - | } | |
165 | - | } | |
166 | - | else nil | |
151 | + | let af = ae._1 | |
152 | + | let ag = ae._2 | |
153 | + | ((af :+ BooleanEntry("init", true)) :+ IntegerEntry("nextQuoteAssetId", ag)) | |
154 | + | } | |
155 | + | else throw("not allowed") | |
167 | 156 | ||
168 | 157 | ||
169 | 158 | ||
170 | - | @Callable(X) | |
171 | - | func marketOrder (E,F) = if (V(E, F)) | |
172 | - | then { | |
173 | - | let Y = X.payments[0] | |
174 | - | nil | |
175 | - | } | |
176 | - | else nil | |
159 | + | @Callable(ac) | |
160 | + | func limitOrder (E,F,H) = if (X()) | |
161 | + | then if (V(E, F)) | |
162 | + | then { | |
163 | + | let ah = ac.payments[0] | |
164 | + | let ai = n(ah.assetId) | |
165 | + | let aj = makeString([E, F, "nextOrderId"], "_") | |
166 | + | let ak = i(aj, 1) | |
167 | + | if ((ai == F)) | |
168 | + | then { | |
169 | + | let al = "BUY" | |
170 | + | let am = makeString(["order", toString(ak)], "_") | |
171 | + | let an = makeString([toString(ac.caller), E, F, al, toString(H)], "_") | |
172 | + | let ao = makeString([E, F, al, toString(H), "size"], "_") | |
173 | + | let ap = (i(ao, 0) + ah.amount) | |
174 | + | let aq = makeString([E, F, al, "orders"], "_") | |
175 | + | let ar = { | |
176 | + | let p = getString(aq) | |
177 | + | if ($isInstanceOf(p, "String")) | |
178 | + | then { | |
179 | + | let q = p | |
180 | + | makeString([q, toString(ak)], "_") | |
181 | + | } | |
182 | + | else toString(ak) | |
183 | + | } | |
184 | + | [StringEntry(am, an), IntegerEntry(ao, ap), StringEntry(aq, ar), IntegerEntry(aj, (ak + 1))] | |
185 | + | } | |
186 | + | else { | |
187 | + | let al = "SELL" | |
188 | + | let am = makeString(["order", toString(ak)], "_") | |
189 | + | let an = makeString([toString(ac.caller), E, F, al, toString(H)], "_") | |
190 | + | let ao = makeString([E, F, al, toString(H), "size"], "_") | |
191 | + | let ap = (i(ao, 0) + ah.amount) | |
192 | + | let aq = makeString([E, F, al, "orders"], "_") | |
193 | + | let ar = { | |
194 | + | let p = getString(aq) | |
195 | + | if ($isInstanceOf(p, "String")) | |
196 | + | then { | |
197 | + | let q = p | |
198 | + | makeString([q, toString(ak)], "_") | |
199 | + | } | |
200 | + | else toString(ak) | |
201 | + | } | |
202 | + | [StringEntry(am, an), IntegerEntry(ao, ap), StringEntry(aq, ar), IntegerEntry(aj, (ak + 1))] | |
203 | + | } | |
204 | + | } | |
205 | + | else nil | |
206 | + | else throw("dapp is not initialized") | |
207 | + | ||
208 | + | ||
209 | + | ||
210 | + | @Callable(ac) | |
211 | + | func marketOrder (E,F) = if (X()) | |
212 | + | then if (V(E, F)) | |
213 | + | then { | |
214 | + | let ah = ac.payments[0] | |
215 | + | nil | |
216 | + | } | |
217 | + | else nil | |
218 | + | else throw("dapp is not initialized") | |
177 | 219 | ||
178 | 220 |
github/deemru/w8io/169f3d6 102.50 ms ◑