tx · Comjoe3RLz6en7ihUFfyvuJJuNMdCcJU9qa89YTEYGn4 3PMB6ajcL1KpY7DN5nXKf54ieLgaB4xsPFk: -0.00800000 Waves 2023.05.18 01:38 [3647996] smart account 3PMB6ajcL1KpY7DN5nXKf54ieLgaB4xsPFk > SELF 0.00000000 Waves
{ "type": 13, "id": "Comjoe3RLz6en7ihUFfyvuJJuNMdCcJU9qa89YTEYGn4", "fee": 800000, "feeAssetId": null, "timestamp": 1684363081874, "version": 1, "sender": "3PMB6ajcL1KpY7DN5nXKf54ieLgaB4xsPFk", "senderPublicKey": "6uhb6AgKwFhRA2MZ37H8cixm7WFtpThFHq3tcaTDuSzc", "proofs": [ "3Vwad2FWrpaJbWuXAWnwDh8v6P2nMxHUSdJw5wDzCiuDrz8bMwZvj72K6WKF5L5Fjn45qnBfmKAcvM68QtgB9QUr" ], "script": "base64:BgIECAISACcABlNjYWxlNgDAhD0ADFNjYWxlNkJpZ0ludAkAtgIBBQZTY2FsZTYABlNjYWxlOACAwtcvAAxTY2FsZThCaWdJbnQJALYCAQUGU2NhbGU4AApaZXJvQmlnSW50CQC2AgEAAAADU0VQAgJfXwAHSW5TY2FsZQCAwtcvAApJbkRlY2ltYWxzAAgADUluU2NhbGVCaWdJbnQJALYCAQUHSW5TY2FsZQAHSW5Bc3NldAEgbPpq/8XtqowLf7Uqk9KiDC+Cgtt0egSMU/v9Ex9zoP8ACkluQXNzZXRTdHICLDhMUVc4ZjdQNWQ1UFpNN0d0WkVCZ2FxUlBHU3pTM0RmUHVpWHJVUko0QUpTAAZjYWxsZXIJAQdBZGRyZXNzAQEaAVfyTI2mBDNxC6+/pEnHCC85SsZCCZoQMLQACWdlbmVyYXRvcgkBB0FkZHJlc3MBARoBV3fRSsAAJg9QbYMls1p2hOXjOfleDQxxRAAIcmVjZWl2ZXIJAQdBZGRyZXNzAQEaAVfPBWlzlYdYIwJnIbyPiV+SembopB4yfhgAC21ldnJlY2VpdmVyCQEHQWRkcmVzcwEBGgFXHuH7QDFrgebsS1YbBSxRoZNu3wmxPNLBAA13eFN3YXBBZGRyZXNzCQEHQWRkcmVzcwEBGgFXLio1NbENt/F5PuG3RtCedFJNezHQg64GAA50aGlzQWRkcmVzc1N0cgkApQgBBQR0aGlzAQxnZXRJbnRPclplcm8BA2tleQkBC3ZhbHVlT3JFbHNlAgkAnwgBBQNrZXkAAAEKZ2V0QmFsYW5jZQEFYXNzZXQDCQAAAgUFYXNzZXQFBHVuaXQICQDvBwEFBHRoaXMHcmVndWxhcgkA8AcCBQR0aGlzCQEFdmFsdWUBBQVhc3NldAEPZ2V0QXNzZXRPcldhdmVzAQhhc3NldFN0cgMJAAACBQhhc3NldFN0cgIFV0FWRVMFBHVuaXQJANkEAQUIYXNzZXRTdHIACWluQmFsYW5jZQkBCmdldEJhbGFuY2UBBQdJbkFzc2V0AA9pbkJhbGFuY2VCaWdJbnQJALYCAQUJaW5CYWxhbmNlAQtnZXRTd29wUG9vbAEEcG9vbAQLYXNzZXRJZEFTdHIJARFAZXh0ck5hdGl2ZSgxMDUzKQIFBHBvb2wCCkFfYXNzZXRfaWQEC2Fzc2V0SWRCU3RyCQERQGV4dHJOYXRpdmUoMTA1MykCBQRwb29sAgpCX2Fzc2V0X2lkBAhhc3NldElkQQkBD2dldEFzc2V0T3JXYXZlcwEFC2Fzc2V0SWRBU3RyBAhhc3NldElkQgkBD2dldEFzc2V0T3JXYXZlcwEFC2Fzc2V0SWRCU3RyBAhiYWxhbmNlQQkBEUBleHRyTmF0aXZlKDEwNTApAgUEcG9vbAIPQV9hc3NldF9iYWxhbmNlBAhiYWxhbmNlQgkBEUBleHRyTmF0aXZlKDEwNTApAgUEcG9vbAIPQl9hc3NldF9iYWxhbmNlBAZvdXRGZWUJALgCAgUMU2NhbGU2QmlnSW50CQC2AgEJARFAZXh0ck5hdGl2ZSgxMDUwKQIFBHBvb2wCCmNvbW1pc3Npb24JAJsKCQkAtgIBBQhiYWxhbmNlQQkAtgIBBQhiYWxhbmNlQgUIYXNzZXRJZEEFCGFzc2V0SWRCBQthc3NldElkQVN0cgULYXNzZXRJZEJTdHIFDFNjYWxlNkJpZ0ludAUGb3V0RmVlBQRwb29sARRrZXlBZGRpdGlvbmFsQmFsYW5jZQEHYXNzZXRJZAkAuQkCCQDMCAICBCVzJXMJAMwIAgINc3Rha2VkQmFsYW5jZQkAzAgCBQdhc3NldElkBQNuaWwFA1NFUAEWa2V5U3Rha2luZ0Fzc2V0QmFsYW5jZQEHYXNzZXRJZAkAuQkCCQDMCAICBCVzJXMJAMwIAgIRc2hhcmVBc3NldEJhbGFuY2UJAMwIAgUHYXNzZXRJZAUDbmlsBQNTRVABGmdldEFkZGl0aW9uYWxCYWxhbmNlT3JaZXJvAgRwb29sB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEcG9vbAkBFGtleUFkZGl0aW9uYWxCYWxhbmNlAQUHYXNzZXRJZAAAARxnZXRTdGFraW5nQXNzZXRCYWxhbmNlT3JaZXJvAgRwb29sB2Fzc2V0SWQJAQt2YWx1ZU9yRWxzZQIJAJoIAgUEcG9vbAkBFmtleVN0YWtpbmdBc3NldEJhbGFuY2UBBQdhc3NldElkAAABE2dldFd4QWNjb3VudEJhbGFuY2UCBHBvb2wHYXNzZXRJZAQNYmFsYW5jZU9uUG9vbAMJAAACBQdhc3NldElkAgVXQVZFUwgJAO8HAQUEcG9vbAlhdmFpbGFibGUJAPAHAgUEcG9vbAkA2QQBBQdhc3NldElkBAx0b3RhbEJhbGFuY2UJAGUCCQBkAgUNYmFsYW5jZU9uUG9vbAkBGmdldEFkZGl0aW9uYWxCYWxhbmNlT3JaZXJvAgUEcG9vbAUHYXNzZXRJZAkBHGdldFN0YWtpbmdBc3NldEJhbGFuY2VPclplcm8CBQRwb29sBQdhc3NldElkCQCWAwEJAMwIAgAACQDMCAIFDHRvdGFsQmFsYW5jZQUDbmlsAQlnZXRXeFBvb2wBBHBvb2wEC2Fzc2V0SWRBU3RyCQERQGV4dHJOYXRpdmUoMTA1MykCBQRwb29sAg8lc19fYW1vdW50QXNzZXQEC2Fzc2V0SWRCU3RyCQERQGV4dHJOYXRpdmUoMTA1MykCBQRwb29sAg4lc19fcHJpY2VBc3NldAQIYXNzZXRJZEEJAQ9nZXRBc3NldE9yV2F2ZXMBBQthc3NldElkQVN0cgQIYXNzZXRJZEIJAQ9nZXRBc3NldE9yV2F2ZXMBBQthc3NldElkQlN0cgQIYmFsYW5jZUEJARNnZXRXeEFjY291bnRCYWxhbmNlAgUEcG9vbAULYXNzZXRJZEFTdHIECGJhbGFuY2VCCQETZ2V0V3hBY2NvdW50QmFsYW5jZQIFBHBvb2wFC2Fzc2V0SWRCU3RyBAtwcm90b2NvbEZlZQkBEUBleHRyTmF0aXZlKDEwNTApAgUNd3hTd2FwQWRkcmVzcwIPJXNfX3Byb3RvY29sRmVlBAdwb29sRmVlCQERQGV4dHJOYXRpdmUoMTA1MCkCBQ13eFN3YXBBZGRyZXNzAgslc19fcG9vbEZlZQQFaW5GZWUJALgCAgUMU2NhbGU2QmlnSW50CQC8AgMJALYCAQkAZAIFC3Byb3RvY29sRmVlBQdwb29sRmVlBQxTY2FsZTZCaWdJbnQFDFNjYWxlOEJpZ0ludAkAmwoJCQC2AgEFCGJhbGFuY2VBCQC2AgEFCGJhbGFuY2VCBQhhc3NldElkQQUIYXNzZXRJZEIFC2Fzc2V0SWRBU3RyBQthc3NldElkQlN0cgUFaW5GZWUFDFNjYWxlNkJpZ0ludAUNd3hTd2FwQWRkcmVzcwEIY2FsY1N3YXAFCXBtdEFtb3VudAl0b2tlbkZyb20HdG9rZW5UbwVpbkZlZQZvdXRGZWUEC2NsZWFuQW1vdW50CQC8AgMFCXBtdEFtb3VudAUFaW5GZWUFDFNjYWxlNkJpZ0ludAQQYW1vdW50V2l0aG91dEZlZQkAvAIDBQd0b2tlblRvBQtjbGVhbkFtb3VudAkAtwICBQtjbGVhbkFtb3VudAUJdG9rZW5Gcm9tBA1hbW91bnRXaXRoRmVlCQC8AgMFEGFtb3VudFdpdGhvdXRGZWUFBm91dEZlZQUMU2NhbGU2QmlnSW50BQ1hbW91bnRXaXRoRmVlAQxlc3RpbWF0ZVN3YXADCHBvb2xJbmZvB2luQXNzZXQIaW5BbW91bnQECXJvdXRlQXJncwMJAAACBQdpbkFzc2V0CAUIcG9vbEluZm8CXzMJAJUKAwgFCHBvb2xJbmZvAl80CAUIcG9vbEluZm8CXzYJAQhjYWxjU3dhcAUFCGluQW1vdW50CAUIcG9vbEluZm8CXzEIBQhwb29sSW5mbwJfMggFCHBvb2xJbmZvAl83CAUIcG9vbEluZm8CXzgJAJUKAwgFCHBvb2xJbmZvAl8zCAUIcG9vbEluZm8CXzUJAQhjYWxjU3dhcAUFCGluQW1vdW50CAUIcG9vbEluZm8CXzIIBQhwb29sSW5mbwJfMQgFCHBvb2xJbmZvAl83CAUIcG9vbEluZm8CXzgECGRhcHBBcmdzAwkAAAIIBQhwb29sSW5mbwJfOQUNd3hTd2FwQWRkcmVzcwkAlAoCAgRzd2FwCQDMCAIAAAkAzAgCCAUJcm91dGVBcmdzAl8yCQDMCAIFDnRoaXNBZGRyZXNzU3RyBQNuaWwJAJQKAgIIZXhjaGFuZ2UJAMwIAgABBQNuaWwJAJYKBAgFCXJvdXRlQXJncwJfMQgFCXJvdXRlQXJncwJfMwgFCGRhcHBBcmdzAl8xCAUIZGFwcEFyZ3MCXzIBDWVzdGltYXRlUm91dGUGBXBvb2wxBXBvb2wyBXBvb2wzDHBvb2wxUmV2ZXJzZQxwb29sMlJldmVyc2UMcG9vbDNSZXZlcnNlBANhMTIDBQxwb29sMVJldmVyc2UIBQVwb29sMQJfMggFBXBvb2wxAl8xBANhMjEDBQxwb29sMVJldmVyc2UIBQVwb29sMQJfMQgFBXBvb2wxAl8yBANhMjMDBQxwb29sMlJldmVyc2UIBQVwb29sMgJfMggFBXBvb2wyAl8xBANhMzIDBQxwb29sMlJldmVyc2UIBQVwb29sMgJfMQgFBXBvb2wyAl8yBANhMzEDBQxwb29sM1JldmVyc2UIBQVwb29sMwJfMggFBXBvb2wzAl8xBANhMTMDBQxwb29sM1JldmVyc2UIBQVwb29sMwJfMQgFBXBvb2wzAl8yBA1hYURlbm9taW5hdG9yCQC3AgIFA2EyMwkAvAIDCQC8AgMFA2EyMQgFBXBvb2wxAl84BQxTY2FsZTZCaWdJbnQIBQVwb29sMgJfNwUMU2NhbGU2QmlnSW50BARhYTEzCQC8AgMFA2ExMgUDYTIzBQ1hYURlbm9taW5hdG9yBARhYTMxCQC8AgMJALwCAwkAvAIDBQNhMjEFA2EzMgUNYWFEZW5vbWluYXRvcggFBXBvb2wyAl83BQxTY2FsZTZCaWdJbnQIBQVwb29sMgJfOAUMU2NhbGU2QmlnSW50BAxhRGVub21pbmF0b3IJALcCAgUDYTMxCQC8AgMJALwCAwUEYWEzMQgFBXBvb2wxAl83BQxTY2FsZTZCaWdJbnQIBQVwb29sMQJfOAUMU2NhbGU2QmlnSW50BAFhCQC8AgMFBGFhMTMFA2EzMQUMYURlbm9taW5hdG9yBAJhYQkAvAIDCQC8AgMJALwCAwUEYWEzMQUDYTEzBQxhRGVub21pbmF0b3IIBQVwb29sMwJfNwUMU2NhbGU2QmlnSW50CAUFcG9vbDMCXzgFDFNjYWxlNkJpZ0ludAQFZGVsdGEJALwCAwkAuAICCQEKc3FydEJpZ0ludAQJALwCAwkAvAIDCQC8AgMFAmFhBQFhBQ1JblNjYWxlQmlnSW50CAUFcG9vbDECXzcFDFNjYWxlNkJpZ0ludAgFBXBvb2wxAl84BQxTY2FsZTZCaWdJbnQFCkluRGVjaW1hbHMFCkluRGVjaW1hbHMFB0NFSUxJTkcFAWEFDFNjYWxlNkJpZ0ludAgFBXBvb2wxAl83AwkAwAICBQpaZXJvQmlnSW50BQVkZWx0YQkAlAoCAAAFA25pbAQFaW5wdXQDCQC/AgIFBWRlbHRhBQ9pbkJhbGFuY2VCaWdJbnQFD2luQmFsYW5jZUJpZ0ludAUFZGVsdGEEBXN3YXAxCQEMZXN0aW1hdGVTd2FwAwUFcG9vbDEFB0luQXNzZXQFBWlucHV0BAVzd2FwMgkBDGVzdGltYXRlU3dhcAMFBXBvb2wyCAUFc3dhcDECXzEIBQVzd2FwMQJfMgQFc3dhcDMJAQxlc3RpbWF0ZVN3YXADBQVwb29sMwgFBXN3YXAyAl8xCAUFc3dhcDICXzIJAJQKAgkAoAMBCQC4AgIIBQVzd2FwMwJfMgUFaW5wdXQJAMwIAgkAlwoFCAUFcG9vbDECXzkIBQVzd2FwMQJfMwgFBXN3YXAxAl80BQdJbkFzc2V0CQCgAwEFBWlucHV0CQDMCAIJAJcKBQgFBXBvb2wyAl85CAUFc3dhcDICXzMIBQVzd2FwMgJfNAgFBXN3YXAxAl8xCQCgAwEIBQVzd2FwMQJfMgkAzAgCCQCXCgUIBQVwb29sMwJfOQgFBXN3YXAzAl8zCAUFc3dhcDMCXzQIBQVzd2FwMgJfMQkAoAMBCAUFc3dhcDICXzIFA25pbAEKaW52b2tlU3dhcAEEYXJncwQOY3VycmVudEJhbGFuY2UJAQpnZXRCYWxhbmNlAQgFBGFyZ3MCXzQEDXRyaW1tZWRBbW91bnQDCQBmAggFBGFyZ3MCXzUFDmN1cnJlbnRCYWxhbmNlBQ5jdXJyZW50QmFsYW5jZQgFBGFyZ3MCXzUEDHJlc3VsdEFtb3VudAMJAAACCAUEYXJncwJfNAUHSW5Bc3NldAUNdHJpbW1lZEFtb3VudAMJAGYCBQ5jdXJyZW50QmFsYW5jZQgFBGFyZ3MCXzUFDmN1cnJlbnRCYWxhbmNlBQ10cmltbWVkQW1vdW50CQD8BwQIBQRhcmdzAl8xCAUEYXJncwJfMggFBGFyZ3MCXzMJAMwIAgkBD0F0dGFjaGVkUGF5bWVudAIIBQRhcmdzAl80BQxyZXN1bHRBbW91bnQFA25pbAAPc3dvcF9idGN3eGdfeHRuCQELZ2V0U3dvcFBvb2wBCQEHQWRkcmVzcwEBGgFXWr+O60axuBKu/VzJ19HG/Sl1XSao2mqXABFzd29wX3dhdmVzX2J0Y3d4ZwkBC2dldFN3b3BQb29sAQkBB0FkZHJlc3MBARoBV0VVUiA2i4brnFuT+reFxVu3I8K2xWYPrAANd3hfYnRjd3hnX3h0bgkBCWdldFd4UG9vbAEJAQdBZGRyZXNzAQEaAVdwdLQqo8iSwSMmznCoYKy2oO71ZSSMCNkAD3d4X3dhdmVzX2J0Y3d4ZwkBCWdldFd4UG9vbAEJAQdBZGRyZXNzAQEaAVfrhaRPK2J6J8Bwm0Esmjz40kkwm8AZcFUADHd4X3dhdmVzX3h0bgkBCWdldFd4UG9vbAEJAQdBZGRyZXNzAQEaAVftR5/NQjyTvkshzfsCfh/ILfuWgHrDr30ABnJvdXRlcwkAzAgCCQCYCgYFD3d4X3dhdmVzX2J0Y3d4ZwUMd3hfd2F2ZXNfeHRuBQ13eF9idGN3eGdfeHRuBgcGCQDMCAIJAJgKBgUNd3hfYnRjd3hnX3h0bgUMd3hfd2F2ZXNfeHRuBQ93eF93YXZlc19idGN3eGcHBgcJAMwIAgkAmAoGBRFzd29wX3dhdmVzX2J0Y3d4ZwUMd3hfd2F2ZXNfeHRuBQ9zd29wX2J0Y3d4Z194dG4GBwYJAMwIAgkAmAoGBQ9zd29wX2J0Y3d4Z194dG4FDHd4X3dhdmVzX3h0bgURc3dvcF93YXZlc19idGN3eGcHBgcJAMwIAgkAmAoGBQ93eF93YXZlc19idGN3eGcFDHd4X3dhdmVzX3h0bgUPc3dvcF9idGN3eGdfeHRuBgcGCQDMCAIJAJgKBgUPc3dvcF9idGN3eGdfeHRuBQx3eF93YXZlc194dG4FD3d4X3dhdmVzX2J0Y3d4ZwcGBwkAzAgCCQCYCgYFDXd4X2J0Y3d4Z194dG4FDHd4X3dhdmVzX3h0bgURc3dvcF93YXZlc19idGN3eGcHBgcJAMwIAgkAmAoGBRFzd29wX3dhdmVzX2J0Y3d4ZwUMd3hfd2F2ZXNfeHRuBQ13eF9idGN3eGdfeHRuBgcGBQNuaWwBAWkBB2RlZmF1bHQAAwkBAiE9AggFAWkGY2FsbGVyBQZjYWxsZXIJAAIBAgtObyB0b3VjaGluZwoBDWFjY3VtRnVuY3Rpb24CBWFjY3VtBG5leHQECmVzdGltYXRpb24JAQ1lc3RpbWF0ZVJvdXRlBggFBG5leHQCXzEIBQRuZXh0Al8yCAUEbmV4dAJfMwgFBG5leHQCXzQIBQRuZXh0Al81CAUEbmV4dAJfNgkAlAoCCQDNCAIIBQVhY2N1bQJfMQgFCmVzdGltYXRpb24CXzEJAM0IAggFBWFjY3VtAl8yCAUKZXN0aW1hdGlvbgJfMgQEZm9sZAoAAiRsBQZyb3V0ZXMKAAIkcwkAkAMBBQIkbAoABSRhY2MwCQCUCgIFA25pbAUDbmlsCgEFJGYwXzECAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAQ1hY2N1bUZ1bmN0aW9uAgUCJGEJAJEDAgUCJGwFAiRpCgEFJGYwXzICAiRhAiRpAwkAZwIFAiRpBQIkcwUCJGEJAAIBAhNMaXN0IHNpemUgZXhjZWVkcyA4CQEFJGYwXzICCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECCQEFJGYwXzECBQUkYWNjMAAAAAEAAgADAAQABQAGAAcACAQNbWF4U3dhcFByb2ZpdAkAlgMBCAUEZm9sZAJfMQMJAGcCAAAFDW1heFN3YXBQcm9maXQJAAIBAg1Fc3RpbWF0ZSBmYWlsBA9lc3RpbWF0ZWRSZXN1bHQJAJEDAggFBGZvbGQCXzIJAQV2YWx1ZQEJAM8IAggFBGZvbGQCXzEFDW1heFN3YXBQcm9maXQEB3Jlc3VsdDEJAQppbnZva2VTd2FwAQkAkQMCBQ9lc3RpbWF0ZWRSZXN1bHQAAAMJAAACBQdyZXN1bHQxBQdyZXN1bHQxBAdyZXN1bHQyCQEKaW52b2tlU3dhcAEJAJEDAgUPZXN0aW1hdGVkUmVzdWx0AAEDCQAAAgUHcmVzdWx0MgUHcmVzdWx0MgQHcmVzdWx0MwkBCmludm9rZVN3YXABCQCRAwIFD2VzdGltYXRlZFJlc3VsdAACAwkAAAIFB3Jlc3VsdDMFB3Jlc3VsdDMEBnByb2ZpdAkAZQIJAQpnZXRCYWxhbmNlAQUHSW5Bc3NldAUJaW5CYWxhbmNlBApwdXJlUHJvZml0AwkAZgIJAGoCCAUBaQNmZWUACgAACQBlAgUGcHJvZml0APjSAQkAZQIFBnByb2ZpdACQAwMJAGcCAAAFCnB1cmVQcm9maXQJAAIBAgxFeGVjdXRlIGZhaWwDCQAAAggFCWxhc3RCbG9jawlnZW5lcmF0b3IFCWdlbmVyYXRvcgkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQttZXZyZWNlaXZlcgUGcHJvZml0BQdJbkFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICAgttZXZfcHJvZml0XwUKSW5Bc3NldFN0cgIBXwkApAMBCAUJbGFzdEJsb2NrCXRpbWVzdGFtcAUGcHJvZml0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgICEG1ldl90b3RhbFByb2ZpdF8FCkluQXNzZXRTdHIJAGQCCQEMZ2V0SW50T3JaZXJvAQkArAICAhBtZXZfdG90YWxQcm9maXRfBQpJbkFzc2V0U3RyBQZwcm9maXQFA25pbAkAzAgCCQEOU2NyaXB0VHJhbnNmZXIDBQhyZWNlaXZlcgUGcHJvZml0BQdJbkFzc2V0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIJAKwCAgkArAICAgdwcm9maXRfBQpJbkFzc2V0U3RyAgFfCQCkAwEIBQlsYXN0QmxvY2sJdGltZXN0YW1wBQZwcm9maXQJAMwIAgkBDEludGVnZXJFbnRyeQIJAKwCAgIMdG90YWxQcm9maXRfBQpJbkFzc2V0U3RyCQBkAgkBDGdldEludE9yWmVybwEJAKwCAgIMdG90YWxQcm9maXRfBQpJbkFzc2V0U3RyBQZwcm9maXQFA25pbAkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAgECJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgBl09yh", "chainId": 87, "height": 3647996, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: A5ubFaAmxboiD6aLwYjpsgRDpnQBkLGy9fzeLMMz45XE Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 6 #-} | |
2 | + | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | + | {-# CONTENT_TYPE DAPP #-} | |
4 | + | let a = 1000000 | |
5 | + | ||
6 | + | let b = toBigInt(a) | |
7 | + | ||
8 | + | let c = 100000000 | |
9 | + | ||
10 | + | let d = toBigInt(c) | |
11 | + | ||
12 | + | let e = toBigInt(0) | |
13 | + | ||
14 | + | let f = "__" | |
15 | + | ||
16 | + | let g = 100000000 | |
17 | + | ||
18 | + | let h = 8 | |
19 | + | ||
20 | + | let i = toBigInt(g) | |
21 | + | ||
22 | + | let j = base58'8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS' | |
23 | + | ||
24 | + | let k = "8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS" | |
25 | + | ||
26 | + | let l = Address(base58'3PQ23xgnf98t4qDtF5bscxdCDwgYoL7SPeK') | |
27 | + | ||
28 | + | let m = Address(base58'3PCrRrwHEjGXFjYtXDsNv78f3Ch3CH3p6V1') | |
29 | + | ||
30 | + | let n = Address(base58'3PLoX5yufZz9jRahL1CVVRAXq8VpUmXBKLK') | |
31 | + | ||
32 | + | let o = Address(base58'3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe') | |
33 | + | ||
34 | + | let p = Address(base58'3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93') | |
35 | + | ||
36 | + | let q = toString(this) | |
37 | + | ||
38 | + | func r (s) = valueOrElse(getInteger(s), 0) | |
39 | + | ||
40 | + | ||
41 | + | func t (u) = if ((u == unit)) | |
42 | + | then wavesBalance(this).regular | |
43 | + | else assetBalance(this, value(u)) | |
44 | + | ||
45 | + | ||
46 | + | func v (w) = if ((w == "WAVES")) | |
47 | + | then unit | |
48 | + | else fromBase58String(w) | |
49 | + | ||
50 | + | ||
51 | + | let x = t(j) | |
52 | + | ||
53 | + | let y = toBigInt(x) | |
54 | + | ||
55 | + | func z (A) = { | |
56 | + | let B = getStringValue(A, "A_asset_id") | |
57 | + | let C = getStringValue(A, "B_asset_id") | |
58 | + | let D = v(B) | |
59 | + | let E = v(C) | |
60 | + | let F = getIntegerValue(A, "A_asset_balance") | |
61 | + | let G = getIntegerValue(A, "B_asset_balance") | |
62 | + | let H = (b - toBigInt(getIntegerValue(A, "commission"))) | |
63 | + | $Tuple9(toBigInt(F), toBigInt(G), D, E, B, C, b, H, A) | |
64 | + | } | |
65 | + | ||
66 | + | ||
67 | + | func I (J) = makeString(["%s%s", "stakedBalance", J], f) | |
68 | + | ||
69 | + | ||
70 | + | func K (J) = makeString(["%s%s", "shareAssetBalance", J], f) | |
71 | + | ||
72 | + | ||
73 | + | func L (A,J) = valueOrElse(getInteger(A, I(J)), 0) | |
74 | + | ||
75 | + | ||
76 | + | func M (A,J) = valueOrElse(getInteger(A, K(J)), 0) | |
77 | + | ||
78 | + | ||
79 | + | func N (A,J) = { | |
80 | + | let O = if ((J == "WAVES")) | |
81 | + | then wavesBalance(A).available | |
82 | + | else assetBalance(A, fromBase58String(J)) | |
83 | + | let P = ((O + L(A, J)) - M(A, J)) | |
84 | + | max([0, P]) | |
85 | + | } | |
86 | + | ||
87 | + | ||
88 | + | func Q (A) = { | |
89 | + | let B = getStringValue(A, "%s__amountAsset") | |
90 | + | let C = getStringValue(A, "%s__priceAsset") | |
91 | + | let D = v(B) | |
92 | + | let E = v(C) | |
93 | + | let F = N(A, B) | |
94 | + | let G = N(A, C) | |
95 | + | let R = getIntegerValue(p, "%s__protocolFee") | |
96 | + | let S = getIntegerValue(p, "%s__poolFee") | |
97 | + | let T = (b - fraction(toBigInt((R + S)), b, d)) | |
98 | + | $Tuple9(toBigInt(F), toBigInt(G), D, E, B, C, T, b, p) | |
99 | + | } | |
100 | + | ||
101 | + | ||
102 | + | func U (V,W,X,T,H) = { | |
103 | + | let Y = fraction(V, T, b) | |
104 | + | let Z = fraction(X, Y, (Y + W)) | |
105 | + | let aa = fraction(Z, H, b) | |
106 | + | aa | |
107 | + | } | |
108 | + | ||
109 | + | ||
110 | + | func ab (ac,ad,ae) = { | |
111 | + | let af = if ((ad == ac._3)) | |
112 | + | then $Tuple3(ac._4, ac._6, U(ae, ac._1, ac._2, ac._7, ac._8)) | |
113 | + | else $Tuple3(ac._3, ac._5, U(ae, ac._2, ac._1, ac._7, ac._8)) | |
114 | + | let ag = if ((ac._9 == p)) | |
115 | + | then $Tuple2("swap", [0, af._2, q]) | |
116 | + | else $Tuple2("exchange", [1]) | |
117 | + | $Tuple4(af._1, af._3, ag._1, ag._2) | |
118 | + | } | |
119 | + | ||
120 | + | ||
121 | + | func ah (ai,aj,ak,al,am,an) = { | |
122 | + | let ao = if (al) | |
123 | + | then ai._2 | |
124 | + | else ai._1 | |
125 | + | let ap = if (al) | |
126 | + | then ai._1 | |
127 | + | else ai._2 | |
128 | + | let aq = if (am) | |
129 | + | then aj._2 | |
130 | + | else aj._1 | |
131 | + | let ar = if (am) | |
132 | + | then aj._1 | |
133 | + | else aj._2 | |
134 | + | let as = if (an) | |
135 | + | then ak._2 | |
136 | + | else ak._1 | |
137 | + | let at = if (an) | |
138 | + | then ak._1 | |
139 | + | else ak._2 | |
140 | + | let au = (aq + fraction(fraction(ap, ai._8, b), aj._7, b)) | |
141 | + | let av = fraction(ao, aq, au) | |
142 | + | let aw = fraction(fraction(fraction(ap, ar, au), aj._7, b), aj._8, b) | |
143 | + | let ax = (as + fraction(fraction(aw, ai._7, b), ai._8, b)) | |
144 | + | let ay = fraction(av, as, ax) | |
145 | + | let az = fraction(fraction(fraction(aw, at, ax), ak._7, b), ak._8, b) | |
146 | + | let aA = fraction((sqrtBigInt(fraction(fraction(fraction(az, ay, i), ai._7, b), ai._8, b), h, h, CEILING) - ay), b, ai._7) | |
147 | + | if ((e >= aA)) | |
148 | + | then $Tuple2(0, nil) | |
149 | + | else { | |
150 | + | let aB = if ((aA > y)) | |
151 | + | then y | |
152 | + | else aA | |
153 | + | let aC = ab(ai, j, aB) | |
154 | + | let aD = ab(aj, aC._1, aC._2) | |
155 | + | let aE = ab(ak, aD._1, aD._2) | |
156 | + | $Tuple2(toInt((aE._2 - aB)), [$Tuple5(ai._9, aC._3, aC._4, j, toInt(aB)), $Tuple5(aj._9, aD._3, aD._4, aC._1, toInt(aC._2)), $Tuple5(ak._9, aE._3, aE._4, aD._1, toInt(aD._2))]) | |
157 | + | } | |
158 | + | } | |
159 | + | ||
160 | + | ||
161 | + | func aF (aG) = { | |
162 | + | let aH = t(aG._4) | |
163 | + | let aI = if ((aG._5 > aH)) | |
164 | + | then aH | |
165 | + | else aG._5 | |
166 | + | let aJ = if ((aG._4 == j)) | |
167 | + | then aI | |
168 | + | else if ((aH > aG._5)) | |
169 | + | then aH | |
170 | + | else aI | |
171 | + | invoke(aG._1, aG._2, aG._3, [AttachedPayment(aG._4, aJ)]) | |
172 | + | } | |
173 | + | ||
174 | + | ||
175 | + | let aK = z(Address(base58'3PACj2DLTw3uUhsUmT98zHU5M4hPufbHKav')) | |
176 | + | ||
177 | + | let aL = z(Address(base58'3P8FVZgAJUAq32UEZtTw84qS4zLqEREiEiP')) | |
178 | + | ||
179 | + | let aM = Q(Address(base58'3PCBWDTA6jrFswd7gQgaE3Xk7gLM5RKofvp')) | |
180 | + | ||
181 | + | let aN = Q(Address(base58'3PPQDcvXuwVToC2QNWzPwxmLxLzMw9Eoe8C')) | |
182 | + | ||
183 | + | let aO = Q(Address(base58'3PPZWgFNRKHLvM51pwS934C8VZ7d2F4Z58g')) | |
184 | + | ||
185 | + | let aP = [$Tuple6(aN, aO, aM, true, false, true), $Tuple6(aM, aO, aN, false, true, false), $Tuple6(aL, aO, aK, true, false, true), $Tuple6(aK, aO, aL, false, true, false), $Tuple6(aN, aO, aK, true, false, true), $Tuple6(aK, aO, aN, false, true, false), $Tuple6(aM, aO, aL, false, true, false), $Tuple6(aL, aO, aM, true, false, true)] | |
186 | + | ||
187 | + | @Callable(aQ) | |
188 | + | func default () = if ((aQ.caller != l)) | |
189 | + | then throw("No touching") | |
190 | + | else { | |
191 | + | func aR (aS,aT) = { | |
192 | + | let aU = ah(aT._1, aT._2, aT._3, aT._4, aT._5, aT._6) | |
193 | + | $Tuple2((aS._1 :+ aU._1), (aS._2 :+ aU._2)) | |
194 | + | } | |
195 | + | ||
196 | + | let aV = { | |
197 | + | let aW = aP | |
198 | + | let aX = size(aW) | |
199 | + | let aY = $Tuple2(nil, nil) | |
200 | + | func aZ (ba,bb) = if ((bb >= aX)) | |
201 | + | then ba | |
202 | + | else aR(ba, aW[bb]) | |
203 | + | ||
204 | + | func bc (ba,bb) = if ((bb >= aX)) | |
205 | + | then ba | |
206 | + | else throw("List size exceeds 8") | |
207 | + | ||
208 | + | bc(aZ(aZ(aZ(aZ(aZ(aZ(aZ(aZ(aY, 0), 1), 2), 3), 4), 5), 6), 7), 8) | |
209 | + | } | |
210 | + | let bd = max(aV._1) | |
211 | + | if ((0 >= bd)) | |
212 | + | then throw("Estimate fail") | |
213 | + | else { | |
214 | + | let be = aV._2[value(indexOf(aV._1, bd))] | |
215 | + | let bf = aF(be[0]) | |
216 | + | if ((bf == bf)) | |
217 | + | then { | |
218 | + | let bg = aF(be[1]) | |
219 | + | if ((bg == bg)) | |
220 | + | then { | |
221 | + | let bh = aF(be[2]) | |
222 | + | if ((bh == bh)) | |
223 | + | then { | |
224 | + | let bi = (t(j) - x) | |
225 | + | let bj = if (((aQ.fee % 10) > 0)) | |
226 | + | then (bi - 27000) | |
227 | + | else (bi - 400) | |
228 | + | if ((0 >= bj)) | |
229 | + | then throw("Execute fail") | |
230 | + | else if ((lastBlock.generator == m)) | |
231 | + | then [ScriptTransfer(o, bi, j), IntegerEntry(((("mev_profit_" + k) + "_") + toString(lastBlock.timestamp)), bi), IntegerEntry(("mev_totalProfit_" + k), (r(("mev_totalProfit_" + k)) + bi))] | |
232 | + | else [ScriptTransfer(n, bi, j), IntegerEntry(((("profit_" + k) + "_") + toString(lastBlock.timestamp)), bi), IntegerEntry(("totalProfit_" + k), (r(("totalProfit_" + k)) + bi))] | |
233 | + | } | |
234 | + | else throw("Strict value is not equal to itself.") | |
235 | + | } | |
236 | + | else throw("Strict value is not equal to itself.") | |
237 | + | } | |
238 | + | else throw("Strict value is not equal to itself.") | |
239 | + | } | |
240 | + | } | |
241 | + | ||
242 | + |
github/deemru/w8io/6500d08 149.89 ms ◑