From 9d21f34dbbefb1476158065848faf35b7088a597 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Tue, 4 Jun 2024 21:51:24 -0400 Subject: [PATCH 01/22] add AstriaMintableERC20 --- .gitmodules | 3 + .../ethereum/lib/openzeppelin-contracts | 1 + .../ethereum/src/AstriaMintableERC20.sol | 62 +++++++++++++++++++ .../ethereum/src/IAstriaMintableERC20.sol | 8 +++ 4 files changed, 74 insertions(+) create mode 160000 crates/astria-bridge-withdrawer/ethereum/lib/openzeppelin-contracts create mode 100644 crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol create mode 100644 crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol diff --git a/.gitmodules b/.gitmodules index 41c5b6b731..db594c61b0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "crates/astria-bridge-withdrawer/ethereum/lib/forge-std"] path = crates/astria-bridge-withdrawer/ethereum/lib/forge-std url = https://github.com/foundry-rs/forge-std +[submodule "crates/astria-bridge-withdrawer/ethereum/lib/openzeppelin-contracts"] + path = crates/astria-bridge-withdrawer/ethereum/lib/openzeppelin-contracts + url = https://github.com/OpenZeppelin/openzeppelin-contracts diff --git a/crates/astria-bridge-withdrawer/ethereum/lib/openzeppelin-contracts b/crates/astria-bridge-withdrawer/ethereum/lib/openzeppelin-contracts new file mode 160000 index 0000000000..dbb6104ce8 --- /dev/null +++ b/crates/astria-bridge-withdrawer/ethereum/lib/openzeppelin-contracts @@ -0,0 +1 @@ +Subproject commit dbb6104ce834628e473d2173bbc9d47f81a9eec3 diff --git a/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol b/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol new file mode 100644 index 0000000000..ef0b97d425 --- /dev/null +++ b/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: MIT or Apache-2.0 +pragma solidity ^0.8.21; + +import {IAstriaMintableERC20} from "./IAstriaMintableERC20.sol"; +import {ERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"; + +contract AstriaMintableERC20 is IAstriaMintableERC20, ERC20 { + // the `astriaBridgeSenderAddress` built into the astria-geth node + address public immutable BRIDGE; + + // emitted when tokens are minted from a deposit + event Mint(address indexed account, uint256 amount); + + // emitted when a withdrawal to the sequencer is initiated + // + // the `sender` is the evm address that initiated the withdrawal + // the `destinationChainAddress` is the address on the sequencer the funds will be sent to + event SequencerWithdrawal(address indexed sender, uint256 indexed amount, address destinationChainAddress); + + // emitted when a withdrawal to the IBC origin chain is initiated. + // the withdrawal is sent to the origin chain via IBC from the sequencer using the denomination trace. + // + // the `sender` is the evm address that initiated the withdrawal + // the `destinationChainAddress` is the address on the origin chain the funds will be sent to + // the `memo` is an optional field that will be used as the ICS20 packet memo + event Ics20Withdrawal(address indexed sender, uint256 indexed amount, string destinationChainAddress, string memo); + + modifier onlyBridge() { + require(msg.sender == BRIDGE, "AstriaMintableERC20: only bridge can mint"); + _; + } + + constructor( + address _bridge, + string memory _name, + string memory _symbol + ) ERC20(_name, _symbol) { + BRIDGE = _bridge; + } + + function mint(address _to, uint256 _amount) + external + onlyBridge + { + _mint(_to, _amount); + emit Mint(_to, _amount); + } + + function withdrawToSequencer(uint256 _amount, address _destinationChainAddress) + external + { + _burn(msg.sender, _amount); + emit SequencerWithdrawal(msg.sender, _amount, _destinationChainAddress); + } + + function withdrawToIbcChain(uint256 _amount, string calldata _destinationChainAddress, string calldata _memo) + external + { + _burn(msg.sender, _amount); + emit Ics20Withdrawal(msg.sender, _amount, _destinationChainAddress, _memo); + } +} diff --git a/crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol b/crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol new file mode 100644 index 0000000000..0bf070084a --- /dev/null +++ b/crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: MIT or Apache-2.0 +pragma solidity ^0.8.21; + +interface IAstriaMintableERC20 { + function mint(address _to, uint256 _amount) external; + function withdrawToSequencer(uint256 _amount, address _destinationChainAddress) external; + function withdrawToIbcChain(uint256 _amount, string calldata _destinationChainAddress, string calldata _memo) external; +} From 2849e2b93afe71fddadd1b9ac384d92c45c9188a Mon Sep 17 00:00:00 2001 From: elizabeth Date: Tue, 4 Jun 2024 23:17:33 -0400 Subject: [PATCH 02/22] refactor contracts to use IAstriaWithdrawer interface; use build script for abigen files --- crates/astria-bridge-withdrawer/Cargo.toml | 3 +- crates/astria-bridge-withdrawer/build.rs | 26 + .../AstriaWithdrawer.json | 2 +- .../IAstriaWithdrawer.json | 1 + .../ethereum/src/AstriaMintableERC20.sol | 20 +- .../ethereum/src/AstriaWithdrawer.sol | 38 +- .../ethereum/src/IAstriaMintableERC20.sol | 8 - .../ethereum/src/IAstriaWithdrawer.sol | 26 + .../ethereum/astria_mintable_erc20.rs | 1905 +++++++++++++++++ .../withdrawer/ethereum/astria_withdrawer.rs | 518 ++++- .../ethereum/astria_withdrawer_interface.rs | 286 +++ .../src/withdrawer/ethereum/convert.rs | 4 +- .../src/withdrawer/ethereum/mod.rs | 9 +- .../src/withdrawer/ethereum/test_utils.rs | 28 +- .../src/withdrawer/ethereum/watcher.rs | 11 +- 15 files changed, 2798 insertions(+), 87 deletions(-) create mode 100644 crates/astria-bridge-withdrawer/ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json delete mode 100644 crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol create mode 100644 crates/astria-bridge-withdrawer/ethereum/src/IAstriaWithdrawer.sol create mode 100644 crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_mintable_erc20.rs create mode 100644 crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs diff --git a/crates/astria-bridge-withdrawer/Cargo.toml b/crates/astria-bridge-withdrawer/Cargo.toml index dc5ae377fe..3db38b708d 100644 --- a/crates/astria-bridge-withdrawer/Cargo.toml +++ b/crates/astria-bridge-withdrawer/Cargo.toml @@ -2,7 +2,7 @@ name = "astria-bridge-withdrawer" version = "0.1.0" edition = "2021" -rust-version = "1.73" +rust-version = "1.77.0" license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/astriaorg/astria" @@ -53,3 +53,4 @@ config = { package = "astria-config", path = "../astria-config", features = [ [build-dependencies] astria-build-info = { path = "../astria-build-info", features = ["build"] } +ethers = { workspace = true } diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index f35d2acb08..5cc6e54405 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -1,4 +1,30 @@ +use ethers::contract::Abigen; + fn main() -> Result<(), Box> { astria_build_info::emit("bridge-withdrawer-v")?; + + println!("cargo::rerun-if-changed=ethereum/src/AstriaWithdrawer.sol"); + println!("cargo::rerun-if-changed=ethereum/src/IAstriaWithdrawer.sol"); + println!("cargo::rerun-if-changed=ethereum/src/AstriaMintableERC20.sol"); + + Abigen::new( + "IAstriaWithdrawer", + "./ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json", + )? + .generate()? + .write_to_file("./src/withdrawer/ethereum/astria_withdrawer_interface.rs")?; + Abigen::new( + "AstriaWithdrawer", + "./ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json", + )? + .generate()? + .write_to_file("./src/withdrawer/ethereum/astria_withdrawer.rs")?; + Abigen::new( + "AstriaMintableERC20", + "./ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json", + )? + .generate()? + .write_to_file("./src/withdrawer/ethereum/astria_mintable_erc20.rs")?; + Ok(()) } diff --git a/crates/astria-bridge-withdrawer/ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json b/crates/astria-bridge-withdrawer/ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json index 301b7e31b7..a3891b7380 100644 --- a/crates/astria-bridge-withdrawer/ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json +++ b/crates/astria-bridge-withdrawer/ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"assetWithdrawalDecimals","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"withdrawToOriginChain","inputs":[{"name":"destinationChainAddress","type":"string","internalType":"string"},{"name":"memo","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdrawToSequencer","inputs":[{"name":"destinationChainAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Ics20Withdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"string","indexed":false,"internalType":"string"},{"name":"memo","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SequencerWithdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b5060405161033938038061033983398101604081905261002f9161003d565b63ffffffff1660805261006a565b60006020828403121561004f57600080fd5b815163ffffffff8116811461006357600080fd5b9392505050565b6080516102b56100846000396000604b01526102b56000f3fe6080604052600436106100345760003560e01c80638f2d8cb81461003957806391bd1dde146100865780639a977afe1461009b575b600080fd5b34801561004557600080fd5b5061006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200160405180910390f35b610099610094366004610188565b6100ae565b005b6100996100a93660046101f4565b6100fc565b34336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb868686866040516100ee949392919061024d565b60405180910390a350505050565b6040516001600160a01b0382168152349033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e39060200160405180910390a350565b60008083601f84011261015157600080fd5b50813567ffffffffffffffff81111561016957600080fd5b60208301915083602082850101111561018157600080fd5b9250929050565b6000806000806040858703121561019e57600080fd5b843567ffffffffffffffff808211156101b657600080fd5b6101c28883890161013f565b909650945060208701359150808211156101db57600080fd5b506101e88782880161013f565b95989497509550505050565b60006020828403121561020657600080fd5b81356001600160a01b038116811461021d57600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610261604083018688610224565b8281036020840152610274818587610224565b97965050505050505056fea2646970667358221220fb54f76c7c378faa43bf665ecd082a3e01d796dc93f29eb5ca90bc5aa066546964736f6c63430008150033","sourceMap":"251:1847:20:-:0;;;700:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;754:51;;;;251:1847;;14:280:21;83:6;136:2;124:9;115:7;111:23;107:32;104:52;;;152:1;149;142:12;104:52;184:9;178:16;234:10;227:5;223:22;216:5;213:33;203:61;;260:1;257;250:12;203:61;283:5;14:280;-1:-1:-1;;;14:280:21:o;:::-;251:1847:20;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100345760003560e01c80638f2d8cb81461003957806391bd1dde146100865780639a977afe1461009b575b600080fd5b34801561004557600080fd5b5061006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200160405180910390f35b610099610094366004610188565b6100ae565b005b6100996100a93660046101f4565b6100fc565b34336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb868686866040516100ee949392919061024d565b60405180910390a350505050565b6040516001600160a01b0382168152349033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e39060200160405180910390a350565b60008083601f84011261015157600080fd5b50813567ffffffffffffffff81111561016957600080fd5b60208301915083602082850101111561018157600080fd5b9250929050565b6000806000806040858703121561019e57600080fd5b843567ffffffffffffffff808211156101b657600080fd5b6101c28883890161013f565b909650945060208701359150808211156101db57600080fd5b506101e88782880161013f565b95989497509550505050565b60006020828403121561020657600080fd5b81356001600160a01b038116811461021d57600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610261604083018688610224565b8281036020840152610274818587610224565b97965050505050505056fea2646970667358221220fb54f76c7c378faa43bf665ecd082a3e01d796dc93f29eb5ca90bc5aa066546964736f6c63430008150033","sourceMap":"251:1847:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;644:49;;;;;;;;;;;;;;;;;;188:10:21;176:23;;;158:42;;146:2;131:18;644:49:20;;;;;;;1894:202;;;;;;:::i;:::-;;:::i;:::-;;1720:168;;;;;;:::i;:::-;;:::i;1894:202::-;2048:9;2036:10;-1:-1:-1;;;;;2020:69:20;;2059:23;;2084:4;;2020:69;;;;;;;;;:::i;:::-;;;;;;;;1894:202;;;;:::o;1720:168::-;1814:67;;-1:-1:-1;;;;;2459:32:21;;2441:51;;1846:9:20;;1834:10;;1814:67;;2429:2:21;2414:18;1814:67:20;;;;;;;1720:168;:::o;211:348:21:-;263:8;273:6;327:3;320:4;312:6;308:17;304:27;294:55;;345:1;342;335:12;294:55;-1:-1:-1;368:20:21;;411:18;400:30;;397:50;;;443:1;440;433:12;397:50;480:4;472:6;468:17;456:29;;532:3;525:4;516:6;508;504:19;500:30;497:39;494:59;;;549:1;546;539:12;494:59;211:348;;;;;:::o;564:721::-;656:6;664;672;680;733:2;721:9;712:7;708:23;704:32;701:52;;;749:1;746;739:12;701:52;789:9;776:23;818:18;859:2;851:6;848:14;845:34;;;875:1;872;865:12;845:34;914:59;965:7;956:6;945:9;941:22;914:59;:::i;:::-;992:8;;-1:-1:-1;888:85:21;-1:-1:-1;1080:2:21;1065:18;;1052:32;;-1:-1:-1;1096:16:21;;;1093:36;;;1125:1;1122;1115:12;1093:36;;1164:61;1217:7;1206:8;1195:9;1191:24;1164:61;:::i;:::-;564:721;;;;-1:-1:-1;1244:8:21;-1:-1:-1;;;;564:721:21:o;1290:286::-;1349:6;1402:2;1390:9;1381:7;1377:23;1373:32;1370:52;;;1418:1;1415;1408:12;1370:52;1444:23;;-1:-1:-1;;;;;1496:31:21;;1486:42;;1476:70;;1542:1;1539;1532:12;1476:70;1565:5;1290:286;-1:-1:-1;;;1290:286:21:o;1581:267::-;1670:6;1665:3;1658:19;1722:6;1715:5;1708:4;1703:3;1699:14;1686:43;-1:-1:-1;1774:1:21;1749:16;;;1767:4;1745:27;;;1738:38;;;;1830:2;1809:15;;;-1:-1:-1;;1805:29:21;1796:39;;;1792:50;;1581:267::o;1853:437::-;2070:2;2059:9;2052:21;2033:4;2096:62;2154:2;2143:9;2139:18;2131:6;2123;2096:62;:::i;:::-;2206:9;2198:6;2194:22;2189:2;2178:9;2174:18;2167:50;2234;2277:6;2269;2261;2234:50;:::i;:::-;2226:58;1853:437;-1:-1:-1;;;;;;;1853:437:21:o","linkReferences":{},"immutableReferences":{"43388":[{"start":75,"length":32}]}},"methodIdentifiers":{"ASSET_WITHDRAWAL_DECIMALS()":"8f2d8cb8","withdrawToOriginChain(string,string)":"91bd1dde","withdrawToSequencer(address)":"9a977afe"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"assetWithdrawalDecimals\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChainAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"Ics20Withdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destinationChainAddress\",\"type\":\"address\"}],\"name\":\"SequencerWithdrawal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_WITHDRAWAL_DECIMALS\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"destinationChainAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"withdrawToOriginChain\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destinationChainAddress\",\"type\":\"address\"}],\"name\":\"withdrawToSequencer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/AstriaWithdrawer.sol\":\"AstriaWithdrawer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/AstriaWithdrawer.sol\":{\"keccak256\":\"0xf96e20ce4dde2397d4a7887b1f9f7b9883517e9bbef80527cc8795f4342c15dd\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://e74ce43ac8eeadac876215cdd201ff55b7f1ee3575593472ae1c0594f3453abe\",\"dweb:/ipfs/Qmdj7SkdKVMoRhqTCJawjfWKgG5pyb55wZd933V18qJTnu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint32","name":"assetWithdrawalDecimals","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"string","name":"destinationChainAddress","type":"string","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false}],"type":"event","name":"Ics20Withdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"address","name":"destinationChainAddress","type":"address","indexed":false}],"type":"event","name":"SequencerWithdrawal","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"string","name":"destinationChainAddress","type":"string"},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"payable","type":"function","name":"withdrawToOriginChain"},{"inputs":[{"internalType":"address","name":"destinationChainAddress","type":"address"}],"stateMutability":"payable","type":"function","name":"withdrawToSequencer"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["forge-std/=lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/AstriaWithdrawer.sol":"AstriaWithdrawer"},"evmVersion":"paris","libraries":{}},"sources":{"src/AstriaWithdrawer.sol":{"keccak256":"0xf96e20ce4dde2397d4a7887b1f9f7b9883517e9bbef80527cc8795f4342c15dd","urls":["bzz-raw://e74ce43ac8eeadac876215cdd201ff55b7f1ee3575593472ae1c0594f3453abe","dweb:/ipfs/Qmdj7SkdKVMoRhqTCJawjfWKgG5pyb55wZd933V18qJTnu"],"license":"MIT or Apache-2.0"}},"version":1},"ast":{"absolutePath":"src/AstriaWithdrawer.sol","id":43449,"exportedSymbols":{"AstriaWithdrawer":[43448]},"nodeType":"SourceUnit","src":"46:2053:20","nodes":[{"id":43386,"nodeType":"PragmaDirective","src":"46:24:20","nodes":[],"literals":["solidity","^","0.8",".21"]},{"id":43448,"nodeType":"ContractDefinition","src":"251:1847:20","nodes":[{"id":43388,"nodeType":"VariableDeclaration","src":"644:49:20","nodes":[],"constant":false,"functionSelector":"8f2d8cb8","mutability":"immutable","name":"ASSET_WITHDRAWAL_DECIMALS","nameLocation":"668:25:20","scope":43448,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":43387,"name":"uint32","nodeType":"ElementaryTypeName","src":"644:6:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"public"},{"id":43398,"nodeType":"FunctionDefinition","src":"700:112:20","nodes":[],"body":{"id":43397,"nodeType":"Block","src":"744:68:20","nodes":[],"statements":[{"expression":{"id":43395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43393,"name":"ASSET_WITHDRAWAL_DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43388,"src":"754:25:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43394,"name":"assetWithdrawalDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43390,"src":"782:23:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"754:51:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":43396,"nodeType":"ExpressionStatement","src":"754:51:20"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":43391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43390,"mutability":"mutable","name":"assetWithdrawalDecimals","nameLocation":"719:23:20","nodeType":"VariableDeclaration","scope":43398,"src":"712:30:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":43389,"name":"uint32","nodeType":"ElementaryTypeName","src":"712:6:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"711:32:20"},"returnParameters":{"id":43392,"nodeType":"ParameterList","parameters":[],"src":"744:0:20"},"scope":43448,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":43406,"nodeType":"EventDefinition","src":"1052:107:20","nodes":[],"anonymous":false,"eventSelector":"ae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e3","name":"SequencerWithdrawal","nameLocation":"1058:19:20","parameters":{"id":43405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43400,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1094:6:20","nodeType":"VariableDeclaration","scope":43406,"src":"1078:22:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43399,"name":"address","nodeType":"ElementaryTypeName","src":"1078:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43402,"indexed":true,"mutability":"mutable","name":"amount","nameLocation":"1118:6:20","nodeType":"VariableDeclaration","scope":43406,"src":"1102:22:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43401,"name":"uint256","nodeType":"ElementaryTypeName","src":"1102:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43404,"indexed":false,"mutability":"mutable","name":"destinationChainAddress","nameLocation":"1134:23:20","nodeType":"VariableDeclaration","scope":43406,"src":"1126:31:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43403,"name":"address","nodeType":"ElementaryTypeName","src":"1126:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1077:81:20"}},{"id":43416,"nodeType":"EventDefinition","src":"1595:115:20","nodes":[],"anonymous":false,"eventSelector":"0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb","name":"Ics20Withdrawal","nameLocation":"1601:15:20","parameters":{"id":43415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43408,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1633:6:20","nodeType":"VariableDeclaration","scope":43416,"src":"1617:22:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43407,"name":"address","nodeType":"ElementaryTypeName","src":"1617:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43410,"indexed":true,"mutability":"mutable","name":"amount","nameLocation":"1657:6:20","nodeType":"VariableDeclaration","scope":43416,"src":"1641:22:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43409,"name":"uint256","nodeType":"ElementaryTypeName","src":"1641:7:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43412,"indexed":false,"mutability":"mutable","name":"destinationChainAddress","nameLocation":"1672:23:20","nodeType":"VariableDeclaration","scope":43416,"src":"1665:30:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43411,"name":"string","nodeType":"ElementaryTypeName","src":"1665:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43414,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"1704:4:20","nodeType":"VariableDeclaration","scope":43416,"src":"1697:11:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43413,"name":"string","nodeType":"ElementaryTypeName","src":"1697:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1616:93:20"}},{"id":43430,"nodeType":"FunctionDefinition","src":"1720:168:20","nodes":[],"body":{"id":43429,"nodeType":"Block","src":"1799:89:20","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":43422,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1834:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1838:6:20","memberName":"sender","nodeType":"MemberAccess","src":"1834:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":43424,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1846:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1850:5:20","memberName":"value","nodeType":"MemberAccess","src":"1846:9:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43426,"name":"destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43418,"src":"1857:23:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":43421,"name":"SequencerWithdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43406,"src":"1814:19:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":43427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1814:67:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43428,"nodeType":"EmitStatement","src":"1809:72:20"}]},"functionSelector":"9a977afe","implemented":true,"kind":"function","modifiers":[],"name":"withdrawToSequencer","nameLocation":"1729:19:20","parameters":{"id":43419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43418,"mutability":"mutable","name":"destinationChainAddress","nameLocation":"1757:23:20","nodeType":"VariableDeclaration","scope":43430,"src":"1749:31:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43417,"name":"address","nodeType":"ElementaryTypeName","src":"1749:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1748:33:20"},"returnParameters":{"id":43420,"nodeType":"ParameterList","parameters":[],"src":"1799:0:20"},"scope":43448,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":43447,"nodeType":"FunctionDefinition","src":"1894:202:20","nodes":[],"body":{"id":43446,"nodeType":"Block","src":"2005:91:20","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":43438,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2036:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2040:6:20","memberName":"sender","nodeType":"MemberAccess","src":"2036:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":43440,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2048:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2052:5:20","memberName":"value","nodeType":"MemberAccess","src":"2048:9:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43442,"name":"destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43432,"src":"2059:23:20","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":43443,"name":"memo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43434,"src":"2084:4:20","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":43437,"name":"Ics20Withdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43416,"src":"2020:15:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,string memory,string memory)"}},"id":43444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2020:69:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43445,"nodeType":"EmitStatement","src":"2015:74:20"}]},"functionSelector":"91bd1dde","implemented":true,"kind":"function","modifiers":[],"name":"withdrawToOriginChain","nameLocation":"1903:21:20","parameters":{"id":43435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43432,"mutability":"mutable","name":"destinationChainAddress","nameLocation":"1941:23:20","nodeType":"VariableDeclaration","scope":43447,"src":"1925:39:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43431,"name":"string","nodeType":"ElementaryTypeName","src":"1925:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43434,"mutability":"mutable","name":"memo","nameLocation":"1982:4:20","nodeType":"VariableDeclaration","scope":43447,"src":"1966:20:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43433,"name":"string","nodeType":"ElementaryTypeName","src":"1966:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1924:63:20"},"returnParameters":{"id":43436,"nodeType":"ParameterList","parameters":[],"src":"2005:0:20"},"scope":43448,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"AstriaWithdrawer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[43448],"name":"AstriaWithdrawer","nameLocation":"260:16:20","scope":43449,"usedErrors":[],"usedEvents":[43406,43416]}],"license":"MIT or Apache-2.0"},"id":20} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_assetWithdrawalDecimals","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"withdrawToOriginChain","inputs":[{"name":"_destinationChainAddress","type":"string","internalType":"string"},{"name":"_memo","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdrawToSequencer","inputs":[{"name":"_destinationChainAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"Ics20Withdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"string","indexed":false,"internalType":"string"},{"name":"memo","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SequencerWithdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b5060405161033938038061033983398101604081905261002f9161003d565b63ffffffff1660805261006a565b60006020828403121561004f57600080fd5b815163ffffffff8116811461006357600080fd5b9392505050565b6080516102b56100846000396000604b01526102b56000f3fe6080604052600436106100345760003560e01c80638f2d8cb81461003957806391bd1dde146100865780639a977afe1461009b575b600080fd5b34801561004557600080fd5b5061006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200160405180910390f35b610099610094366004610188565b6100ae565b005b6100996100a93660046101f4565b6100fc565b34336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb868686866040516100ee949392919061024d565b60405180910390a350505050565b6040516001600160a01b0382168152349033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e39060200160405180910390a350565b60008083601f84011261015157600080fd5b50813567ffffffffffffffff81111561016957600080fd5b60208301915083602082850101111561018157600080fd5b9250929050565b6000806000806040858703121561019e57600080fd5b843567ffffffffffffffff808211156101b657600080fd5b6101c28883890161013f565b909650945060208701359150808211156101db57600080fd5b506101e88782880161013f565b95989497509550505050565b60006020828403121561020657600080fd5b81356001600160a01b038116811461021d57600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610261604083018688610224565b8281036020840152610274818587610224565b97965050505050505056fea2646970667358221220223b3349e5b30296601502d8cadec563676a22dc1752db90a362cc6e6174866864736f6c63430008150033","sourceMap":"311:557:20:-:0;;;364:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;419:52;;;;311:557;;14:280:22;83:6;136:2;124:9;115:7;111:23;107:32;104:52;;;152:1;149;142:12;104:52;184:9;178:16;234:10;227:5;223:22;216:5;213:33;203:61;;260:1;257;250:12;203:61;283:5;14:280;-1:-1:-1;;;14:280:22:o;:::-;311:557:20;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100345760003560e01c80638f2d8cb81461003957806391bd1dde146100865780639a977afe1461009b575b600080fd5b34801561004557600080fd5b5061006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200160405180910390f35b610099610094366004610188565b6100ae565b005b6100996100a93660046101f4565b6100fc565b34336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb868686866040516100ee949392919061024d565b60405180910390a350505050565b6040516001600160a01b0382168152349033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e39060200160405180910390a350565b60008083601f84011261015157600080fd5b50813567ffffffffffffffff81111561016957600080fd5b60208301915083602082850101111561018157600080fd5b9250929050565b6000806000806040858703121561019e57600080fd5b843567ffffffffffffffff808211156101b657600080fd5b6101c28883890161013f565b909650945060208701359150808211156101db57600080fd5b506101e88782880161013f565b95989497509550505050565b60006020828403121561020657600080fd5b81356001600160a01b038116811461021d57600080fd5b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610261604083018688610224565b8281036020840152610274818587610224565b97965050505050505056fea2646970667358221220223b3349e5b30296601502d8cadec563676a22dc1752db90a362cc6e6174866864736f6c63430008150033","sourceMap":"311:557:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;475:49:21;;;;;;;;;;;;;;;;;;188:10:22;176:23;;;158:42;;146:2;131:18;475:49:21;;;;;;;660:206:20;;;;;;:::i;:::-;;:::i;:::-;;484:170;;;;;;:::i;:::-;;:::i;660:206::-;816:9;804:10;-1:-1:-1;;;;;788:71:20;;827:24;;853:5;;788:71;;;;;;;;;:::i;:::-;;;;;;;;660:206;;;;:::o;484:170::-;579:68;;-1:-1:-1;;;;;2459:32:22;;2441:51;;611:9:20;;599:10;;579:68;;2429:2:22;2414:18;579:68:20;;;;;;;484:170;:::o;211:348:22:-;263:8;273:6;327:3;320:4;312:6;308:17;304:27;294:55;;345:1;342;335:12;294:55;-1:-1:-1;368:20:22;;411:18;400:30;;397:50;;;443:1;440;433:12;397:50;480:4;472:6;468:17;456:29;;532:3;525:4;516:6;508;504:19;500:30;497:39;494:59;;;549:1;546;539:12;494:59;211:348;;;;;:::o;564:721::-;656:6;664;672;680;733:2;721:9;712:7;708:23;704:32;701:52;;;749:1;746;739:12;701:52;789:9;776:23;818:18;859:2;851:6;848:14;845:34;;;875:1;872;865:12;845:34;914:59;965:7;956:6;945:9;941:22;914:59;:::i;:::-;992:8;;-1:-1:-1;888:85:22;-1:-1:-1;1080:2:22;1065:18;;1052:32;;-1:-1:-1;1096:16:22;;;1093:36;;;1125:1;1122;1115:12;1093:36;;1164:61;1217:7;1206:8;1195:9;1191:24;1164:61;:::i;:::-;564:721;;;;-1:-1:-1;1244:8:22;-1:-1:-1;;;;564:721:22:o;1290:286::-;1349:6;1402:2;1390:9;1381:7;1377:23;1373:32;1370:52;;;1418:1;1415;1408:12;1370:52;1444:23;;-1:-1:-1;;;;;1496:31:22;;1486:42;;1476:70;;1542:1;1539;1532:12;1476:70;1565:5;1290:286;-1:-1:-1;;;1290:286:22:o;1581:267::-;1670:6;1665:3;1658:19;1722:6;1715:5;1708:4;1703:3;1699:14;1686:43;-1:-1:-1;1774:1:22;1749:16;;;1767:4;1745:27;;;1738:38;;;;1830:2;1809:15;;;-1:-1:-1;;1805:29:22;1796:39;;;1792:50;;1581:267::o;1853:437::-;2070:2;2059:9;2052:21;2033:4;2096:62;2154:2;2143:9;2139:18;2131:6;2123;2096:62;:::i;:::-;2206:9;2198:6;2194:22;2189:2;2178:9;2174:18;2167:50;2234;2277:6;2269;2261;2234:50;:::i;:::-;2226:58;1853:437;-1:-1:-1;;;;;;;1853:437:22:o","linkReferences":{},"immutableReferences":{"43436":[{"start":75,"length":32}]}},"methodIdentifiers":{"ASSET_WITHDRAWAL_DECIMALS()":"8f2d8cb8","withdrawToOriginChain(string,string)":"91bd1dde","withdrawToSequencer(address)":"9a977afe"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_assetWithdrawalDecimals\",\"type\":\"uint32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChainAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"Ics20Withdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destinationChainAddress\",\"type\":\"address\"}],\"name\":\"SequencerWithdrawal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_WITHDRAWAL_DECIMALS\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_destinationChainAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_memo\",\"type\":\"string\"}],\"name\":\"withdrawToOriginChain\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_destinationChainAddress\",\"type\":\"address\"}],\"name\":\"withdrawToSequencer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/AstriaWithdrawer.sol\":\"AstriaWithdrawer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/AstriaWithdrawer.sol\":{\"keccak256\":\"0x0f71085e6d2d2f7da34359f6d2fa1053444f763d9f78733b70b1d6a67e5b5d3b\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://31e22bd0a1bb7553c4810d561c21e7158b12ced71830ac3e8bf15f680355e771\",\"dweb:/ipfs/QmPzNUepFrarvDE6AEDuty8pboYCRe8aHsWBsc43ZKCoJE\"]},\"src/IAstriaWithdrawer.sol\":{\"keccak256\":\"0x56ef63c0a56b85a526ca9b2438715b2e4653df3ca788813578ac442460e36de2\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://2342adaa811db78f941b166f4688bacef5ea43d813af414c82f8a0c624fd39f5\",\"dweb:/ipfs/QmTDEqyv3C7ts6jgWcAjiZzPCcL7qGkacHYtZeUia9Fdv3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint32","name":"_assetWithdrawalDecimals","type":"uint32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"string","name":"destinationChainAddress","type":"string","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false}],"type":"event","name":"Ics20Withdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"address","name":"destinationChainAddress","type":"address","indexed":false}],"type":"event","name":"SequencerWithdrawal","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"string","name":"_destinationChainAddress","type":"string"},{"internalType":"string","name":"_memo","type":"string"}],"stateMutability":"payable","type":"function","name":"withdrawToOriginChain"},{"inputs":[{"internalType":"address","name":"_destinationChainAddress","type":"address"}],"stateMutability":"payable","type":"function","name":"withdrawToSequencer"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/AstriaWithdrawer.sol":"AstriaWithdrawer"},"evmVersion":"paris","libraries":{}},"sources":{"src/AstriaWithdrawer.sol":{"keccak256":"0x0f71085e6d2d2f7da34359f6d2fa1053444f763d9f78733b70b1d6a67e5b5d3b","urls":["bzz-raw://31e22bd0a1bb7553c4810d561c21e7158b12ced71830ac3e8bf15f680355e771","dweb:/ipfs/QmPzNUepFrarvDE6AEDuty8pboYCRe8aHsWBsc43ZKCoJE"],"license":"MIT or Apache-2.0"},"src/IAstriaWithdrawer.sol":{"keccak256":"0x56ef63c0a56b85a526ca9b2438715b2e4653df3ca788813578ac442460e36de2","urls":["bzz-raw://2342adaa811db78f941b166f4688bacef5ea43d813af414c82f8a0c624fd39f5","dweb:/ipfs/QmTDEqyv3C7ts6jgWcAjiZzPCcL7qGkacHYtZeUia9Fdv3"],"license":"MIT or Apache-2.0"}},"version":1},"ast":{"absolutePath":"src/AstriaWithdrawer.sol","id":43433,"exportedSymbols":{"AstriaWithdrawer":[43432],"IAstriaWithdrawer":[43455]},"nodeType":"SourceUnit","src":"46:823:20","nodes":[{"id":43386,"nodeType":"PragmaDirective","src":"46:24:20","nodes":[],"literals":["solidity","^","0.8",".21"]},{"id":43388,"nodeType":"ImportDirective","src":"72:58:20","nodes":[],"absolutePath":"src/IAstriaWithdrawer.sol","file":"./IAstriaWithdrawer.sol","nameLocation":"-1:-1:-1","scope":43433,"sourceUnit":43456,"symbolAliases":[{"foreign":{"id":43387,"name":"IAstriaWithdrawer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43455,"src":"80:17:20","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43432,"nodeType":"ContractDefinition","src":"311:557:20","nodes":[{"id":43400,"nodeType":"FunctionDefinition","src":"364:114:20","nodes":[],"body":{"id":43399,"nodeType":"Block","src":"409:69:20","nodes":[],"statements":[{"expression":{"id":43397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":43395,"name":"ASSET_WITHDRAWAL_DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43436,"src":"419:25:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":43396,"name":"_assetWithdrawalDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43392,"src":"447:24:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"419:52:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":43398,"nodeType":"ExpressionStatement","src":"419:52:20"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":43393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43392,"mutability":"mutable","name":"_assetWithdrawalDecimals","nameLocation":"383:24:20","nodeType":"VariableDeclaration","scope":43400,"src":"376:31:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":43391,"name":"uint32","nodeType":"ElementaryTypeName","src":"376:6:20","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"375:33:20"},"returnParameters":{"id":43394,"nodeType":"ParameterList","parameters":[],"src":"409:0:20"},"scope":43432,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":43414,"nodeType":"FunctionDefinition","src":"484:170:20","nodes":[],"body":{"id":43413,"nodeType":"Block","src":"564:90:20","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":43406,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"599:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"603:6:20","memberName":"sender","nodeType":"MemberAccess","src":"599:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":43408,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"611:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"615:5:20","memberName":"value","nodeType":"MemberAccess","src":"611:9:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43410,"name":"_destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43402,"src":"622:24:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":43405,"name":"SequencerWithdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43444,"src":"579:19:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":43411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"579:68:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43412,"nodeType":"EmitStatement","src":"574:73:20"}]},"functionSelector":"9a977afe","implemented":true,"kind":"function","modifiers":[],"name":"withdrawToSequencer","nameLocation":"493:19:20","parameters":{"id":43403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43402,"mutability":"mutable","name":"_destinationChainAddress","nameLocation":"521:24:20","nodeType":"VariableDeclaration","scope":43414,"src":"513:32:20","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43401,"name":"address","nodeType":"ElementaryTypeName","src":"513:7:20","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"512:34:20"},"returnParameters":{"id":43404,"nodeType":"ParameterList","parameters":[],"src":"564:0:20"},"scope":43432,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":43431,"nodeType":"FunctionDefinition","src":"660:206:20","nodes":[],"body":{"id":43430,"nodeType":"Block","src":"773:93:20","nodes":[],"statements":[{"eventCall":{"arguments":[{"expression":{"id":43422,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"804:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"808:6:20","memberName":"sender","nodeType":"MemberAccess","src":"804:10:20","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":43424,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"816:3:20","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":43425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"820:5:20","memberName":"value","nodeType":"MemberAccess","src":"816:9:20","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43426,"name":"_destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43416,"src":"827:24:20","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":43427,"name":"_memo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43418,"src":"853:5:20","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":43421,"name":"Ics20Withdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43454,"src":"788:15:20","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,string memory,string memory)"}},"id":43428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"788:71:20","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43429,"nodeType":"EmitStatement","src":"783:76:20"}]},"functionSelector":"91bd1dde","implemented":true,"kind":"function","modifiers":[],"name":"withdrawToOriginChain","nameLocation":"669:21:20","parameters":{"id":43419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43416,"mutability":"mutable","name":"_destinationChainAddress","nameLocation":"707:24:20","nodeType":"VariableDeclaration","scope":43431,"src":"691:40:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43415,"name":"string","nodeType":"ElementaryTypeName","src":"691:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43418,"mutability":"mutable","name":"_memo","nameLocation":"749:5:20","nodeType":"VariableDeclaration","scope":43431,"src":"733:21:20","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43417,"name":"string","nodeType":"ElementaryTypeName","src":"733:6:20","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"690:65:20"},"returnParameters":{"id":43420,"nodeType":"ParameterList","parameters":[],"src":"773:0:20"},"scope":43432,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":43389,"name":"IAstriaWithdrawer","nameLocations":["340:17:20"],"nodeType":"IdentifierPath","referencedDeclaration":43455,"src":"340:17:20"},"id":43390,"nodeType":"InheritanceSpecifier","src":"340:17:20"}],"canonicalName":"AstriaWithdrawer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[43432,43455],"name":"AstriaWithdrawer","nameLocation":"320:16:20","scope":43433,"usedErrors":[],"usedEvents":[43444,43454]}],"license":"MIT or Apache-2.0"},"id":20} \ No newline at end of file diff --git a/crates/astria-bridge-withdrawer/ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json b/crates/astria-bridge-withdrawer/ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json new file mode 100644 index 0000000000..375b075f1c --- /dev/null +++ b/crates/astria-bridge-withdrawer/ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"event","name":"Ics20Withdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"string","indexed":false,"internalType":"string"},{"name":"memo","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SequencerWithdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"ASSET_WITHDRAWAL_DECIMALS()":"8f2d8cb8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChainAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"Ics20Withdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destinationChainAddress\",\"type\":\"address\"}],\"name\":\"SequencerWithdrawal\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_WITHDRAWAL_DECIMALS\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/IAstriaWithdrawer.sol\":\"IAstriaWithdrawer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/IAstriaWithdrawer.sol\":{\"keccak256\":\"0x56ef63c0a56b85a526ca9b2438715b2e4653df3ca788813578ac442460e36de2\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://2342adaa811db78f941b166f4688bacef5ea43d813af414c82f8a0c624fd39f5\",\"dweb:/ipfs/QmTDEqyv3C7ts6jgWcAjiZzPCcL7qGkacHYtZeUia9Fdv3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"string","name":"destinationChainAddress","type":"string","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false}],"type":"event","name":"Ics20Withdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"address","name":"destinationChainAddress","type":"address","indexed":false}],"type":"event","name":"SequencerWithdrawal","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/IAstriaWithdrawer.sol":"IAstriaWithdrawer"},"evmVersion":"paris","libraries":{}},"sources":{"src/IAstriaWithdrawer.sol":{"keccak256":"0x56ef63c0a56b85a526ca9b2438715b2e4653df3ca788813578ac442460e36de2","urls":["bzz-raw://2342adaa811db78f941b166f4688bacef5ea43d813af414c82f8a0c624fd39f5","dweb:/ipfs/QmTDEqyv3C7ts6jgWcAjiZzPCcL7qGkacHYtZeUia9Fdv3"],"license":"MIT or Apache-2.0"}},"version":1},"ast":{"absolutePath":"src/IAstriaWithdrawer.sol","id":44356,"exportedSymbols":{"IAstriaWithdrawer":[44355]},"nodeType":"SourceUnit","src":"46:1384:27","nodes":[{"id":44334,"nodeType":"PragmaDirective","src":"46:24:27","nodes":[],"literals":["solidity","^","0.8",".21"]},{"id":44355,"nodeType":"ContractDefinition","src":"72:1357:27","nodes":[{"id":44336,"nodeType":"VariableDeclaration","src":"475:49:27","nodes":[],"constant":false,"functionSelector":"8f2d8cb8","mutability":"immutable","name":"ASSET_WITHDRAWAL_DECIMALS","nameLocation":"499:25:27","scope":44355,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":44335,"name":"uint32","nodeType":"ElementaryTypeName","src":"475:6:27","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"public"},{"id":44344,"nodeType":"EventDefinition","src":"765:107:27","nodes":[],"anonymous":false,"eventSelector":"ae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e3","name":"SequencerWithdrawal","nameLocation":"771:19:27","parameters":{"id":44343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44338,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"807:6:27","nodeType":"VariableDeclaration","scope":44344,"src":"791:22:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44337,"name":"address","nodeType":"ElementaryTypeName","src":"791:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44340,"indexed":true,"mutability":"mutable","name":"amount","nameLocation":"831:6:27","nodeType":"VariableDeclaration","scope":44344,"src":"815:22:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44339,"name":"uint256","nodeType":"ElementaryTypeName","src":"815:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44342,"indexed":false,"mutability":"mutable","name":"destinationChainAddress","nameLocation":"847:23:27","nodeType":"VariableDeclaration","scope":44344,"src":"839:31:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44341,"name":"address","nodeType":"ElementaryTypeName","src":"839:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"790:81:27"}},{"id":44354,"nodeType":"EventDefinition","src":"1312:115:27","nodes":[],"anonymous":false,"eventSelector":"0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb","name":"Ics20Withdrawal","nameLocation":"1318:15:27","parameters":{"id":44353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44346,"indexed":true,"mutability":"mutable","name":"sender","nameLocation":"1350:6:27","nodeType":"VariableDeclaration","scope":44354,"src":"1334:22:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44345,"name":"address","nodeType":"ElementaryTypeName","src":"1334:7:27","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44348,"indexed":true,"mutability":"mutable","name":"amount","nameLocation":"1374:6:27","nodeType":"VariableDeclaration","scope":44354,"src":"1358:22:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44347,"name":"uint256","nodeType":"ElementaryTypeName","src":"1358:7:27","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44350,"indexed":false,"mutability":"mutable","name":"destinationChainAddress","nameLocation":"1389:23:27","nodeType":"VariableDeclaration","scope":44354,"src":"1382:30:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44349,"name":"string","nodeType":"ElementaryTypeName","src":"1382:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44352,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"1421:4:27","nodeType":"VariableDeclaration","scope":44354,"src":"1414:11:27","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44351,"name":"string","nodeType":"ElementaryTypeName","src":"1414:6:27","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1333:93:27"}}],"abstract":true,"baseContracts":[],"canonicalName":"IAstriaWithdrawer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[44355],"name":"IAstriaWithdrawer","nameLocation":"90:17:27","scope":44356,"usedErrors":[],"usedEvents":[44344,44354]}],"license":"MIT or Apache-2.0"},"id":27} \ No newline at end of file diff --git a/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol b/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol index ef0b97d425..0202bf81de 100644 --- a/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol +++ b/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol @@ -1,30 +1,16 @@ // SPDX-License-Identifier: MIT or Apache-2.0 pragma solidity ^0.8.21; -import {IAstriaMintableERC20} from "./IAstriaMintableERC20.sol"; +import {IAstriaWithdrawer} from "./IAstriaWithdrawer.sol"; import {ERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"; -contract AstriaMintableERC20 is IAstriaMintableERC20, ERC20 { +contract AstriaMintableERC20 is IAstriaWithdrawer, ERC20 { // the `astriaBridgeSenderAddress` built into the astria-geth node address public immutable BRIDGE; // emitted when tokens are minted from a deposit event Mint(address indexed account, uint256 amount); - // emitted when a withdrawal to the sequencer is initiated - // - // the `sender` is the evm address that initiated the withdrawal - // the `destinationChainAddress` is the address on the sequencer the funds will be sent to - event SequencerWithdrawal(address indexed sender, uint256 indexed amount, address destinationChainAddress); - - // emitted when a withdrawal to the IBC origin chain is initiated. - // the withdrawal is sent to the origin chain via IBC from the sequencer using the denomination trace. - // - // the `sender` is the evm address that initiated the withdrawal - // the `destinationChainAddress` is the address on the origin chain the funds will be sent to - // the `memo` is an optional field that will be used as the ICS20 packet memo - event Ics20Withdrawal(address indexed sender, uint256 indexed amount, string destinationChainAddress, string memo); - modifier onlyBridge() { require(msg.sender == BRIDGE, "AstriaMintableERC20: only bridge can mint"); _; @@ -32,10 +18,12 @@ contract AstriaMintableERC20 is IAstriaMintableERC20, ERC20 { constructor( address _bridge, + uint32 _assetWithdrawalDecimals, string memory _name, string memory _symbol ) ERC20(_name, _symbol) { BRIDGE = _bridge; + ASSET_WITHDRAWAL_DECIMALS = _assetWithdrawalDecimals; } function mint(address _to, uint256 _amount) diff --git a/crates/astria-bridge-withdrawer/ethereum/src/AstriaWithdrawer.sol b/crates/astria-bridge-withdrawer/ethereum/src/AstriaWithdrawer.sol index ea260b0877..b0cd939eb6 100644 --- a/crates/astria-bridge-withdrawer/ethereum/src/AstriaWithdrawer.sol +++ b/crates/astria-bridge-withdrawer/ethereum/src/AstriaWithdrawer.sol @@ -1,41 +1,21 @@ // SPDX-License-Identifier: MIT or Apache-2.0 pragma solidity ^0.8.21; +import {IAstriaWithdrawer} from "./IAstriaWithdrawer.sol"; + // This contract facilitates withdrawals of the native asset from the rollup to the base chain. // // Funds can be withdrawn to either the sequencer or the origin chain via IBC. -contract AstriaWithdrawer { - // the number of decimal places more the asset has on the rollup versus the base chain. - // - // the amount transferred on the base chain will be divided by 10^ASSET_WITHDRAWAL_DECIMALS. - // - // for example, if the rollup specifies the asset has 18 decimal places and the base chain specifies 6, - // the ASSET_WITHDRAWAL_DECIMALS would be 12. - uint32 public immutable ASSET_WITHDRAWAL_DECIMALS; - - constructor(uint32 assetWithdrawalDecimals) { - ASSET_WITHDRAWAL_DECIMALS = assetWithdrawalDecimals; +contract AstriaWithdrawer is IAstriaWithdrawer { + constructor(uint32 _assetWithdrawalDecimals) { + ASSET_WITHDRAWAL_DECIMALS = _assetWithdrawalDecimals; } - // emitted when a withdrawal to the sequencer is initiated - // - // the `sender` is the evm address that initiated the withdrawal - // the `destinationChainAddress` is the address on the sequencer the funds will be sent to - event SequencerWithdrawal(address indexed sender, uint256 indexed amount, address destinationChainAddress); - - // emitted when a withdrawal to the origin chain is initiated. - // the withdrawal is sent to the origin chain via IBC from the sequencer using the denomination trace. - // - // the `sender` is the evm address that initiated the withdrawal - // the `destinationChainAddress` is the address on the origin chain the funds will be sent to - // the `memo` is an optional field that will be used as the ICS20 packet memo - event Ics20Withdrawal(address indexed sender, uint256 indexed amount, string destinationChainAddress, string memo); - - function withdrawToSequencer(address destinationChainAddress) external payable { - emit SequencerWithdrawal(msg.sender, msg.value, destinationChainAddress); + function withdrawToSequencer(address _destinationChainAddress) external payable { + emit SequencerWithdrawal(msg.sender, msg.value, _destinationChainAddress); } - function withdrawToOriginChain(string calldata destinationChainAddress, string calldata memo) external payable { - emit Ics20Withdrawal(msg.sender, msg.value, destinationChainAddress, memo); + function withdrawToOriginChain(string calldata _destinationChainAddress, string calldata _memo) external payable { + emit Ics20Withdrawal(msg.sender, msg.value, _destinationChainAddress, _memo); } } diff --git a/crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol b/crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol deleted file mode 100644 index 0bf070084a..0000000000 --- a/crates/astria-bridge-withdrawer/ethereum/src/IAstriaMintableERC20.sol +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: MIT or Apache-2.0 -pragma solidity ^0.8.21; - -interface IAstriaMintableERC20 { - function mint(address _to, uint256 _amount) external; - function withdrawToSequencer(uint256 _amount, address _destinationChainAddress) external; - function withdrawToIbcChain(uint256 _amount, string calldata _destinationChainAddress, string calldata _memo) external; -} diff --git a/crates/astria-bridge-withdrawer/ethereum/src/IAstriaWithdrawer.sol b/crates/astria-bridge-withdrawer/ethereum/src/IAstriaWithdrawer.sol new file mode 100644 index 0000000000..80afbc6589 --- /dev/null +++ b/crates/astria-bridge-withdrawer/ethereum/src/IAstriaWithdrawer.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: MIT or Apache-2.0 +pragma solidity ^0.8.21; + +abstract contract IAstriaWithdrawer { + // the number of decimal places more the asset has on the rollup versus the base chain. + // + // the amount transferred on the base chain will be divided by 10^ASSET_WITHDRAWAL_DECIMALS. + // + // for example, if the rollup specifies the asset has 18 decimal places and the base chain specifies 6, + // the ASSET_WITHDRAWAL_DECIMALS would be 12. + uint32 public immutable ASSET_WITHDRAWAL_DECIMALS; + + // emitted when a withdrawal to the sequencer is initiated + // + // the `sender` is the evm address that initiated the withdrawal + // the `destinationChainAddress` is the address on the sequencer the funds will be sent to + event SequencerWithdrawal(address indexed sender, uint256 indexed amount, address destinationChainAddress); + + // emitted when a withdrawal to the IBC origin chain is initiated. + // the withdrawal is sent to the origin chain via IBC from the sequencer using the denomination trace. + // + // the `sender` is the evm address that initiated the withdrawal + // the `destinationChainAddress` is the address on the origin chain the funds will be sent to + // the `memo` is an optional field that will be used as the ICS20 packet memo + event Ics20Withdrawal(address indexed sender, uint256 indexed amount, string destinationChainAddress, string memo); +} diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_mintable_erc20.rs new file mode 100644 index 0000000000..ea4827df77 --- /dev/null +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_mintable_erc20.rs @@ -0,0 +1,1905 @@ +pub use astria_mintable_erc20::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types +)] +pub mod astria_mintable_erc20 { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_bridge"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_name"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_symbol"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("BRIDGE"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("allowance"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("approve"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("balanceOf"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("decimals"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("mint"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("name"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("symbol"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("totalSupply"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("transfer"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("transferFrom"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Approval"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("Mint"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("Transfer"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], + ), + ]), + errors: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], + ), + ( + ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], + ), + ( + ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], + ), + ( + ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], + ), + ( + ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], + ), + ( + ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], + ), + ]), + receive: false, + fallback: false, + } + } + /// The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0E\xCA8\x03\x80b\0\x0E\xCA\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01:V[\x81\x81`\x03b\0\0D\x83\x82b\0\x02qV[P`\x04b\0\0S\x82\x82b\0\x02qV[PPP`\x01`\x01`\xA0\x1B\x03\x90\x93\x16`\xA0RPc\xFF\xFF\xFF\xFF\x16`\x80RPb\0\x03=V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x9DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xBAWb\0\0\xBAb\0\0uV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xE5Wb\0\0\xE5b\0\0uV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\x02W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01&W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\x07V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01QW`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01iW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x01\x84W`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\xA2W`\0\x80\xFD[b\0\x01\xB0\x88\x83\x89\x01b\0\0\x8BV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x01\xC7W`\0\x80\xFD[Pb\0\x01\xD6\x87\x82\x88\x01b\0\0\x8BV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xF7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x18WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02lW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02GWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02hW\x82\x81U`\x01\x01b\0\x02SV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02\x8DWb\0\x02\x8Db\0\0uV[b\0\x02\xA5\x81b\0\x02\x9E\x84Tb\0\x01\xE2V[\x84b\0\x02\x1EV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xDDW`\0\x84\x15b\0\x02\xC4WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02hV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x0EW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xEDV[P\x85\x82\x10\x15b\0\x03-W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Q`\xA0Qa\x0B`b\0\x03j`\09`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0B``\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; + /// The bytecode of the contract. + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; + /// The deployed bytecode of the contract. + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub struct AstriaMintableERC20(::ethers::contract::Contract); + impl ::core::clone::Clone for AstriaMintableERC20 { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for AstriaMintableERC20 { + type Target = ::ethers::contract::Contract; + + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for AstriaMintableERC20 { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for AstriaMintableERC20 { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(AstriaMintableERC20)) + .field(&self.address()) + .finish() + } + } + impl AstriaMintableERC20 { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + )) + } + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + ASTRIAMINTABLEERC20_ABI.clone(), + ASTRIAMINTABLEERC20_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + pub fn asset_withdrawal_decimals( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([143, 45, 140, 184], ()) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `BRIDGE` (0xee9a31a2) function + pub fn bridge( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([238, 154, 49, 162], ()) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `allowance` (0xdd62ed3e) function + pub fn allowance( + &self, + owner: ::ethers::core::types::Address, + spender: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([221, 98, 237, 62], (owner, spender)) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `approve` (0x095ea7b3) function + pub fn approve( + &self, + spender: ::ethers::core::types::Address, + value: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([9, 94, 167, 179], (spender, value)) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `balanceOf` (0x70a08231) function + pub fn balance_of( + &self, + account: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([112, 160, 130, 49], account) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `decimals` (0x313ce567) function + pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([49, 60, 229, 103], ()) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `mint` (0x40c10f19) function + pub fn mint( + &self, + to: ::ethers::core::types::Address, + amount: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([64, 193, 15, 25], (to, amount)) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `name` (0x06fdde03) function + pub fn name(&self) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([6, 253, 222, 3], ()) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `symbol` (0x95d89b41) function + pub fn symbol( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([149, 216, 155, 65], ()) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `totalSupply` (0x18160ddd) function + pub fn total_supply( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([24, 22, 13, 221], ()) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `transfer` (0xa9059cbb) function + pub fn transfer( + &self, + to: ::ethers::core::types::Address, + value: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([169, 5, 156, 187], (to, value)) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `transferFrom` (0x23b872dd) function + pub fn transfer_from( + &self, + from: ::ethers::core::types::Address, + to: ::ethers::core::types::Address, + value: ::ethers::core::types::U256, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([35, 184, 114, 221], (from, to, value)) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + pub fn withdraw_to_ibc_chain( + &self, + amount: ::ethers::core::types::U256, + destination_chain_address: ::std::string::String, + memo: ::std::string::String, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `withdrawToSequencer` (0x757e9874) function + pub fn withdraw_to_sequencer( + &self, + amount: ::ethers::core::types::U256, + destination_chain_address: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) + .expect("method not found (this should never happen)") + } + + /// Gets the contract's `Approval` event + pub fn approval_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + self.0.event() + } + + /// Gets the contract's `Ics20Withdrawal` event + pub fn ics_20_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { + self.0.event() + } + + /// Gets the contract's `Mint` event + pub fn mint_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { + self.0.event() + } + + /// Gets the contract's `SequencerWithdrawal` event + pub fn sequencer_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { + self.0.event() + } + + /// Gets the contract's `Transfer` event + pub fn transfer_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { + self.0.event() + } + + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> + { + self.0 + .event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for AstriaMintableERC20 + { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + /// Custom Error type `ERC20InsufficientAllowance` with signature + /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[etherror( + name = "ERC20InsufficientAllowance", + abi = "ERC20InsufficientAllowance(address,uint256,uint256)" + )] + pub struct ERC20InsufficientAllowance { + pub spender: ::ethers::core::types::Address, + pub allowance: ::ethers::core::types::U256, + pub needed: ::ethers::core::types::U256, + } + /// Custom Error type `ERC20InsufficientBalance` with signature + /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[etherror( + name = "ERC20InsufficientBalance", + abi = "ERC20InsufficientBalance(address,uint256,uint256)" + )] + pub struct ERC20InsufficientBalance { + pub sender: ::ethers::core::types::Address, + pub balance: ::ethers::core::types::U256, + pub needed: ::ethers::core::types::U256, + } + /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and + /// selector `0xe602df05` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] + pub struct ERC20InvalidApprover { + pub approver: ::ethers::core::types::Address, + } + /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and + /// selector `0xec442f05` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] + pub struct ERC20InvalidReceiver { + pub receiver: ::ethers::core::types::Address, + } + /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and + /// selector `0x96c6fd1e` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] + pub struct ERC20InvalidSender { + pub sender: ::ethers::core::types::Address, + } + /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and + /// selector `0x94280d62` + #[derive( + Clone, + ::ethers::contract::EthError, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] + pub struct ERC20InvalidSpender { + pub spender: ::ethers::core::types::Address, + } + /// Container type for all of the contract's custom errors + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum AstriaMintableERC20Errors { + ERC20InsufficientAllowance(ERC20InsufficientAllowance), + ERC20InsufficientBalance(ERC20InsufficientBalance), + ERC20InvalidApprover(ERC20InvalidApprover), + ERC20InvalidReceiver(ERC20InvalidReceiver), + ERC20InvalidSender(ERC20InvalidSender), + ERC20InvalidSpender(ERC20InvalidSpender), + /// The standard solidity revert string, with selector + /// Error(string) -- 0x08c379a0 + RevertString(::std::string::String), + } + impl ::ethers::core::abi::AbiDecode for AstriaMintableERC20Errors { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = + <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) + { + return Ok(Self::RevertString(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::ERC20InsufficientAllowance(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::ERC20InsufficientBalance(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::ERC20InvalidApprover(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::ERC20InvalidReceiver(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::ERC20InvalidSender(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::ERC20InvalidSpender(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for AstriaMintableERC20Errors { + fn encode(self) -> ::std::vec::Vec { + match self { + Self::ERC20InsufficientAllowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ERC20InsufficientBalance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ERC20InvalidApprover(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ERC20InvalidReceiver(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ERC20InvalidSender(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::ERC20InvalidSpender(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::RevertString(s) => ::ethers::core::abi::AbiEncode::encode(s), + } + } + } + impl ::ethers::contract::ContractRevert for AstriaMintableERC20Errors { + fn valid_selector(selector: [u8; 4]) -> bool { + match selector { + [0x08, 0xc3, 0x79, 0xa0] => true, + _ if selector + == ::selector() => + { + true + } + _ if selector + == ::selector() => + { + true + } + _ if selector + == ::selector() => + { + true + } + _ if selector + == ::selector() => + { + true + } + _ if selector + == ::selector() => + { + true + } + _ if selector + == ::selector() => + { + true + } + _ => false, + } + } + } + impl ::core::fmt::Display for AstriaMintableERC20Errors { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), + Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), + } + } + } + impl ::core::convert::From<::std::string::String> for AstriaMintableERC20Errors { + fn from(value: String) -> Self { + Self::RevertString(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Errors { + fn from(value: ERC20InsufficientAllowance) -> Self { + Self::ERC20InsufficientAllowance(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Errors { + fn from(value: ERC20InsufficientBalance) -> Self { + Self::ERC20InsufficientBalance(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Errors { + fn from(value: ERC20InvalidApprover) -> Self { + Self::ERC20InvalidApprover(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Errors { + fn from(value: ERC20InvalidReceiver) -> Self { + Self::ERC20InvalidReceiver(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Errors { + fn from(value: ERC20InvalidSender) -> Self { + Self::ERC20InvalidSender(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Errors { + fn from(value: ERC20InvalidSpender) -> Self { + Self::ERC20InvalidSpender(value) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] + pub struct ApprovalFilter { + #[ethevent(indexed)] + pub owner: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub spender: ::ethers::core::types::Address, + pub value: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent( + name = "Ics20Withdrawal", + abi = "Ics20Withdrawal(address,uint256,string,string)" + )] + pub struct Ics20WithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::std::string::String, + pub memo: ::std::string::String, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] + pub struct MintFilter { + #[ethevent(indexed)] + pub account: ::ethers::core::types::Address, + pub amount: ::ethers::core::types::U256, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent( + name = "SequencerWithdrawal", + abi = "SequencerWithdrawal(address,uint256,address)" + )] + pub struct SequencerWithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::ethers::core::types::Address, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] + pub struct TransferFilter { + #[ethevent(indexed)] + pub from: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub to: ::ethers::core::types::Address, + pub value: ::ethers::core::types::U256, + } + /// Container type for all of the contract's events + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum AstriaMintableERC20Events { + ApprovalFilter(ApprovalFilter), + Ics20WithdrawalFilter(Ics20WithdrawalFilter), + MintFilter(MintFilter), + SequencerWithdrawalFilter(SequencerWithdrawalFilter), + TransferFilter(TransferFilter), + } + impl ::ethers::contract::EthLogDecode for AstriaMintableERC20Events { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = ApprovalFilter::decode_log(log) { + return Ok(AstriaMintableERC20Events::ApprovalFilter(decoded)); + } + if let Ok(decoded) = Ics20WithdrawalFilter::decode_log(log) { + return Ok(AstriaMintableERC20Events::Ics20WithdrawalFilter(decoded)); + } + if let Ok(decoded) = MintFilter::decode_log(log) { + return Ok(AstriaMintableERC20Events::MintFilter(decoded)); + } + if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( + decoded, + )); + } + if let Ok(decoded) = TransferFilter::decode_log(log) { + return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for AstriaMintableERC20Events { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for AstriaMintableERC20Events { + fn from(value: ApprovalFilter) -> Self { + Self::ApprovalFilter(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Events { + fn from(value: Ics20WithdrawalFilter) -> Self { + Self::Ics20WithdrawalFilter(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Events { + fn from(value: MintFilter) -> Self { + Self::MintFilter(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Events { + fn from(value: SequencerWithdrawalFilter) -> Self { + Self::SequencerWithdrawalFilter(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Events { + fn from(value: TransferFilter) -> Self { + Self::TransferFilter(value) + } + } + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" + )] + pub struct AssetWithdrawalDecimalsCall; + /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] + pub struct BridgeCall; + /// Container type for all input parameters for the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "allowance", abi = "allowance(address,address)")] + pub struct AllowanceCall { + pub owner: ::ethers::core::types::Address, + pub spender: ::ethers::core::types::Address, + } + /// Container type for all input parameters for the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "approve", abi = "approve(address,uint256)")] + pub struct ApproveCall { + pub spender: ::ethers::core::types::Address, + pub value: ::ethers::core::types::U256, + } + /// Container type for all input parameters for the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] + pub struct BalanceOfCall { + pub account: ::ethers::core::types::Address, + } + /// Container type for all input parameters for the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "decimals", abi = "decimals()")] + pub struct DecimalsCall; + /// Container type for all input parameters for the `mint` function with signature + /// `mint(address,uint256)` and selector `0x40c10f19` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "mint", abi = "mint(address,uint256)")] + pub struct MintCall { + pub to: ::ethers::core::types::Address, + pub amount: ::ethers::core::types::U256, + } + /// Container type for all input parameters for the `name` function with signature `name()` and + /// selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "name", abi = "name()")] + pub struct NameCall; + /// Container type for all input parameters for the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "symbol", abi = "symbol()")] + pub struct SymbolCall; + /// Container type for all input parameters for the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "totalSupply", abi = "totalSupply()")] + pub struct TotalSupplyCall; + /// Container type for all input parameters for the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] + pub struct TransferCall { + pub to: ::ethers::core::types::Address, + pub value: ::ethers::core::types::U256, + } + /// Container type for all input parameters for the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] + pub struct TransferFromCall { + pub from: ::ethers::core::types::Address, + pub to: ::ethers::core::types::Address, + pub value: ::ethers::core::types::U256, + } + /// Container type for all input parameters for the `withdrawToIbcChain` function with signature + /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall( + name = "withdrawToIbcChain", + abi = "withdrawToIbcChain(uint256,string,string)" + )] + pub struct WithdrawToIbcChainCall { + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::std::string::String, + pub memo: ::std::string::String, + } + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall( + name = "withdrawToSequencer", + abi = "withdrawToSequencer(uint256,address)" + )] + pub struct WithdrawToSequencerCall { + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::ethers::core::types::Address, + } + /// Container type for all of the contract's call + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum AstriaMintableERC20Calls { + AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), + Bridge(BridgeCall), + Allowance(AllowanceCall), + Approve(ApproveCall), + BalanceOf(BalanceOfCall), + Decimals(DecimalsCall), + Mint(MintCall), + Name(NameCall), + Symbol(SymbolCall), + TotalSupply(TotalSupplyCall), + Transfer(TransferCall), + TransferFrom(TransferFromCall), + WithdrawToIbcChain(WithdrawToIbcChainCall), + WithdrawToSequencer(WithdrawToSequencerCall), + } + impl ::ethers::core::abi::AbiDecode for AstriaMintableERC20Calls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::AssetWithdrawalDecimals(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Bridge(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Allowance(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Approve(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::BalanceOf(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Decimals(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Mint(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Name(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Symbol(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::TotalSupply(decoded)); + } + if let Ok(decoded) = ::decode(data) { + return Ok(Self::Transfer(decoded)); + } + if let Ok(decoded) = ::decode(data) + { + return Ok(Self::TransferFrom(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::WithdrawToIbcChain(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::WithdrawToSequencer(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for AstriaMintableERC20Calls { + fn encode(self) -> Vec { + match self { + Self::AssetWithdrawalDecimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::WithdrawToIbcChain(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::WithdrawToSequencer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for AstriaMintableERC20Calls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), + Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), + Self::Approve(element) => ::core::fmt::Display::fmt(element, f), + Self::BalanceOf(element) => ::core::fmt::Display::fmt(element, f), + Self::Decimals(element) => ::core::fmt::Display::fmt(element, f), + Self::Mint(element) => ::core::fmt::Display::fmt(element, f), + Self::Name(element) => ::core::fmt::Display::fmt(element, f), + Self::Symbol(element) => ::core::fmt::Display::fmt(element, f), + Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), + Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), + Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: AssetWithdrawalDecimalsCall) -> Self { + Self::AssetWithdrawalDecimals(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: BridgeCall) -> Self { + Self::Bridge(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: AllowanceCall) -> Self { + Self::Allowance(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: ApproveCall) -> Self { + Self::Approve(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: BalanceOfCall) -> Self { + Self::BalanceOf(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: DecimalsCall) -> Self { + Self::Decimals(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: MintCall) -> Self { + Self::Mint(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: NameCall) -> Self { + Self::Name(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: SymbolCall) -> Self { + Self::Symbol(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: TotalSupplyCall) -> Self { + Self::TotalSupply(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: TransferCall) -> Self { + Self::Transfer(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: TransferFromCall) -> Self { + Self::TransferFrom(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: WithdrawToIbcChainCall) -> Self { + Self::WithdrawToIbcChain(value) + } + } + impl ::core::convert::From for AstriaMintableERC20Calls { + fn from(value: WithdrawToSequencerCall) -> Self { + Self::WithdrawToSequencer(value) + } + } + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct AssetWithdrawalDecimalsReturn(pub u32); + /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct BridgeReturn(pub ::ethers::core::types::Address); + /// Container type for all return fields from the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct AllowanceReturn(pub ::ethers::core::types::U256); + /// Container type for all return fields from the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct ApproveReturn(pub bool); + /// Container type for all return fields from the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct BalanceOfReturn(pub ::ethers::core::types::U256); + /// Container type for all return fields from the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct DecimalsReturn(pub u8); + /// Container type for all return fields from the `name` function with signature `name()` and + /// selector `0x06fdde03` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct NameReturn(pub ::std::string::String); + /// Container type for all return fields from the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct SymbolReturn(pub ::std::string::String); + /// Container type for all return fields from the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); + /// Container type for all return fields from the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct TransferReturn(pub bool); + /// Container type for all return fields from the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct TransferFromReturn(pub bool); +} diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer.rs index be84a86084..cdfe97b891 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer.rs @@ -1,6 +1,514 @@ -use ethers::contract::abigen; +pub use astria_withdrawer::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types +)] +pub mod astria_withdrawer { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( + "uint32" + ),), + },], + }), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("withdrawToOriginChain"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToOriginChain",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + /// The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); + #[rustfmt::skip] + const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0398\x03\x80a\x039\x839\x81\x01`@\x81\x90Ra\0/\x91a\0=V[c\xFF\xFF\xFF\xFF\x16`\x80Ra\0jV[`\0` \x82\x84\x03\x12\x15a\0OW`\0\x80\xFD[\x81Qc\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\0cW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x02\xB5a\0\x84`\09`\0`K\x01Ra\x02\xB5`\0\xF3\xFE`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; + /// The bytecode of the contract. + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); + #[rustfmt::skip] + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; + /// The deployed bytecode of the contract. + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub struct AstriaWithdrawer(::ethers::contract::Contract); + impl ::core::clone::Clone for AstriaWithdrawer { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for AstriaWithdrawer { + type Target = ::ethers::contract::Contract; -abigen!( - AstriaWithdrawer, - "./ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json" -); + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for AstriaWithdrawer { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for AstriaWithdrawer { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(AstriaWithdrawer)) + .field(&self.address()) + .finish() + } + } + impl AstriaWithdrawer { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + )) + } + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction + /// + /// Notes: + /// - If there are no constructor arguments, you should pass `()` as the argument. + /// - The default poll duration is 7 seconds. + /// - The default number of confirmations is 1 block. + /// + /// + /// # Example + /// + /// Generate contract bindings with `abigen!` and deploy a new contract instance. + /// + /// *Note*: this requires a `bytecode` and `abi` object in the `greeter.json` artifact. + /// + /// ```ignore + /// # async fn deploy(client: ::std::sync::Arc) { + /// abigen!(Greeter, "../greeter.json"); + /// + /// let greeter_contract = Greeter::deploy(client, "Hello world!".to_string()).unwrap().send().await.unwrap(); + /// let msg = greeter_contract.greet().call().await.unwrap(); + /// # } + /// ``` + pub fn deploy( + client: ::std::sync::Arc, + constructor_args: T, + ) -> ::core::result::Result< + ::ethers::contract::builders::ContractDeployer, + ::ethers::contract::ContractError, + > { + let factory = ::ethers::contract::ContractFactory::new( + ASTRIAWITHDRAWER_ABI.clone(), + ASTRIAWITHDRAWER_BYTECODE.clone().into(), + client, + ); + let deployer = factory.deploy(constructor_args)?; + let deployer = ::ethers::contract::ContractDeployer::new(deployer); + Ok(deployer) + } + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + pub fn asset_withdrawal_decimals( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([143, 45, 140, 184], ()) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function + pub fn withdraw_to_origin_chain( + &self, + destination_chain_address: ::std::string::String, + memo: ::std::string::String, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([145, 189, 29, 222], (destination_chain_address, memo)) + .expect("method not found (this should never happen)") + } + + /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function + pub fn withdraw_to_sequencer( + &self, + destination_chain_address: ::ethers::core::types::Address, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([154, 151, 122, 254], destination_chain_address) + .expect("method not found (this should never happen)") + } + + /// Gets the contract's `Ics20Withdrawal` event + pub fn ics_20_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { + self.0.event() + } + + /// Gets the contract's `SequencerWithdrawal` event + pub fn sequencer_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { + self.0.event() + } + + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for AstriaWithdrawer + { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent( + name = "Ics20Withdrawal", + abi = "Ics20Withdrawal(address,uint256,string,string)" + )] + pub struct Ics20WithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::std::string::String, + pub memo: ::std::string::String, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent( + name = "SequencerWithdrawal", + abi = "SequencerWithdrawal(address,uint256,address)" + )] + pub struct SequencerWithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::ethers::core::types::Address, + } + /// Container type for all of the contract's events + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum AstriaWithdrawerEvents { + Ics20WithdrawalFilter(Ics20WithdrawalFilter), + SequencerWithdrawalFilter(SequencerWithdrawalFilter), + } + impl ::ethers::contract::EthLogDecode for AstriaWithdrawerEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = Ics20WithdrawalFilter::decode_log(log) { + return Ok(AstriaWithdrawerEvents::Ics20WithdrawalFilter(decoded)); + } + if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { + return Ok(AstriaWithdrawerEvents::SequencerWithdrawalFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for AstriaWithdrawerEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for AstriaWithdrawerEvents { + fn from(value: Ics20WithdrawalFilter) -> Self { + Self::Ics20WithdrawalFilter(value) + } + } + impl ::core::convert::From for AstriaWithdrawerEvents { + fn from(value: SequencerWithdrawalFilter) -> Self { + Self::SequencerWithdrawalFilter(value) + } + } + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" + )] + pub struct AssetWithdrawalDecimalsCall; + /// Container type for all input parameters for the `withdrawToOriginChain` function with + /// signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall( + name = "withdrawToOriginChain", + abi = "withdrawToOriginChain(string,string)" + )] + pub struct WithdrawToOriginChainCall { + pub destination_chain_address: ::std::string::String, + pub memo: ::std::string::String, + } + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] + pub struct WithdrawToSequencerCall { + pub destination_chain_address: ::ethers::core::types::Address, + } + /// Container type for all of the contract's call + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum AstriaWithdrawerCalls { + AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), + WithdrawToOriginChain(WithdrawToOriginChainCall), + WithdrawToSequencer(WithdrawToSequencerCall), + } + impl ::ethers::core::abi::AbiDecode for AstriaWithdrawerCalls { + fn decode( + data: impl AsRef<[u8]>, + ) -> ::core::result::Result { + let data = data.as_ref(); + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::AssetWithdrawalDecimals(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::WithdrawToOriginChain(decoded)); + } + if let Ok(decoded) = + ::decode(data) + { + return Ok(Self::WithdrawToSequencer(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData.into()) + } + } + impl ::ethers::core::abi::AbiEncode for AstriaWithdrawerCalls { + fn encode(self) -> Vec { + match self { + Self::AssetWithdrawalDecimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::WithdrawToOriginChain(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::WithdrawToSequencer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + } + } + } + impl ::core::fmt::Display for AstriaWithdrawerCalls { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToOriginChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for AstriaWithdrawerCalls { + fn from(value: AssetWithdrawalDecimalsCall) -> Self { + Self::AssetWithdrawalDecimals(value) + } + } + impl ::core::convert::From for AstriaWithdrawerCalls { + fn from(value: WithdrawToOriginChainCall) -> Self { + Self::WithdrawToOriginChain(value) + } + } + impl ::core::convert::From for AstriaWithdrawerCalls { + fn from(value: WithdrawToSequencerCall) -> Self { + Self::WithdrawToSequencer(value) + } + } + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct AssetWithdrawalDecimalsReturn(pub u32); +} diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs new file mode 100644 index 0000000000..9d03ac5d34 --- /dev/null +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs @@ -0,0 +1,286 @@ +pub use i_astria_withdrawer::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types +)] +pub mod i_astria_withdrawer { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + )]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], + ), + ( + ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + /// The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); + pub struct IAstriaWithdrawer(::ethers::contract::Contract); + impl ::core::clone::Clone for IAstriaWithdrawer { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IAstriaWithdrawer { + type Target = ::ethers::contract::Contract; + + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IAstriaWithdrawer { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IAstriaWithdrawer { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IAstriaWithdrawer)) + .field(&self.address()) + .finish() + } + } + impl IAstriaWithdrawer { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self(::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + )) + } + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + pub fn asset_withdrawal_decimals( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([143, 45, 140, 184], ()) + .expect("method not found (this should never happen)") + } + + /// Gets the contract's `Ics20Withdrawal` event + pub fn ics_20_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { + self.0.event() + } + + /// Gets the contract's `SequencerWithdrawal` event + pub fn sequencer_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { + self.0.event() + } + + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for IAstriaWithdrawer + { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent( + name = "Ics20Withdrawal", + abi = "Ics20Withdrawal(address,uint256,string,string)" + )] + pub struct Ics20WithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::std::string::String, + pub memo: ::std::string::String, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethevent( + name = "SequencerWithdrawal", + abi = "SequencerWithdrawal(address,uint256,address)" + )] + pub struct SequencerWithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::ethers::core::types::Address, + } + /// Container type for all of the contract's events + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum IAstriaWithdrawerEvents { + Ics20WithdrawalFilter(Ics20WithdrawalFilter), + SequencerWithdrawalFilter(SequencerWithdrawalFilter), + } + impl ::ethers::contract::EthLogDecode for IAstriaWithdrawerEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = Ics20WithdrawalFilter::decode_log(log) { + return Ok(IAstriaWithdrawerEvents::Ics20WithdrawalFilter(decoded)); + } + if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { + return Ok(IAstriaWithdrawerEvents::SequencerWithdrawalFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for IAstriaWithdrawerEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + } + } + } + impl ::core::convert::From for IAstriaWithdrawerEvents { + fn from(value: Ics20WithdrawalFilter) -> Self { + Self::Ics20WithdrawalFilter(value) + } + } + impl ::core::convert::From for IAstriaWithdrawerEvents { + fn from(value: SequencerWithdrawalFilter) -> Self { + Self::SequencerWithdrawalFilter(value) + } + } + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" + )] + pub struct AssetWithdrawalDecimalsCall; + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash, + )] + pub struct AssetWithdrawalDecimalsReturn(pub u32); +} diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/convert.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/convert.rs index 90857f853d..9767b35a83 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/convert.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/convert.rs @@ -29,7 +29,7 @@ use serde::{ Serialize, }; -use crate::withdrawer::ethereum::astria_withdrawer::{ +use crate::withdrawer::ethereum::astria_withdrawer_interface::{ Ics20WithdrawalFilter, SequencerWithdrawalFilter, }; @@ -187,7 +187,7 @@ fn calculate_packet_timeout_time(timeout_delta: Duration) -> eyre::Result { #[cfg(test)] mod tests { use super::*; - use crate::withdrawer::ethereum::astria_withdrawer::SequencerWithdrawalFilter; + use crate::withdrawer::ethereum::astria_withdrawer_interface::SequencerWithdrawalFilter; #[test] fn event_to_bridge_unlock() { diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs index 5ba76959ac..e1c95338b6 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs @@ -1,8 +1,15 @@ -pub(crate) mod astria_withdrawer; +#[allow(warnings)] +pub(crate) mod astria_withdrawer_interface; mod convert; mod watcher; pub(crate) use watcher::Watcher; +#[cfg(test)] +#[allow(warnings)] +mod astria_mintable_erc20; +#[cfg(test)] +#[allow(warnings)] +mod astria_withdrawer; #[cfg(test)] mod test_utils; diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs index 9a91164d23..5c65d2865b 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs @@ -1,5 +1,4 @@ use std::{ - path::Path, sync::Arc, time::Duration, }; @@ -10,6 +9,11 @@ use ethers::{ utils::AnvilInstance, }; +use crate::withdrawer::ethereum::astria_withdrawer::{ + ASTRIAWITHDRAWER_ABI, + ASTRIAWITHDRAWER_BYTECODE, +}; + /// Starts a local anvil instance and deploys the `AstriaWithdrawer` contract to it. /// /// Returns the contract address, provider, wallet, and anvil instance. @@ -22,23 +26,6 @@ use ethers::{ /// - if the contract fails to deploy pub(crate) async fn deploy_astria_withdrawer() -> (Address, Arc>, LocalWallet, AnvilInstance) { - // compile contract for testing - let source = Path::new(&env!("CARGO_MANIFEST_DIR")).join("ethereum/src/AstriaWithdrawer.sol"); - let input = CompilerInput::new(source.clone()) - .unwrap() - .first() - .unwrap() - .clone(); - let compiled = Solc::default() - .compile(&input) - .expect("could not compile contract"); - assert!(compiled.errors.is_empty(), "errors: {:?}", compiled.errors); - - let (abi, bytecode, _) = compiled - .find("AstriaWithdrawer") - .expect("could not find contract") - .into_parts_or_default(); - // setup anvil and signing wallet let anvil = Anvil::new().spawn(); let wallet: LocalWallet = anvil.keys()[0].clone().into(); @@ -53,8 +40,11 @@ pub(crate) async fn deploy_astria_withdrawer() wallet.clone().with_chain_id(anvil.chain_id()), ); + let abi = ASTRIAWITHDRAWER_ABI.clone(); + let bytecode = ASTRIAWITHDRAWER_BYTECODE.to_vec(); + // deploy contract with ASSET_WITHDRAWAL_DECIMALS as 0 - let factory = ContractFactory::new(abi, bytecode, signer.into()); + let factory = ContractFactory::new(abi.clone(), bytecode.into(), signer.into()); let contract = factory.deploy(U256::from(0)).unwrap().send().await.unwrap(); let contract_address = contract.address(); diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs index c6fde23607..96b2925e74 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs @@ -33,7 +33,7 @@ use tracing::{ use crate::withdrawer::{ batch::Batch, ethereum::{ - astria_withdrawer::AstriaWithdrawer, + astria_withdrawer_interface::IAstriaWithdrawer, convert::{ event_to_action, EventWithMetadata, @@ -106,7 +106,7 @@ impl Watcher { .await .wrap_err("failed to connect to ethereum RPC endpoint")?, ); - let contract = AstriaWithdrawer::new(contract_address, provider); + let contract = IAstriaWithdrawer::new(contract_address, provider); let asset_withdrawal_decimals = contract .asset_withdrawal_decimals() @@ -157,7 +157,7 @@ impl Watcher { } async fn watch_for_sequencer_withdrawal_events( - contract: AstriaWithdrawer>, + contract: IAstriaWithdrawer>, event_tx: mpsc::Sender<(WithdrawalEvent, LogMeta)>, from_block: u64, ) -> Result<()> { @@ -183,7 +183,7 @@ async fn watch_for_sequencer_withdrawal_events( } async fn watch_for_ics20_withdrawal_events( - contract: AstriaWithdrawer>, + contract: IAstriaWithdrawer>, event_tx: mpsc::Sender<(WithdrawalEvent, LogMeta)>, from_block: u64, ) -> Result<()> { @@ -318,7 +318,8 @@ mod tests { use super::*; use crate::withdrawer::ethereum::{ - astria_withdrawer::{ + astria_withdrawer::AstriaWithdrawer, + astria_withdrawer_interface::{ Ics20WithdrawalFilter, SequencerWithdrawalFilter, }, From ab9eab046d35c93208efe9a154b87782ba0d8fbc Mon Sep 17 00:00:00 2001 From: elizabeth Date: Tue, 4 Jun 2024 23:47:22 -0400 Subject: [PATCH 03/22] erc20 testing, it works --- .../src/withdrawer/ethereum/test_utils.rs | 103 ++++++++- .../src/withdrawer/ethereum/watcher.rs | 208 +++++++++++++++++- 2 files changed, 303 insertions(+), 8 deletions(-) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs index 5c65d2865b..7d963dedfe 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs @@ -4,14 +4,21 @@ use std::{ }; use ethers::{ + abi::Tokenizable, core::utils::Anvil, prelude::*, utils::AnvilInstance, }; -use crate::withdrawer::ethereum::astria_withdrawer::{ - ASTRIAWITHDRAWER_ABI, - ASTRIAWITHDRAWER_BYTECODE, +use crate::withdrawer::ethereum::{ + astria_mintable_erc20::{ + ASTRIAMINTABLEERC20_ABI, + ASTRIAMINTABLEERC20_BYTECODE, + }, + astria_withdrawer::{ + ASTRIAWITHDRAWER_ABI, + ASTRIAWITHDRAWER_BYTECODE, + }, }; /// Starts a local anvil instance and deploys the `AstriaWithdrawer` contract to it. @@ -20,8 +27,6 @@ use crate::withdrawer::ethereum::astria_withdrawer::{ /// /// # Panics /// -/// - if the contract cannot be found in the expected path -/// - if the contract cannot be compiled /// - if the provider fails to connect to the anvil instance /// - if the contract fails to deploy pub(crate) async fn deploy_astria_withdrawer() @@ -55,3 +60,91 @@ pub(crate) async fn deploy_astria_withdrawer() anvil, ) } + +#[derive(Default)] +pub(crate) struct ConfigureAstriaMintableERC20Deployer { + pub(crate) bridge_address: Address, + pub(crate) asset_withdrawal_decimals: u32, + pub(crate) name: String, + pub(crate) symbol: String, +} + +impl ConfigureAstriaMintableERC20Deployer { + pub(crate) async fn deploy(self) -> (Address, Arc>, LocalWallet, AnvilInstance) { + let Self { + bridge_address, + asset_withdrawal_decimals, + mut name, + mut symbol, + } = self; + + if name.is_empty() { + name = "test-token".to_string(); + } + + if symbol.is_empty() { + symbol = "TT".to_string(); + } + + deploy_astria_mintable_erc20( + bridge_address, + asset_withdrawal_decimals.into(), + name, + symbol, + ) + .await + } +} + +/// Starts a local anvil instance and deploys the `AstriaMintableERC20` contract to it. +/// +/// Returns the contract address, provider, wallet, and anvil instance. +/// +/// # Panics +/// +/// - if the provider fails to connect to the anvil instance +/// - if the contract fails to deploy +pub(crate) async fn deploy_astria_mintable_erc20( + mut bridge_address: Address, + asset_withdrawal_decimals: ethers::abi::Uint, + name: String, + symbol: String, +) -> (Address, Arc>, LocalWallet, AnvilInstance) { + // setup anvil and signing wallet + let anvil = Anvil::new().spawn(); + let wallet: LocalWallet = anvil.keys()[0].clone().into(); + let provider = Arc::new( + Provider::::connect(anvil.ws_endpoint()) + .await + .unwrap() + .interval(Duration::from_millis(10u64)), + ); + let signer = SignerMiddleware::new( + provider.clone(), + wallet.clone().with_chain_id(anvil.chain_id()), + ); + + let abi = ASTRIAMINTABLEERC20_ABI.clone(); + let bytecode = ASTRIAMINTABLEERC20_BYTECODE.to_vec(); + + let factory = ContractFactory::new(abi.clone(), bytecode.into(), signer.into()); + + if bridge_address == Address::zero() { + bridge_address = wallet.address(); + } + let args = vec![ + bridge_address.into_token(), + asset_withdrawal_decimals.into_token(), + name.into_token(), + symbol.into_token(), + ]; + let contract = factory.deploy_tokens(args).unwrap().send().await.unwrap(); + let contract_address = contract.address(); + + ( + contract_address, + provider, + wallet.with_chain_id(anvil.chain_id()), + anvil, + ) +} diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs index 96b2925e74..40951d79d5 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs @@ -318,13 +318,17 @@ mod tests { use super::*; use crate::withdrawer::ethereum::{ + astria_mintable_erc20::AstriaMintableERC20, astria_withdrawer::AstriaWithdrawer, astria_withdrawer_interface::{ Ics20WithdrawalFilter, SequencerWithdrawalFilter, }, convert::EventWithMetadata, - test_utils::deploy_astria_withdrawer, + test_utils::{ + deploy_astria_withdrawer, + ConfigureAstriaMintableERC20Deployer, + }, }; #[test] @@ -371,7 +375,7 @@ mod tests { #[tokio::test] #[ignore = "requires foundry and solc to be installed"] - async fn watcher_can_watch_sequencer_withdrawals() { + async fn watcher_can_watch_sequencer_withdrawals_astria_withdrawer() { let (contract_address, provider, wallet, anvil) = deploy_astria_withdrawer().await; let signer = Arc::new(SignerMiddleware::new(provider, wallet.clone())); let contract = AstriaWithdrawer::new(contract_address, signer.clone()); @@ -449,7 +453,7 @@ mod tests { #[tokio::test] #[ignore = "requires foundry and solc to be installed"] - async fn watcher_can_watch_ics20_withdrawals() { + async fn watcher_can_watch_ics20_withdrawals_astria_withdrawer() { let (contract_address, provider, wallet, anvil) = deploy_astria_withdrawer().await; let signer = Arc::new(SignerMiddleware::new(provider, wallet.clone())); let contract = AstriaWithdrawer::new(contract_address, signer.clone()); @@ -503,4 +507,202 @@ mod tests { action.timeout_time = 0; // zero this for testing assert_eq!(action, &expected_action); } + + async fn mint_tokens( + contract: &AstriaMintableERC20, + amount: U256, + recipient: ethers::types::Address, + ) -> TransactionReceipt { + let mint_tx = contract.mint(recipient, amount); + let receipt = mint_tx + .send() + .await + .expect("failed to submit mint transaction") + .await + .expect("failed to await pending mint transaction") + .expect("no mint receipt found"); + + assert!( + receipt.status == Some(ethers::types::U64::from(1)), + "`mint` transaction failed: {receipt:?}", + ); + + receipt + } + + async fn send_sequencer_withdraw_transaction_erc20( + contract: &AstriaMintableERC20, + value: U256, + recipient: ethers::types::Address, + ) -> TransactionReceipt { + let tx = contract.withdraw_to_sequencer(value, recipient); + let receipt = tx + .send() + .await + .expect("failed to submit transaction") + .await + .expect("failed to await pending transaction") + .expect("no receipt found"); + + assert!( + receipt.status == Some(ethers::types::U64::from(1)), + "`withdraw` transaction failed: {receipt:?}", + ); + + receipt + } + + #[tokio::test] + #[ignore = "requires foundry and solc to be installed"] + async fn watcher_can_watch_sequencer_withdrawals_astria_mintable_erc20() { + let (contract_address, provider, wallet, anvil) = ConfigureAstriaMintableERC20Deployer { + asset_withdrawal_decimals: 0, + ..Default::default() + } + .deploy() + .await; + let signer = Arc::new(SignerMiddleware::new(provider, wallet.clone())); + let contract = AstriaMintableERC20::new(contract_address, signer.clone()); + + // mint some tokens to the wallet + mint_tokens(&contract, 2_000_000_000.into(), wallet.address()).await; + + let value = 1_000_000_000.into(); + let recipient = [0u8; 20].into(); + let receipt = send_sequencer_withdraw_transaction_erc20(&contract, value, recipient).await; + let expected_event = EventWithMetadata { + event: WithdrawalEvent::Sequencer(SequencerWithdrawalFilter { + sender: wallet.address(), + destination_chain_address: recipient, + amount: value, + }), + block_number: receipt.block_number.unwrap(), + transaction_hash: receipt.transaction_hash, + }; + let denom: Denom = Denom::from_base_denom("nria"); + let expected_action = + event_to_action(expected_event, denom.id(), denom.clone(), 1).unwrap(); + let Action::BridgeUnlock(expected_action) = expected_action else { + panic!("expected action to be BridgeUnlock, got {expected_action:?}"); + }; + + let (event_tx, mut event_rx) = mpsc::channel(100); + let watcher = Watcher::new( + &hex::encode(contract_address), + &anvil.ws_endpoint(), + event_tx, + &CancellationToken::new(), + Arc::new(State::new()), + denom.id(), + denom, + ) + .unwrap(); + + tokio::task::spawn(watcher.run()); + + // make another tx to trigger anvil to make another block + send_sequencer_withdraw_transaction_erc20(&contract, value, recipient).await; + + let batch = event_rx.recv().await.unwrap(); + assert_eq!(batch.actions.len(), 1); + let Action::BridgeUnlock(action) = &batch.actions[0] else { + panic!( + "expected action to be BridgeUnlock, got {:?}", + batch.actions[0] + ); + }; + assert_eq!(action, &expected_action); + } + + async fn send_ics20_withdraw_transaction_astria_mintable_erc20( + contract: &AstriaMintableERC20, + value: U256, + recipient: String, + ) -> TransactionReceipt { + let tx = contract.withdraw_to_ibc_chain(value, recipient, "nootwashere".to_string()); + let receipt = tx + .send() + .await + .expect("failed to submit transaction") + .await + .expect("failed to await pending transaction") + .expect("no receipt found"); + + assert!( + receipt.status == Some(ethers::types::U64::from(1)), + "`withdraw` transaction failed: {receipt:?}", + ); + + receipt + } + + #[tokio::test] + #[ignore = "requires foundry and solc to be installed"] + async fn watcher_can_watch_ics20_withdrawals_astria_mintable_erc20() { + let (contract_address, provider, wallet, anvil) = ConfigureAstriaMintableERC20Deployer { + asset_withdrawal_decimals: 0, + ..Default::default() + } + .deploy() + .await; + let signer = Arc::new(SignerMiddleware::new(provider, wallet.clone())); + let contract = AstriaMintableERC20::new(contract_address, signer.clone()); + + // mint some tokens to the wallet + mint_tokens(&contract, 2_000_000_000.into(), wallet.address()).await; + + let value = 1_000_000_000.into(); + let recipient = "somebech32address".to_string(); + let receipt = send_ics20_withdraw_transaction_astria_mintable_erc20( + &contract, + value, + recipient.clone(), + ) + .await; + let expected_event = EventWithMetadata { + event: WithdrawalEvent::Ics20(Ics20WithdrawalFilter { + sender: wallet.address(), + destination_chain_address: recipient.clone(), + amount: value, + memo: "nootwashere".to_string(), + }), + block_number: receipt.block_number.unwrap(), + transaction_hash: receipt.transaction_hash, + }; + let denom = Denom::from("transfer/channel-0/utia".to_string()); + let Action::Ics20Withdrawal(mut expected_action) = + event_to_action(expected_event, denom.id(), denom.clone(), 1).unwrap() + else { + panic!("expected action to be Ics20Withdrawal"); + }; + expected_action.timeout_time = 0; // zero this for testing + + let (event_tx, mut event_rx) = mpsc::channel(100); + let watcher = Watcher::new( + &hex::encode(contract_address), + &anvil.ws_endpoint(), + event_tx, + &CancellationToken::new(), + Arc::new(State::new()), + denom.id(), + denom, + ) + .unwrap(); + + tokio::task::spawn(watcher.run()); + + // make another tx to trigger anvil to make another block + send_ics20_withdraw_transaction_astria_mintable_erc20(&contract, value, recipient).await; + + let mut batch = event_rx.recv().await.unwrap(); + assert_eq!(batch.actions.len(), 1); + let Action::Ics20Withdrawal(ref mut action) = batch.actions[0] else { + panic!( + "expected action to be Ics20Withdrawal, got {:?}", + batch.actions[0] + ); + }; + action.timeout_time = 0; // zero this for testing + assert_eq!(action, &expected_action); + } } From 73bbbf5169d139e0026ff1a77bcb35b93446b6f5 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Tue, 4 Jun 2024 23:57:20 -0400 Subject: [PATCH 04/22] move generated files to their own module --- crates/astria-bridge-withdrawer/build.rs | 6 +- .../ethereum/astria_withdrawer_interface.rs | 286 --- .../{ => generated}/astria_mintable_erc20.rs | 1636 +++++++++-------- .../{ => generated}/astria_withdrawer.rs | 390 ++-- .../generated/astria_withdrawer_interface.rs | 312 ++++ .../src/withdrawer/ethereum/generated/mod.rs | 8 + .../src/withdrawer/ethereum/mod.rs | 11 +- 7 files changed, 1443 insertions(+), 1206 deletions(-) delete mode 100644 crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs rename crates/astria-bridge-withdrawer/src/withdrawer/ethereum/{ => generated}/astria_mintable_erc20.rs (54%) rename crates/astria-bridge-withdrawer/src/withdrawer/ethereum/{ => generated}/astria_withdrawer.rs (58%) create mode 100644 crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs create mode 100644 crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index 5cc6e54405..df6b8fdd23 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -12,19 +12,19 @@ fn main() -> Result<(), Box> { "./ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json", )? .generate()? - .write_to_file("./src/withdrawer/ethereum/astria_withdrawer_interface.rs")?; + .write_to_file("./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs")?; Abigen::new( "AstriaWithdrawer", "./ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json", )? .generate()? - .write_to_file("./src/withdrawer/ethereum/astria_withdrawer.rs")?; + .write_to_file("./src/withdrawer/ethereum/generated/astria_withdrawer.rs")?; Abigen::new( "AstriaMintableERC20", "./ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json", )? .generate()? - .write_to_file("./src/withdrawer/ethereum/astria_mintable_erc20.rs")?; + .write_to_file("./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs")?; Ok(()) } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs deleted file mode 100644 index 9d03ac5d34..0000000000 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer_interface.rs +++ /dev/null @@ -1,286 +0,0 @@ -pub use i_astria_withdrawer::*; -/// This module was auto-generated with ethers-rs Abigen. -/// More information at: -#[allow( - clippy::enum_variant_names, - clippy::too_many_arguments, - clippy::upper_case_acronyms, - clippy::type_complexity, - dead_code, - non_camel_case_types -)] -pub mod i_astria_withdrawer { - #[allow(deprecated)] - fn __abi() -> ::ethers::core::abi::Abi { - ::ethers::core::abi::ethabi::Contract { - constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), - events: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ( - ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], - ), - ]), - errors: ::std::collections::BTreeMap::new(), - receive: false, - fallback: false, - } - } - /// The parsed JSON ABI of the contract. - pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); - pub struct IAstriaWithdrawer(::ethers::contract::Contract); - impl ::core::clone::Clone for IAstriaWithdrawer { - fn clone(&self) -> Self { - Self(::core::clone::Clone::clone(&self.0)) - } - } - impl ::core::ops::Deref for IAstriaWithdrawer { - type Target = ::ethers::contract::Contract; - - fn deref(&self) -> &Self::Target { - &self.0 - } - } - impl ::core::ops::DerefMut for IAstriaWithdrawer { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } - } - impl ::core::fmt::Debug for IAstriaWithdrawer { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(IAstriaWithdrawer)) - .field(&self.address()) - .finish() - } - } - impl IAstriaWithdrawer { - /// Creates a new contract instance with the specified `ethers` client at - /// `address`. The contract derefs to a `ethers::Contract` object. - pub fn new>( - address: T, - client: ::std::sync::Arc, - ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IASTRIAWITHDRAWER_ABI.clone(), - client, - )) - } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function - pub fn asset_withdrawal_decimals( - &self, - ) -> ::ethers::contract::builders::ContractCall { - self.0 - .method_hash([143, 45, 140, 184], ()) - .expect("method not found (this should never happen)") - } - - /// Gets the contract's `Ics20Withdrawal` event - pub fn ics_20_withdrawal_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { - self.0.event() - } - - /// Gets the contract's `SequencerWithdrawal` event - pub fn sequencer_withdrawal_filter( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { - self.0.event() - } - - /// Returns an `Event` builder for all the events of this contract. - pub fn events( - &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) - } - } - impl From<::ethers::contract::Contract> - for IAstriaWithdrawer - { - fn from(contract: ::ethers::contract::Contract) -> Self { - Self::new(contract.address(), contract.client()) - } - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "Ics20Withdrawal", - abi = "Ics20Withdrawal(address,uint256,string,string)" - )] - pub struct Ics20WithdrawalFilter { - #[ethevent(indexed)] - pub sender: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub amount: ::ethers::core::types::U256, - pub destination_chain_address: ::std::string::String, - pub memo: ::std::string::String, - } - #[derive( - Clone, - ::ethers::contract::EthEvent, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethevent( - name = "SequencerWithdrawal", - abi = "SequencerWithdrawal(address,uint256,address)" - )] - pub struct SequencerWithdrawalFilter { - #[ethevent(indexed)] - pub sender: ::ethers::core::types::Address, - #[ethevent(indexed)] - pub amount: ::ethers::core::types::U256, - pub destination_chain_address: ::ethers::core::types::Address, - } - /// Container type for all of the contract's events - #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum IAstriaWithdrawerEvents { - Ics20WithdrawalFilter(Ics20WithdrawalFilter), - SequencerWithdrawalFilter(SequencerWithdrawalFilter), - } - impl ::ethers::contract::EthLogDecode for IAstriaWithdrawerEvents { - fn decode_log( - log: &::ethers::core::abi::RawLog, - ) -> ::core::result::Result { - if let Ok(decoded) = Ics20WithdrawalFilter::decode_log(log) { - return Ok(IAstriaWithdrawerEvents::Ics20WithdrawalFilter(decoded)); - } - if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(IAstriaWithdrawerEvents::SequencerWithdrawalFilter(decoded)); - } - Err(::ethers::core::abi::Error::InvalidData) - } - } - impl ::core::fmt::Display for IAstriaWithdrawerEvents { - fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - match self { - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), - } - } - } - impl ::core::convert::From for IAstriaWithdrawerEvents { - fn from(value: Ics20WithdrawalFilter) -> Self { - Self::Ics20WithdrawalFilter(value) - } - } - impl ::core::convert::From for IAstriaWithdrawerEvents { - fn from(value: SequencerWithdrawalFilter) -> Self { - Self::SequencerWithdrawalFilter(value) - } - } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` - #[derive( - Clone, - ::ethers::contract::EthCall, - ::ethers::contract::EthDisplay, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" - )] - pub struct AssetWithdrawalDecimalsCall; - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` - #[derive( - Clone, - ::ethers::contract::EthAbiType, - ::ethers::contract::EthAbiCodec, - Default, - Debug, - PartialEq, - Eq, - Hash, - )] - pub struct AssetWithdrawalDecimalsReturn(pub u32); -} diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs similarity index 54% rename from crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_mintable_erc20.rs rename to crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index ea4827df77..db19ff29ad 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -7,7 +7,7 @@ pub use astria_mintable_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod astria_mintable_erc20 { #[allow(deprecated)] @@ -23,7 +23,9 @@ pub mod astria_mintable_erc20 { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + name: ::std::borrow::ToOwned::to_owned( + "_assetWithdrawalDecimals", + ), kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("uint32"), @@ -48,587 +50,732 @@ pub mod astria_mintable_erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("BRIDGE"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("BRIDGE"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToSequencer", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Mint"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InsufficientAllowance", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InsufficientBalance", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidApprover", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidReceiver", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidSpender", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ]), receive: false, fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0E\xCA8\x03\x80b\0\x0E\xCA\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01:V[\x81\x81`\x03b\0\0D\x83\x82b\0\x02qV[P`\x04b\0\0S\x82\x82b\0\x02qV[PPP`\x01`\x01`\xA0\x1B\x03\x90\x93\x16`\xA0RPc\xFF\xFF\xFF\xFF\x16`\x80RPb\0\x03=V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x9DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xBAWb\0\0\xBAb\0\0uV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xE5Wb\0\0\xE5b\0\0uV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\x02W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01&W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\x07V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01QW`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01iW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x01\x84W`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\xA2W`\0\x80\xFD[b\0\x01\xB0\x88\x83\x89\x01b\0\0\x8BV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x01\xC7W`\0\x80\xFD[Pb\0\x01\xD6\x87\x82\x88\x01b\0\0\x8BV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xF7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x18WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02lW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02GWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02hW\x82\x81U`\x01\x01b\0\x02SV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02\x8DWb\0\x02\x8Db\0\0uV[b\0\x02\xA5\x81b\0\x02\x9E\x84Tb\0\x01\xE2V[\x84b\0\x02\x1EV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xDDW`\0\x84\x15b\0\x02\xC4WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02hV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x0EW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xEDV[P\x85\x82\x10\x15b\0\x03-W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Q`\xA0Qa\x0B`b\0\x03j`\09`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0B``\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct AstriaMintableERC20(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaMintableERC20 { fn clone(&self) -> Self { @@ -637,7 +784,6 @@ pub mod astria_mintable_erc20 { } impl ::core::ops::Deref for AstriaMintableERC20 { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -661,16 +807,16 @@ pub mod astria_mintable_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + ), + ) } - - /// Constructs the general purpose `Deployer` instance based on the provided constructor - /// arguments and sends it. Returns a new instance of a deployer that returns an - /// instance of this contract after sending the transaction + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -708,8 +854,7 @@ pub mod astria_mintable_erc20 { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -717,17 +862,18 @@ pub mod astria_mintable_erc20 { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `BRIDGE` (0xee9a31a2) function + ///Calls the contract's `BRIDGE` (0xee9a31a2) function pub fn bridge( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([238, 154, 49, 162], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `allowance` (0xdd62ed3e) function + ///Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, owner: ::ethers::core::types::Address, @@ -737,8 +883,7 @@ pub mod astria_mintable_erc20 { .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `approve` (0x095ea7b3) function + ///Calls the contract's `approve` (0x095ea7b3) function pub fn approve( &self, spender: ::ethers::core::types::Address, @@ -748,8 +893,7 @@ pub mod astria_mintable_erc20 { .method_hash([9, 94, 167, 179], (spender, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `balanceOf` (0x70a08231) function + ///Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, account: ::ethers::core::types::Address, @@ -758,15 +902,13 @@ pub mod astria_mintable_erc20 { .method_hash([112, 160, 130, 49], account) .expect("method not found (this should never happen)") } - - /// Calls the contract's `decimals` (0x313ce567) function + ///Calls the contract's `decimals` (0x313ce567) function pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `mint` (0x40c10f19) function + ///Calls the contract's `mint` (0x40c10f19) function pub fn mint( &self, to: ::ethers::core::types::Address, @@ -776,15 +918,15 @@ pub mod astria_mintable_erc20 { .method_hash([64, 193, 15, 25], (to, amount)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { + ///Calls the contract's `name` (0x06fdde03) function + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `symbol` (0x95d89b41) function + ///Calls the contract's `symbol` (0x95d89b41) function pub fn symbol( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -792,8 +934,7 @@ pub mod astria_mintable_erc20 { .method_hash([149, 216, 155, 65], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `totalSupply` (0x18160ddd) function + ///Calls the contract's `totalSupply` (0x18160ddd) function pub fn total_supply( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -801,8 +942,7 @@ pub mod astria_mintable_erc20 { .method_hash([24, 22, 13, 221], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `transfer` (0xa9059cbb) function + ///Calls the contract's `transfer` (0xa9059cbb) function pub fn transfer( &self, to: ::ethers::core::types::Address, @@ -812,8 +952,7 @@ pub mod astria_mintable_erc20 { .method_hash([169, 5, 156, 187], (to, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `transferFrom` (0x23b872dd) function + ///Calls the contract's `transferFrom` (0x23b872dd) function pub fn transfer_from( &self, from: ::ethers::core::types::Address, @@ -824,8 +963,7 @@ pub mod astria_mintable_erc20 { .method_hash([35, 184, 114, 221], (from, to, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + ///Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function pub fn withdraw_to_ibc_chain( &self, amount: ::ethers::core::types::U256, @@ -833,11 +971,13 @@ pub mod astria_mintable_erc20 { memo: ::std::string::String, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) + .method_hash( + [95, 229, 107, 9], + (amount, destination_chain_address, memo), + ) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToSequencer` (0x757e9874) function + ///Calls the contract's `withdrawToSequencer` (0x757e9874) function pub fn withdraw_to_sequencer( &self, amount: ::ethers::core::types::U256, @@ -847,62 +987,70 @@ pub mod astria_mintable_erc20 { .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Approval` event + ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `Mint` event + ///Gets the contract's `Mint` event pub fn mint_filter( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `Transfer` event + ///Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + AstriaMintableERC20Events, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 - { + for AstriaMintableERC20 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - /// Custom Error type `ERC20InsufficientAllowance` with signature - /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` #[derive( Clone, ::ethers::contract::EthError, @@ -911,7 +1059,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror( name = "ERC20InsufficientAllowance", @@ -922,8 +1070,7 @@ pub mod astria_mintable_erc20 { pub allowance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - /// Custom Error type `ERC20InsufficientBalance` with signature - /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` #[derive( Clone, ::ethers::contract::EthError, @@ -932,7 +1079,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror( name = "ERC20InsufficientBalance", @@ -943,8 +1090,7 @@ pub mod astria_mintable_erc20 { pub balance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and - /// selector `0xe602df05` + ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` #[derive( Clone, ::ethers::contract::EthError, @@ -953,14 +1099,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] pub struct ERC20InvalidApprover { pub approver: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and - /// selector `0xec442f05` + ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` #[derive( Clone, ::ethers::contract::EthError, @@ -969,14 +1114,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] pub struct ERC20InvalidReceiver { pub receiver: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and - /// selector `0x96c6fd1e` + ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` #[derive( Clone, ::ethers::contract::EthError, @@ -985,14 +1129,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] pub struct ERC20InvalidSender { pub sender: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and - /// selector `0x94280d62` + ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` #[derive( Clone, ::ethers::contract::EthError, @@ -1001,13 +1144,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] pub struct ERC20InvalidSpender { pub spender: ::ethers::core::types::Address, } - /// Container type for all of the contract's custom errors + ///Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), @@ -1025,39 +1168,39 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InsufficientAllowance(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InsufficientBalance(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidApprover(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidReceiver(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidSender(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidSpender(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1093,33 +1236,27 @@ pub mod astria_mintable_erc20 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -1129,12 +1266,24 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientAllowance(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InsufficientBalance(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidApprover(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidReceiver(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidSender(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidSpender(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1144,7 +1293,8 @@ pub mod astria_mintable_erc20 { Self::RevertString(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From + for AstriaMintableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } @@ -1182,7 +1332,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -1200,7 +1350,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -1222,7 +1372,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] pub struct MintFilter { @@ -1238,7 +1388,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -1259,7 +1409,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -1269,7 +1419,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Events { ApprovalFilter(ApprovalFilter), @@ -1292,9 +1442,7 @@ pub mod astria_mintable_erc20 { return Ok(AstriaMintableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( - decoded, - )); + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter(decoded)); } if let Ok(decoded) = TransferFilter::decode_log(log) { return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); @@ -1306,9 +1454,13 @@ pub mod astria_mintable_erc20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1338,8 +1490,7 @@ pub mod astria_mintable_erc20 { Self::TransferFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -1348,15 +1499,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` - /// and selector `0xee9a31a2` + ///Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthCall, @@ -1365,12 +1512,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] pub struct BridgeCall; - /// Container type for all input parameters for the `allowance` function with signature - /// `allowance(address,address)` and selector `0xdd62ed3e` + ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthCall, @@ -1379,15 +1525,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall { pub owner: ::ethers::core::types::Address, pub spender: ::ethers::core::types::Address, } - /// Container type for all input parameters for the `approve` function with signature - /// `approve(address,uint256)` and selector `0x095ea7b3` + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, @@ -1396,15 +1541,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { pub spender: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `balanceOf` function with signature - /// `balanceOf(address)` and selector `0x70a08231` + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthCall, @@ -1413,14 +1557,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall { pub account: ::ethers::core::types::Address, } - /// Container type for all input parameters for the `decimals` function with signature - /// `decimals()` and selector `0x313ce567` + ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, @@ -1429,12 +1572,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - /// Container type for all input parameters for the `mint` function with signature - /// `mint(address,uint256)` and selector `0x40c10f19` + ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` #[derive( Clone, ::ethers::contract::EthCall, @@ -1443,15 +1585,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "mint", abi = "mint(address,uint256)")] pub struct MintCall { pub to: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `name` function with signature `name()` and - /// selector `0x06fdde03` + ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, @@ -1460,12 +1601,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; - /// Container type for all input parameters for the `symbol` function with signature `symbol()` - /// and selector `0x95d89b41` + ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthCall, @@ -1474,12 +1614,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; - /// Container type for all input parameters for the `totalSupply` function with signature - /// `totalSupply()` and selector `0x18160ddd` + ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1488,12 +1627,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; - /// Container type for all input parameters for the `transfer` function with signature - /// `transfer(address,uint256)` and selector `0xa9059cbb` + ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthCall, @@ -1502,15 +1640,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `transferFrom` function with signature - /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1519,7 +1656,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1527,8 +1664,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `withdrawToIbcChain` function with signature - /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` #[derive( Clone, ::ethers::contract::EthCall, @@ -1537,7 +1673,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToIbcChain", @@ -1548,8 +1684,7 @@ pub mod astria_mintable_erc20 { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - /// Container type for all input parameters for the `withdrawToSequencer` function with - /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` #[derive( Clone, ::ethers::contract::EthCall, @@ -1558,7 +1693,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToSequencer", @@ -1568,7 +1703,7 @@ pub mod astria_mintable_erc20 { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's call + ///Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Calls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -1591,53 +1726,74 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Bridge(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Mint(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1650,16 +1806,28 @@ pub mod astria_mintable_erc20 { ::ethers::core::abi::AbiEncode::encode(element) } Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Decimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Transfer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::WithdrawToIbcChain(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1672,7 +1840,9 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::AssetWithdrawalDecimals(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), Self::Approve(element) => ::core::fmt::Display::fmt(element, f), @@ -1684,12 +1854,17 @@ pub mod astria_mintable_erc20 { Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToIbcChain(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToSequencer(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From + for AstriaMintableERC20Calls { fn from(value: AssetWithdrawalDecimalsCall) -> Self { Self::AssetWithdrawalDecimals(value) } @@ -1759,8 +1934,7 @@ pub mod astria_mintable_erc20 { Self::WithdrawToSequencer(value) } } - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1769,11 +1943,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); - /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` - /// and selector `0xee9a31a2` + ///Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1782,11 +1955,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BridgeReturn(pub ::ethers::core::types::Address); - /// Container type for all return fields from the `allowance` function with signature - /// `allowance(address,address)` and selector `0xdd62ed3e` + ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1795,11 +1967,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `approve` function with signature - /// `approve(address,uint256)` and selector `0x095ea7b3` + ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1808,11 +1979,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ApproveReturn(pub bool); - /// Container type for all return fields from the `balanceOf` function with signature - /// `balanceOf(address)` and selector `0x70a08231` + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1821,11 +1991,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `decimals` function with signature - /// `decimals()` and selector `0x313ce567` + ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1834,11 +2003,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DecimalsReturn(pub u8); - /// Container type for all return fields from the `name` function with signature `name()` and - /// selector `0x06fdde03` + ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1847,11 +2015,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NameReturn(pub ::std::string::String); - /// Container type for all return fields from the `symbol` function with signature `symbol()` - /// and selector `0x95d89b41` + ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1860,11 +2027,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SymbolReturn(pub ::std::string::String); - /// Container type for all return fields from the `totalSupply` function with signature - /// `totalSupply()` and selector `0x18160ddd` + ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1873,11 +2039,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `transfer` function with signature - /// `transfer(address,uint256)` and selector `0xa9059cbb` + ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1886,11 +2051,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferReturn(pub bool); - /// Container type for all return fields from the `transferFrom` function with signature - /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1899,7 +2063,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs similarity index 58% rename from crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer.rs rename to crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index cdfe97b891..23ea0b47b4 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -7,133 +7,171 @@ pub use astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "uint32" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_assetWithdrawalDecimals", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToOriginChain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToOriginChain",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToOriginChain", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToSequencer", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -141,19 +179,22 @@ pub mod astria_withdrawer { fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0398\x03\x80a\x039\x839\x81\x01`@\x81\x90Ra\0/\x91a\0=V[c\xFF\xFF\xFF\xFF\x16`\x80Ra\0jV[`\0` \x82\x84\x03\x12\x15a\0OW`\0\x80\xFD[\x81Qc\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\0cW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x02\xB5a\0\x84`\09`\0`K\x01Ra\x02\xB5`\0\xF3\xFE`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct AstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaWithdrawer { fn clone(&self) -> Self { @@ -162,7 +203,6 @@ pub mod astria_withdrawer { } impl ::core::ops::Deref for AstriaWithdrawer { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -186,16 +226,16 @@ pub mod astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ASTRIAWITHDRAWER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + ), + ) } - - /// Constructs the general purpose `Deployer` instance based on the provided constructor - /// arguments and sends it. Returns a new instance of a deployer that returns an - /// instance of this contract after sending the transaction + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -233,8 +273,7 @@ pub mod astria_withdrawer { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -242,8 +281,7 @@ pub mod astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function + ///Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function pub fn withdraw_to_origin_chain( &self, destination_chain_address: ::std::string::String, @@ -253,8 +291,7 @@ pub mod astria_withdrawer { .method_hash([145, 189, 29, 222], (destination_chain_address, memo)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function + ///Calls the contract's `withdrawToSequencer` (0x9a977afe) function pub fn withdraw_to_sequencer( &self, destination_chain_address: ::ethers::core::types::Address, @@ -263,35 +300,39 @@ pub mod astria_withdrawer { .method_hash([154, 151, 122, 254], destination_chain_address) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + AstriaWithdrawerEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaWithdrawer - { + for AstriaWithdrawer { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -304,7 +345,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -326,7 +367,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -339,7 +380,7 @@ pub mod astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -361,8 +402,12 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -376,8 +421,7 @@ pub mod astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -386,15 +430,11 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all input parameters for the `withdrawToOriginChain` function with - /// signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` + ///Container type for all input parameters for the `withdrawToOriginChain` function with signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` #[derive( Clone, ::ethers::contract::EthCall, @@ -403,7 +443,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToOriginChain", @@ -413,8 +453,7 @@ pub mod astria_withdrawer { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - /// Container type for all input parameters for the `withdrawToSequencer` function with - /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` + ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(address)` and selector `0x9a977afe` #[derive( Clone, ::ethers::contract::EthCall, @@ -423,13 +462,13 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] pub struct WithdrawToSequencerCall { pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's call + ///Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerCalls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -441,19 +480,19 @@ pub mod astria_withdrawer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToOriginChain(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -477,9 +516,15 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToOriginChain(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + Self::AssetWithdrawalDecimals(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToOriginChain(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToSequencer(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -498,8 +543,7 @@ pub mod astria_withdrawer { Self::WithdrawToSequencer(value) } } - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -508,7 +552,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs new file mode 100644 index 0000000000..d685b1672d --- /dev/null +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -0,0 +1,312 @@ +pub use i_astria_withdrawer::*; +/// This module was auto-generated with ethers-rs Abigen. +/// More information at: +#[allow( + clippy::enum_variant_names, + clippy::too_many_arguments, + clippy::upper_case_acronyms, + clippy::type_complexity, + dead_code, + non_camel_case_types, +)] +pub mod i_astria_withdrawer { + #[allow(deprecated)] + fn __abi() -> ::ethers::core::abi::Abi { + ::ethers::core::abi::ethabi::Contract { + constructor: ::core::option::Option::None, + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", + ), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), + events: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ( + ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], + ), + ]), + errors: ::std::collections::BTreeMap::new(), + receive: false, + fallback: false, + } + } + ///The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); + pub struct IAstriaWithdrawer(::ethers::contract::Contract); + impl ::core::clone::Clone for IAstriaWithdrawer { + fn clone(&self) -> Self { + Self(::core::clone::Clone::clone(&self.0)) + } + } + impl ::core::ops::Deref for IAstriaWithdrawer { + type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { + &self.0 + } + } + impl ::core::ops::DerefMut for IAstriaWithdrawer { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } + impl ::core::fmt::Debug for IAstriaWithdrawer { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + f.debug_tuple(::core::stringify!(IAstriaWithdrawer)) + .field(&self.address()) + .finish() + } + } + impl IAstriaWithdrawer { + /// Creates a new contract instance with the specified `ethers` client at + /// `address`. The contract derefs to a `ethers::Contract` object. + pub fn new>( + address: T, + client: ::std::sync::Arc, + ) -> Self { + Self( + ::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + ), + ) + } + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + pub fn asset_withdrawal_decimals( + &self, + ) -> ::ethers::contract::builders::ContractCall { + self.0 + .method_hash([143, 45, 140, 184], ()) + .expect("method not found (this should never happen)") + } + ///Gets the contract's `Ics20Withdrawal` event + pub fn ics_20_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { + self.0.event() + } + ///Gets the contract's `SequencerWithdrawal` event + pub fn sequencer_withdrawal_filter( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { + self.0.event() + } + /// Returns an `Event` builder for all the events of this contract. + pub fn events( + &self, + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + IAstriaWithdrawerEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) + } + } + impl From<::ethers::contract::Contract> + for IAstriaWithdrawer { + fn from(contract: ::ethers::contract::Contract) -> Self { + Self::new(contract.address(), contract.client()) + } + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "Ics20Withdrawal", + abi = "Ics20Withdrawal(address,uint256,string,string)" + )] + pub struct Ics20WithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::std::string::String, + pub memo: ::std::string::String, + } + #[derive( + Clone, + ::ethers::contract::EthEvent, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethevent( + name = "SequencerWithdrawal", + abi = "SequencerWithdrawal(address,uint256,address)" + )] + pub struct SequencerWithdrawalFilter { + #[ethevent(indexed)] + pub sender: ::ethers::core::types::Address, + #[ethevent(indexed)] + pub amount: ::ethers::core::types::U256, + pub destination_chain_address: ::ethers::core::types::Address, + } + ///Container type for all of the contract's events + #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] + pub enum IAstriaWithdrawerEvents { + Ics20WithdrawalFilter(Ics20WithdrawalFilter), + SequencerWithdrawalFilter(SequencerWithdrawalFilter), + } + impl ::ethers::contract::EthLogDecode for IAstriaWithdrawerEvents { + fn decode_log( + log: &::ethers::core::abi::RawLog, + ) -> ::core::result::Result { + if let Ok(decoded) = Ics20WithdrawalFilter::decode_log(log) { + return Ok(IAstriaWithdrawerEvents::Ics20WithdrawalFilter(decoded)); + } + if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { + return Ok(IAstriaWithdrawerEvents::SequencerWithdrawalFilter(decoded)); + } + Err(::ethers::core::abi::Error::InvalidData) + } + } + impl ::core::fmt::Display for IAstriaWithdrawerEvents { + fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { + match self { + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + } + } + } + impl ::core::convert::From for IAstriaWithdrawerEvents { + fn from(value: Ics20WithdrawalFilter) -> Self { + Self::Ics20WithdrawalFilter(value) + } + } + impl ::core::convert::From for IAstriaWithdrawerEvents { + fn from(value: SequencerWithdrawalFilter) -> Self { + Self::SequencerWithdrawalFilter(value) + } + } + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthCall, + ::ethers::contract::EthDisplay, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] + pub struct AssetWithdrawalDecimalsCall; + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + #[derive( + Clone, + ::ethers::contract::EthAbiType, + ::ethers::contract::EthAbiCodec, + Default, + Debug, + PartialEq, + Eq, + Hash + )] + pub struct AssetWithdrawalDecimalsReturn(pub u32); +} diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs new file mode 100644 index 0000000000..4234e98ed2 --- /dev/null +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -0,0 +1,8 @@ +#![allow(warnings)] + +pub(crate) mod astria_withdrawer_interface; + +#[cfg(test)] +pub(crate) mod astria_mintable_erc20; +#[cfg(test)] +pub(crate) mod astria_withdrawer; diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs index e1c95338b6..1cc8e33d6b 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs @@ -1,15 +1,10 @@ -#[allow(warnings)] -pub(crate) mod astria_withdrawer_interface; mod convert; mod watcher; pub(crate) use watcher::Watcher; -#[cfg(test)] -#[allow(warnings)] -mod astria_mintable_erc20; -#[cfg(test)] -#[allow(warnings)] -mod astria_withdrawer; +mod generated; +pub(crate) use generated::*; + #[cfg(test)] mod test_utils; From 77586a9cf9f55b47040f687e5710d85af3c0f6c3 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:04:58 -0400 Subject: [PATCH 05/22] commit AstriaMintableERC20.json --- .../out/AstriaMintableERC20.sol/AstriaMintableERC20.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 crates/astria-bridge-withdrawer/ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json diff --git a/crates/astria-bridge-withdrawer/ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json b/crates/astria-bridge-withdrawer/ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json new file mode 100644 index 0000000000..354fb517c8 --- /dev/null +++ b/crates/astria-bridge-withdrawer/ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_bridge","type":"address","internalType":"address"},{"name":"_assetWithdrawalDecimals","type":"uint32","internalType":"uint32"},{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"BRIDGE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawToIbcChain","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_destinationChainAddress","type":"string","internalType":"string"},{"name":"_memo","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawToSequencer","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_destinationChainAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Ics20Withdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"string","indexed":false,"internalType":"string"},{"name":"memo","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SequencerWithdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60c06040523480156200001157600080fd5b5060405162000eca38038062000eca83398101604081905262000034916200013a565b8181600362000044838262000271565b50600462000053828262000271565b5050506001600160a01b0390931660a0525063ffffffff16608052506200033d565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009d57600080fd5b81516001600160401b0380821115620000ba57620000ba62000075565b604051601f8301601f19908116603f01168101908282118183101715620000e557620000e562000075565b816040528381526020925086838588010111156200010257600080fd5b600091505b8382101562000126578582018301518183018401529082019062000107565b600093810190920192909252949350505050565b600080600080608085870312156200015157600080fd5b84516001600160a01b03811681146200016957600080fd5b602086015190945063ffffffff811681146200018457600080fd5b60408601519093506001600160401b0380821115620001a257600080fd5b620001b0888389016200008b565b93506060870151915080821115620001c757600080fd5b50620001d6878288016200008b565b91505092959194509250565b600181811c90821680620001f757607f821691505b6020821081036200021857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200026c57600081815260208120601f850160051c81016020861015620002475750805b601f850160051c820191505b81811015620002685782815560010162000253565b5050505b505050565b81516001600160401b038111156200028d576200028d62000075565b620002a5816200029e8454620001e2565b846200021e565b602080601f831160018114620002dd5760008415620002c45750858301515b600019600386901b1c1916600185901b17855562000268565b600085815260208120601f198616915b828110156200030e57888601518255948401946001909101908401620002ed565b50858210156200032d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051610b606200036a6000396000818161025d0152610372015260006101cd0152610b606000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610204578063a9059cbb1461020c578063dd62ed3e1461021f578063ee9a31a21461025857600080fd5b806370a082311461018c578063757e9874146101b55780638f2d8cb8146101c857600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce5671461015557806340c10f19146101645780635fe56b091461017957600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f7610297565b6040516101049190610869565b60405180910390f35b61012061011b3660046108d3565b610329565b6040519015158152602001610104565b6002545b604051908152602001610104565b6101206101503660046108fd565b610343565b60405160128152602001610104565b6101776101723660046108d3565b610367565b005b610177610187366004610982565b610447565b61013461019a3660046109fc565b6001600160a01b031660009081526020819052604090205490565b6101776101c3366004610a1e565b6104a0565b6101ef7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610104565b6100f76104ee565b61012061021a3660046108d3565b6104fd565b61013461022d366004610a4a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61027f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610104565b6060600380546102a690610a74565b80601f01602080910402602001604051908101604052809291908181526020018280546102d290610a74565b801561031f5780601f106102f45761010080835404028352916020019161031f565b820191906000526020600020905b81548152906001019060200180831161030257829003601f168201915b5050505050905090565b60003361033781858561050b565b60019150505b92915050565b60003361035185828561051d565b61035c85858561059b565b506001949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103f65760405162461bcd60e51b815260206004820152602960248201527f4173747269614d696e7461626c6545524332303a206f6e6c79206272696467656044820152680818d85b881b5a5b9d60ba1b60648201526084015b60405180910390fd5b61040082826105fa565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161043b91815260200190565b60405180910390a25050565b6104513386610634565b84336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb868686866040516104919493929190610ad7565b60405180910390a35050505050565b6104aa3383610634565b6040516001600160a01b0382168152829033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e39060200160405180910390a35050565b6060600480546102a690610a74565b60003361033781858561059b565b610518838383600161066a565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610595578181101561058657604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103ed565b6105958484848403600061066a565b50505050565b6001600160a01b0383166105c557604051634b637e8f60e11b8152600060048201526024016103ed565b6001600160a01b0382166105ef5760405163ec442f0560e01b8152600060048201526024016103ed565b61051883838361073f565b6001600160a01b0382166106245760405163ec442f0560e01b8152600060048201526024016103ed565b6106306000838361073f565b5050565b6001600160a01b03821661065e57604051634b637e8f60e11b8152600060048201526024016103ed565b6106308260008361073f565b6001600160a01b0384166106945760405163e602df0560e01b8152600060048201526024016103ed565b6001600160a01b0383166106be57604051634a1406b160e11b8152600060048201526024016103ed565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561059557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161073191815260200190565b60405180910390a350505050565b6001600160a01b03831661076a57806002600082825461075f9190610b09565b909155506107dc9050565b6001600160a01b038316600090815260208190526040902054818110156107bd5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103ed565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166107f857600280548290039055610817565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161085c91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156108965785810183015185820160400152820161087a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108ce57600080fd5b919050565b600080604083850312156108e657600080fd5b6108ef836108b7565b946020939093013593505050565b60008060006060848603121561091257600080fd5b61091b846108b7565b9250610929602085016108b7565b9150604084013590509250925092565b60008083601f84011261094b57600080fd5b50813567ffffffffffffffff81111561096357600080fd5b60208301915083602082850101111561097b57600080fd5b9250929050565b60008060008060006060868803121561099a57600080fd5b85359450602086013567ffffffffffffffff808211156109b957600080fd5b6109c589838a01610939565b909650945060408801359150808211156109de57600080fd5b506109eb88828901610939565b969995985093965092949392505050565b600060208284031215610a0e57600080fd5b610a17826108b7565b9392505050565b60008060408385031215610a3157600080fd5b82359150610a41602084016108b7565b90509250929050565b60008060408385031215610a5d57600080fd5b610a66836108b7565b9150610a41602084016108b7565b600181811c90821680610a8857607f821691505b602082108103610aa857634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610aeb604083018688610aae565b8281036020840152610afe818587610aae565b979650505050505050565b8082018082111561033d57634e487b7160e01b600052601160045260246000fdfea2646970667358221220c8bb8e84f31d2cd3842d6805458faf619488f92cc2dac5a0b29bc0646c51fc3f64736f6c63430008150033","sourceMap":"214:1330:25:-:0;;;627:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;777:5;784:7;1962:5:20;:13;777:5:25;1962::20;:13;:::i;:::-;-1:-1:-1;1985:7:20;:17;1995:7;1985;:17;:::i;:::-;-1:-1:-1;;;;;;;;803:16:25;;::::1;;::::0;-1:-1:-1;829:52:25::1;;;::::0;-1:-1:-1;214:1330:25;;14:127:28;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:28;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:28;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:28:o;991:895::-;1107:6;1115;1123;1131;1184:3;1172:9;1163:7;1159:23;1155:33;1152:53;;;1201:1;1198;1191:12;1152:53;1227:16;;-1:-1:-1;;;;;1272:31:28;;1262:42;;1252:70;;1318:1;1315;1308:12;1252:70;1391:2;1376:18;;1370:25;1341:5;;-1:-1:-1;1439:10:28;1426:24;;1414:37;;1404:65;;1465:1;1462;1455:12;1404:65;1539:2;1524:18;;1518:25;1488:7;;-1:-1:-1;;;;;;1592:14:28;;;1589:34;;;1619:1;1616;1609:12;1589:34;1642:61;1695:7;1686:6;1675:9;1671:22;1642:61;:::i;:::-;1632:71;;1749:2;1738:9;1734:18;1728:25;1712:41;;1778:2;1768:8;1765:16;1762:36;;;1794:1;1791;1784:12;1762:36;;1817:63;1872:7;1861:8;1850:9;1846:24;1817:63;:::i;:::-;1807:73;;;991:895;;;;;;;:::o;1891:380::-;1970:1;1966:12;;;;2013;;;2034:61;;2088:4;2080:6;2076:17;2066:27;;2034:61;2141:2;2133:6;2130:14;2110:18;2107:38;2104:161;;2187:10;2182:3;2178:20;2175:1;2168:31;2222:4;2219:1;2212:15;2250:4;2247:1;2240:15;2104:161;;1891:380;;;:::o;2402:545::-;2504:2;2499:3;2496:11;2493:448;;;2540:1;2565:5;2561:2;2554:17;2610:4;2606:2;2596:19;2680:2;2668:10;2664:19;2661:1;2657:27;2651:4;2647:38;2716:4;2704:10;2701:20;2698:47;;;-1:-1:-1;2739:4:28;2698:47;2794:2;2789:3;2785:12;2782:1;2778:20;2772:4;2768:31;2758:41;;2849:82;2867:2;2860:5;2857:13;2849:82;;;2912:17;;;2893:1;2882:13;2849:82;;;2853:3;;;2493:448;2402:545;;;:::o;3123:1352::-;3243:10;;-1:-1:-1;;;;;3265:30:28;;3262:56;;;3298:18;;:::i;:::-;3327:97;3417:6;3377:38;3409:4;3403:11;3377:38;:::i;:::-;3371:4;3327:97;:::i;:::-;3479:4;;3543:2;3532:14;;3560:1;3555:663;;;;4262:1;4279:6;4276:89;;;-1:-1:-1;4331:19:28;;;4325:26;4276:89;-1:-1:-1;;3080:1:28;3076:11;;;3072:24;3068:29;3058:40;3104:1;3100:11;;;3055:57;4378:81;;3525:944;;3555:663;2349:1;2342:14;;;2386:4;2373:18;;-1:-1:-1;;3591:20:28;;;3709:236;3723:7;3720:1;3717:14;3709:236;;;3812:19;;;3806:26;3791:42;;3904:27;;;;3872:1;3860:14;;;;3739:19;;3709:236;;;3713:3;3973:6;3964:7;3961:19;3958:201;;;4034:19;;;4028:26;-1:-1:-1;;4117:1:28;4113:14;;;4129:3;4109:24;4105:37;4101:42;4086:58;4071:74;;3958:201;-1:-1:-1;;;;;4205:1:28;4189:14;;;4185:22;4172:36;;-1:-1:-1;3123:1352:28:o;:::-;214:1330:25;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610204578063a9059cbb1461020c578063dd62ed3e1461021f578063ee9a31a21461025857600080fd5b806370a082311461018c578063757e9874146101b55780638f2d8cb8146101c857600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce5671461015557806340c10f19146101645780635fe56b091461017957600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f7610297565b6040516101049190610869565b60405180910390f35b61012061011b3660046108d3565b610329565b6040519015158152602001610104565b6002545b604051908152602001610104565b6101206101503660046108fd565b610343565b60405160128152602001610104565b6101776101723660046108d3565b610367565b005b610177610187366004610982565b610447565b61013461019a3660046109fc565b6001600160a01b031660009081526020819052604090205490565b6101776101c3366004610a1e565b6104a0565b6101ef7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610104565b6100f76104ee565b61012061021a3660046108d3565b6104fd565b61013461022d366004610a4a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61027f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610104565b6060600380546102a690610a74565b80601f01602080910402602001604051908101604052809291908181526020018280546102d290610a74565b801561031f5780601f106102f45761010080835404028352916020019161031f565b820191906000526020600020905b81548152906001019060200180831161030257829003601f168201915b5050505050905090565b60003361033781858561050b565b60019150505b92915050565b60003361035185828561051d565b61035c85858561059b565b506001949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103f65760405162461bcd60e51b815260206004820152602960248201527f4173747269614d696e7461626c6545524332303a206f6e6c79206272696467656044820152680818d85b881b5a5b9d60ba1b60648201526084015b60405180910390fd5b61040082826105fa565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161043b91815260200190565b60405180910390a25050565b6104513386610634565b84336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb868686866040516104919493929190610ad7565b60405180910390a35050505050565b6104aa3383610634565b6040516001600160a01b0382168152829033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e39060200160405180910390a35050565b6060600480546102a690610a74565b60003361033781858561059b565b610518838383600161066a565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610595578181101561058657604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103ed565b6105958484848403600061066a565b50505050565b6001600160a01b0383166105c557604051634b637e8f60e11b8152600060048201526024016103ed565b6001600160a01b0382166105ef5760405163ec442f0560e01b8152600060048201526024016103ed565b61051883838361073f565b6001600160a01b0382166106245760405163ec442f0560e01b8152600060048201526024016103ed565b6106306000838361073f565b5050565b6001600160a01b03821661065e57604051634b637e8f60e11b8152600060048201526024016103ed565b6106308260008361073f565b6001600160a01b0384166106945760405163e602df0560e01b8152600060048201526024016103ed565b6001600160a01b0383166106be57604051634a1406b160e11b8152600060048201526024016103ed565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561059557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161073191815260200190565b60405180910390a350505050565b6001600160a01b03831661076a57806002600082825461075f9190610b09565b909155506107dc9050565b6001600160a01b038316600090815260208190526040902054818110156107bd5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103ed565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166107f857600280548290039055610817565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161085c91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156108965785810183015185820160400152820161087a565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108ce57600080fd5b919050565b600080604083850312156108e657600080fd5b6108ef836108b7565b946020939093013593505050565b60008060006060848603121561091257600080fd5b61091b846108b7565b9250610929602085016108b7565b9150604084013590509250925092565b60008083601f84011261094b57600080fd5b50813567ffffffffffffffff81111561096357600080fd5b60208301915083602082850101111561097b57600080fd5b9250929050565b60008060008060006060868803121561099a57600080fd5b85359450602086013567ffffffffffffffff808211156109b957600080fd5b6109c589838a01610939565b909650945060408801359150808211156109de57600080fd5b506109eb88828901610939565b969995985093965092949392505050565b600060208284031215610a0e57600080fd5b610a17826108b7565b9392505050565b60008060408385031215610a3157600080fd5b82359150610a41602084016108b7565b90509250929050565b60008060408385031215610a5d57600080fd5b610a66836108b7565b9150610a41602084016108b7565b600181811c90821680610a8857607f821691505b602082108103610aa857634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610aeb604083018688610aae565b8281036020840152610afe818587610aae565b979650505050505050565b8082018082111561033d57634e487b7160e01b600052601160045260246000fdfea2646970667358221220c8bb8e84f31d2cd3842d6805458faf619488f92cc2dac5a0b29bc0646c51fc3f64736f6c63430008150033","sourceMap":"214:1330:25:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4293:186;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:28;;1162:22;1144:41;;1132:2;1117:18;4293:186:20;1004:187:28;3144:97:20;3222:12;;3144:97;;;1342:25:28;;;1330:2;1315:18;3144:97:20;1196:177:28;5039:244:20;;;;;;:::i;:::-;;:::i;3002:82::-;;;3075:2;1853:36:28;;1841:2;1826:18;3002:82:20;1711:184:28;894:153:25;;;;;;:::i;:::-;;:::i;:::-;;1284:258;;;;;;:::i;:::-;;:::i;3299:116:20:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3390:18:20;3364:7;3390:18;;;;;;;;;;;;3299:116;1053:225:25;;;;;;:::i;:::-;;:::i;475:49:27:-;;;;;;;;3671:10:28;3659:23;;;3641:42;;3629:2;3614:18;475:49:27;3497:192:28;2276:93:20;;;:::i;3610:178::-;;;;;;:::i;:::-;;:::i;3846:140::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3952:18:20;;;3926:7;3952:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3846:140;348:31:25;;;;;;;;-1:-1:-1;;;;;4123:32:28;;;4105:51;;4093:2;4078:18;348:31:25;3959:203:28;2074:89:20;2119:13;2151:5;2144:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89;:::o;4293:186::-;4366:4;735:10:23;4420:31:20;735:10:23;4436:7:20;4445:5;4420:8;:31::i;:::-;4468:4;4461:11;;;4293:186;;;;;:::o;5039:244::-;5126:4;735:10:23;5182:37:20;5198:4;735:10:23;5213:5:20;5182:15;:37::i;:::-;5229:26;5239:4;5245:2;5249:5;5229:9;:26::i;:::-;-1:-1:-1;5272:4:20;;5039:244;-1:-1:-1;;;;5039:244:20:o;894:153:25:-;537:10;-1:-1:-1;;;;;551:6:25;537:20;;529:74;;;;-1:-1:-1;;;529:74:25;;4754:2:28;529:74:25;;;4736:21:28;4793:2;4773:18;;;4766:30;4832:34;4812:18;;;4805:62;-1:-1:-1;;;4883:18:28;;;4876:39;4932:19;;529:74:25;;;;;;;;;988:19:::1;994:3;999:7;988:5;:19::i;:::-;1027:3;-1:-1:-1::0;;;;;1022:18:25::1;;1032:7;1022:18;;;;1342:25:28::0;;1330:2;1315:18;;1196:177;1022:18:25::1;;;;;;;;894:153:::0;;:::o;1284:258::-;1425:26;1431:10;1443:7;1425:5;:26::i;:::-;1494:7;1482:10;-1:-1:-1;;;;;1466:69:25;;1503:24;;1529:5;;1466:69;;;;;;;;;:::i;:::-;;;;;;;;1284:258;;;;;:::o;1053:225::-;1164:26;1170:10;1182:7;1164:5;:26::i;:::-;1205:66;;-1:-1:-1;;;;;4123:32:28;;4105:51;;1237:7:25;;1225:10;;1205:66;;4093:2:28;4078:18;1205:66:25;;;;;;;1053:225;;:::o;2276:93:20:-;2323:13;2355:7;2348:14;;;;;:::i;3610:178::-;3679:4;735:10:23;3733:27:20;735:10:23;3750:2:20;3754:5;3733:9;:27::i;8989:128::-;9073:37;9082:5;9089:7;9098:5;9105:4;9073:8;:37::i;:::-;8989:128;;;:::o;10663:477::-;-1:-1:-1;;;;;3952:18:20;;;10762:24;3952:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;10828:37:20;;10824:310;;10904:5;10885:16;:24;10881:130;;;10936:60;;-1:-1:-1;;;10936:60:20;;-1:-1:-1;;;;;5896:32:28;;10936:60:20;;;5878:51:28;5945:18;;;5938:34;;;5988:18;;;5981:34;;;5851:18;;10936:60:20;5676:345:28;10881:130:20;11052:57;11061:5;11068:7;11096:5;11077:16;:24;11103:5;11052:8;:57::i;:::-;10752:388;10663:477;;;:::o;5656:300::-;-1:-1:-1;;;;;5739:18:20;;5735:86;;5780:30;;-1:-1:-1;;;5780:30:20;;5807:1;5780:30;;;4105:51:28;4078:18;;5780:30:20;3959:203:28;5735:86:20;-1:-1:-1;;;;;5834:16:20;;5830:86;;5873:32;;-1:-1:-1;;;5873:32:20;;5902:1;5873:32;;;4105:51:28;4078:18;;5873:32:20;3959:203:28;5830:86:20;5925:24;5933:4;5939:2;5943:5;5925:7;:24::i;7721:208::-;-1:-1:-1;;;;;7791:21:20;;7787:91;;7835:32;;-1:-1:-1;;;7835:32:20;;7864:1;7835:32;;;4105:51:28;4078:18;;7835:32:20;3959:203:28;7787:91:20;7887:35;7903:1;7907:7;7916:5;7887:7;:35::i;:::-;7721:208;;:::o;8247:206::-;-1:-1:-1;;;;;8317:21:20;;8313:89;;8361:30;;-1:-1:-1;;;8361:30:20;;8388:1;8361:30;;;4105:51:28;4078:18;;8361:30:20;3959:203:28;8313:89:20;8411:35;8419:7;8436:1;8440:5;8411:7;:35::i;9949:432::-;-1:-1:-1;;;;;10061:19:20;;10057:89;;10103:32;;-1:-1:-1;;;10103:32:20;;10132:1;10103:32;;;4105:51:28;4078:18;;10103:32:20;3959:203:28;10057:89:20;-1:-1:-1;;;;;10159:21:20;;10155:90;;10203:31;;-1:-1:-1;;;10203:31:20;;10231:1;10203:31;;;4105:51:28;4078:18;;10203:31:20;3959:203:28;10155:90:20;-1:-1:-1;;;;;10254:18:20;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;10299:76;;;;10349:7;-1:-1:-1;;;;;10333:31:20;10342:5;-1:-1:-1;;;;;10333:31:20;;10358:5;10333:31;;;;1342:25:28;;1330:2;1315:18;;1196:177;10333:31:20;;;;;;;;9949:432;;;;:::o;6271:1107::-;-1:-1:-1;;;;;6360:18:20;;6356:540;;6512:5;6496:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;6356:540:20;;-1:-1:-1;6356:540:20;;-1:-1:-1;;;;;6570:15:20;;6548:19;6570:15;;;;;;;;;;;6603:19;;;6599:115;;;6649:50;;-1:-1:-1;;;6649:50:20;;-1:-1:-1;;;;;5896:32:28;;6649:50:20;;;5878:51:28;5945:18;;;5938:34;;;5988:18;;;5981:34;;;5851:18;;6649:50:20;5676:345:28;6599:115:20;-1:-1:-1;;;;;6834:15:20;;:9;:15;;;;;;;;;;6852:19;;;;6834:37;;6356:540;-1:-1:-1;;;;;6910:16:20;;6906:425;;7073:12;:21;;;;;;;6906:425;;;-1:-1:-1;;;;;7284:13:20;;:9;:13;;;;;;;;;;:22;;;;;;6906:425;7361:2;-1:-1:-1;;;;;7346:25:20;7355:4;-1:-1:-1;;;;;7346:25:20;;7365:5;7346:25;;;;1342::28;;1330:2;1315:18;;1196:177;7346:25:20;;;;;;;;6271:1107;;;:::o;14:548:28:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:28;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:28:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:348::-;1952:8;1962:6;2016:3;2009:4;2001:6;1997:17;1993:27;1983:55;;2034:1;2031;2024:12;1983:55;-1:-1:-1;2057:20:28;;2100:18;2089:30;;2086:50;;;2132:1;2129;2122:12;2086:50;2169:4;2161:6;2157:17;2145:29;;2221:3;2214:4;2205:6;2197;2193:19;2189:30;2186:39;2183:59;;;2238:1;2235;2228:12;2183:59;1900:348;;;;;:::o;2253:789::-;2354:6;2362;2370;2378;2386;2439:2;2427:9;2418:7;2414:23;2410:32;2407:52;;;2455:1;2452;2445:12;2407:52;2491:9;2478:23;2468:33;;2552:2;2541:9;2537:18;2524:32;2575:18;2616:2;2608:6;2605:14;2602:34;;;2632:1;2629;2622:12;2602:34;2671:59;2722:7;2713:6;2702:9;2698:22;2671:59;:::i;:::-;2749:8;;-1:-1:-1;2645:85:28;-1:-1:-1;2837:2:28;2822:18;;2809:32;;-1:-1:-1;2853:16:28;;;2850:36;;;2882:1;2879;2872:12;2850:36;;2921:61;2974:7;2963:8;2952:9;2948:24;2921:61;:::i;:::-;2253:789;;;;-1:-1:-1;2253:789:28;;-1:-1:-1;3001:8:28;;2895:87;2253:789;-1:-1:-1;;;2253:789:28:o;3047:186::-;3106:6;3159:2;3147:9;3138:7;3134:23;3130:32;3127:52;;;3175:1;3172;3165:12;3127:52;3198:29;3217:9;3198:29;:::i;:::-;3188:39;3047:186;-1:-1:-1;;;3047:186:28:o;3238:254::-;3306:6;3314;3367:2;3355:9;3346:7;3342:23;3338:32;3335:52;;;3383:1;3380;3373:12;3335:52;3419:9;3406:23;3396:33;;3448:38;3482:2;3471:9;3467:18;3448:38;:::i;:::-;3438:48;;3238:254;;;;;:::o;3694:260::-;3762:6;3770;3823:2;3811:9;3802:7;3798:23;3794:32;3791:52;;;3839:1;3836;3829:12;3791:52;3862:29;3881:9;3862:29;:::i;:::-;3852:39;;3910:38;3944:2;3933:9;3929:18;3910:38;:::i;4167:380::-;4246:1;4242:12;;;;4289;;;4310:61;;4364:4;4356:6;4352:17;4342:27;;4310:61;4417:2;4409:6;4406:14;4386:18;4383:38;4380:161;;4463:10;4458:3;4454:20;4451:1;4444:31;4498:4;4495:1;4488:15;4526:4;4523:1;4516:15;4380:161;;4167:380;;;:::o;4962:267::-;5051:6;5046:3;5039:19;5103:6;5096:5;5089:4;5084:3;5080:14;5067:43;-1:-1:-1;5155:1:28;5130:16;;;5148:4;5126:27;;;5119:38;;;;5211:2;5190:15;;;-1:-1:-1;;5186:29:28;5177:39;;;5173:50;;4962:267::o;5234:437::-;5451:2;5440:9;5433:21;5414:4;5477:62;5535:2;5524:9;5520:18;5512:6;5504;5477:62;:::i;:::-;5587:9;5579:6;5575:22;5570:2;5559:9;5555:18;5548:50;5615;5658:6;5650;5642;5615:50;:::i;:::-;5607:58;5234:437;-1:-1:-1;;;;;;;5234:437:28:o;6026:222::-;6091:9;;;6112:10;;;6109:133;;;6164:10;6159:3;6155:20;6152:1;6145:31;6199:4;6196:1;6189:15;6227:4;6224:1;6217:15","linkReferences":{},"immutableReferences":{"44182":[{"start":605,"length":32},{"start":882,"length":32}],"44342":[{"start":461,"length":32}]}},"methodIdentifiers":{"ASSET_WITHDRAWAL_DECIMALS()":"8f2d8cb8","BRIDGE()":"ee9a31a2","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdrawToIbcChain(uint256,string,string)":"5fe56b09","withdrawToSequencer(uint256,address)":"757e9874"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_bridge\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_assetWithdrawalDecimals\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChainAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"Ics20Withdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destinationChainAddress\",\"type\":\"address\"}],\"name\":\"SequencerWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_WITHDRAWAL_DECIMALS\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_destinationChainAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_memo\",\"type\":\"string\"}],\"name\":\"withdrawToIbcChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_destinationChainAddress\",\"type\":\"address\"}],\"name\":\"withdrawToSequencer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/AstriaMintableERC20.sol\":\"AstriaMintableERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229\",\"dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"src/AstriaMintableERC20.sol\":{\"keccak256\":\"0x6c0fc40436e4dfc0f164c5149605c73e07f92ecf8d065e0f08b2b5adba23e698\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://128bcaa2a4aaab877ffcb00853e7a1ab6eb6a690db0284e6ae78ed102ee7eeb6\",\"dweb:/ipfs/QmbdrHUdG5AY3MZVW9PukjDXdrvh4eGXQ6sGGS7c4Fw9NU\"]},\"src/IAstriaWithdrawer.sol\":{\"keccak256\":\"0x56ef63c0a56b85a526ca9b2438715b2e4653df3ca788813578ac442460e36de2\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://2342adaa811db78f941b166f4688bacef5ea43d813af414c82f8a0c624fd39f5\",\"dweb:/ipfs/QmTDEqyv3C7ts6jgWcAjiZzPCcL7qGkacHYtZeUia9Fdv3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"uint32","name":"_assetWithdrawalDecimals","type":"uint32"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"string","name":"destinationChainAddress","type":"string","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false}],"type":"event","name":"Ics20Withdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"address","name":"destinationChainAddress","type":"address","indexed":false}],"type":"event","name":"SequencerWithdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ASSET_WITHDRAWAL_DECIMALS","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BRIDGE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"string","name":"_destinationChainAddress","type":"string"},{"internalType":"string","name":"_memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"withdrawToIbcChain"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_destinationChainAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawToSequencer"}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/AstriaMintableERC20.sol":"AstriaMintableERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80","urls":["bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229","dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"src/AstriaMintableERC20.sol":{"keccak256":"0x6c0fc40436e4dfc0f164c5149605c73e07f92ecf8d065e0f08b2b5adba23e698","urls":["bzz-raw://128bcaa2a4aaab877ffcb00853e7a1ab6eb6a690db0284e6ae78ed102ee7eeb6","dweb:/ipfs/QmbdrHUdG5AY3MZVW9PukjDXdrvh4eGXQ6sGGS7c4Fw9NU"],"license":"MIT or Apache-2.0"},"src/IAstriaWithdrawer.sol":{"keccak256":"0x56ef63c0a56b85a526ca9b2438715b2e4653df3ca788813578ac442460e36de2","urls":["bzz-raw://2342adaa811db78f941b166f4688bacef5ea43d813af414c82f8a0c624fd39f5","dweb:/ipfs/QmTDEqyv3C7ts6jgWcAjiZzPCcL7qGkacHYtZeUia9Fdv3"],"license":"MIT or Apache-2.0"}},"version":1},"ast":{"absolutePath":"src/AstriaMintableERC20.sol","id":44291,"exportedSymbols":{"AstriaMintableERC20":[44290],"ERC20":[43855],"IAstriaWithdrawer":[44361]},"nodeType":"SourceUnit","src":"46:1499:25","nodes":[{"id":44172,"nodeType":"PragmaDirective","src":"46:24:25","nodes":[],"literals":["solidity","^","0.8",".21"]},{"id":44174,"nodeType":"ImportDirective","src":"72:58:25","nodes":[],"absolutePath":"src/IAstriaWithdrawer.sol","file":"./IAstriaWithdrawer.sol","nameLocation":"-1:-1:-1","scope":44291,"sourceUnit":44362,"symbolAliases":[{"foreign":{"id":44173,"name":"IAstriaWithdrawer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44361,"src":"80:17:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":44176,"nodeType":"ImportDirective","src":"131:81:25","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":44291,"sourceUnit":43856,"symbolAliases":[{"foreign":{"id":44175,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43855,"src":"139:5:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":44290,"nodeType":"ContractDefinition","src":"214:1330:25","nodes":[{"id":44182,"nodeType":"VariableDeclaration","src":"348:31:25","nodes":[],"constant":false,"functionSelector":"ee9a31a2","mutability":"immutable","name":"BRIDGE","nameLocation":"373:6:25","scope":44290,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44181,"name":"address","nodeType":"ElementaryTypeName","src":"348:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":44188,"nodeType":"EventDefinition","src":"439:52:25","nodes":[],"anonymous":false,"eventSelector":"0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885","name":"Mint","nameLocation":"445:4:25","parameters":{"id":44187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44184,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"466:7:25","nodeType":"VariableDeclaration","scope":44188,"src":"450:23:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44183,"name":"address","nodeType":"ElementaryTypeName","src":"450:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44186,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"483:6:25","nodeType":"VariableDeclaration","scope":44188,"src":"475:14:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44185,"name":"uint256","nodeType":"ElementaryTypeName","src":"475:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"449:41:25"}},{"id":44200,"nodeType":"ModifierDefinition","src":"497:124:25","nodes":[],"body":{"id":44199,"nodeType":"Block","src":"519:102:25","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":44194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":44191,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"537:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"541:6:25","memberName":"sender","nodeType":"MemberAccess","src":"537:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":44193,"name":"BRIDGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44182,"src":"551:6:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"537:20:25","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4173747269614d696e7461626c6545524332303a206f6e6c79206272696467652063616e206d696e74","id":44195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"559:43:25","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ce1e585f76b2df4de3e6c3c476877ee15bee51c0d9a234a6bdef0c0b86b1ef7","typeString":"literal_string \"AstriaMintableERC20: only bridge can mint\""},"value":"AstriaMintableERC20: only bridge can mint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_7ce1e585f76b2df4de3e6c3c476877ee15bee51c0d9a234a6bdef0c0b86b1ef7","typeString":"literal_string \"AstriaMintableERC20: only bridge can mint\""}],"id":44190,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"529:7:25","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":44196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"529:74:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44197,"nodeType":"ExpressionStatement","src":"529:74:25"},{"id":44198,"nodeType":"PlaceholderStatement","src":"613:1:25"}]},"name":"onlyBridge","nameLocation":"506:10:25","parameters":{"id":44189,"nodeType":"ParameterList","parameters":[],"src":"516:2:25"},"virtual":false,"visibility":"internal"},{"id":44224,"nodeType":"FunctionDefinition","src":"627:261:25","nodes":[],"body":{"id":44223,"nodeType":"Block","src":"793:95:25","nodes":[],"statements":[{"expression":{"id":44217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44215,"name":"BRIDGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44182,"src":"803:6:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44216,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44202,"src":"812:7:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"803:16:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":44218,"nodeType":"ExpressionStatement","src":"803:16:25"},{"expression":{"id":44221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":44219,"name":"ASSET_WITHDRAWAL_DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44342,"src":"829:25:25","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":44220,"name":"_assetWithdrawalDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44204,"src":"857:24:25","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"829:52:25","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":44222,"nodeType":"ExpressionStatement","src":"829:52:25"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":44211,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44206,"src":"777:5:25","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44212,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44208,"src":"784:7:25","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":44213,"kind":"baseConstructorSpecifier","modifierName":{"id":44210,"name":"ERC20","nameLocations":["771:5:25"],"nodeType":"IdentifierPath","referencedDeclaration":43855,"src":"771:5:25"},"nodeType":"ModifierInvocation","src":"771:21:25"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":44209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44202,"mutability":"mutable","name":"_bridge","nameLocation":"656:7:25","nodeType":"VariableDeclaration","scope":44224,"src":"648:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44201,"name":"address","nodeType":"ElementaryTypeName","src":"648:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44204,"mutability":"mutable","name":"_assetWithdrawalDecimals","nameLocation":"680:24:25","nodeType":"VariableDeclaration","scope":44224,"src":"673:31:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":44203,"name":"uint32","nodeType":"ElementaryTypeName","src":"673:6:25","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":44206,"mutability":"mutable","name":"_name","nameLocation":"728:5:25","nodeType":"VariableDeclaration","scope":44224,"src":"714:19:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44205,"name":"string","nodeType":"ElementaryTypeName","src":"714:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44208,"mutability":"mutable","name":"_symbol","nameLocation":"757:7:25","nodeType":"VariableDeclaration","scope":44224,"src":"743:21:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44207,"name":"string","nodeType":"ElementaryTypeName","src":"743:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"638:132:25"},"returnParameters":{"id":44214,"nodeType":"ParameterList","parameters":[],"src":"793:0:25"},"scope":44290,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":44244,"nodeType":"FunctionDefinition","src":"894:153:25","nodes":[],"body":{"id":44243,"nodeType":"Block","src":"978:69:25","nodes":[],"statements":[{"expression":{"arguments":[{"id":44234,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44226,"src":"994:3:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44235,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44228,"src":"999:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44233,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43695,"src":"988:5:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":44236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"988:19:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44237,"nodeType":"ExpressionStatement","src":"988:19:25"},{"eventCall":{"arguments":[{"id":44239,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44226,"src":"1027:3:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44240,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44228,"src":"1032:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44238,"name":"Mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44188,"src":"1022:4:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":44241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1022:18:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44242,"nodeType":"EmitStatement","src":"1017:23:25"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[{"id":44231,"kind":"modifierInvocation","modifierName":{"id":44230,"name":"onlyBridge","nameLocations":["963:10:25"],"nodeType":"IdentifierPath","referencedDeclaration":44200,"src":"963:10:25"},"nodeType":"ModifierInvocation","src":"963:10:25"}],"name":"mint","nameLocation":"903:4:25","parameters":{"id":44229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44226,"mutability":"mutable","name":"_to","nameLocation":"916:3:25","nodeType":"VariableDeclaration","scope":44244,"src":"908:11:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44225,"name":"address","nodeType":"ElementaryTypeName","src":"908:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44228,"mutability":"mutable","name":"_amount","nameLocation":"929:7:25","nodeType":"VariableDeclaration","scope":44244,"src":"921:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44227,"name":"uint256","nodeType":"ElementaryTypeName","src":"921:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"907:30:25"},"returnParameters":{"id":44232,"nodeType":"ParameterList","parameters":[],"src":"978:0:25"},"scope":44290,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":44265,"nodeType":"FunctionDefinition","src":"1053:225:25","nodes":[],"body":{"id":44264,"nodeType":"Block","src":"1154:124:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":44252,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1170:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1174:6:25","memberName":"sender","nodeType":"MemberAccess","src":"1170:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44254,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44246,"src":"1182:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44251,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43728,"src":"1164:5:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":44255,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1164:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44256,"nodeType":"ExpressionStatement","src":"1164:26:25"},{"eventCall":{"arguments":[{"expression":{"id":44258,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1225:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1229:6:25","memberName":"sender","nodeType":"MemberAccess","src":"1225:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44260,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44246,"src":"1237:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44261,"name":"_destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44248,"src":"1246:24:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":44257,"name":"SequencerWithdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44350,"src":"1205:19:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":44262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1205:66:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44263,"nodeType":"EmitStatement","src":"1200:71:25"}]},"functionSelector":"757e9874","implemented":true,"kind":"function","modifiers":[],"name":"withdrawToSequencer","nameLocation":"1062:19:25","parameters":{"id":44249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44246,"mutability":"mutable","name":"_amount","nameLocation":"1090:7:25","nodeType":"VariableDeclaration","scope":44265,"src":"1082:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44245,"name":"uint256","nodeType":"ElementaryTypeName","src":"1082:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44248,"mutability":"mutable","name":"_destinationChainAddress","nameLocation":"1107:24:25","nodeType":"VariableDeclaration","scope":44265,"src":"1099:32:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44247,"name":"address","nodeType":"ElementaryTypeName","src":"1099:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1081:51:25"},"returnParameters":{"id":44250,"nodeType":"ParameterList","parameters":[],"src":"1154:0:25"},"scope":44290,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":44289,"nodeType":"FunctionDefinition","src":"1284:258:25","nodes":[],"body":{"id":44288,"nodeType":"Block","src":"1415:127:25","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":44275,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1431:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1435:6:25","memberName":"sender","nodeType":"MemberAccess","src":"1431:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44277,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44267,"src":"1443:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":44274,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43728,"src":"1425:5:25","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":44278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1425:26:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44279,"nodeType":"ExpressionStatement","src":"1425:26:25"},{"eventCall":{"arguments":[{"expression":{"id":44281,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1482:3:25","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":44282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1486:6:25","memberName":"sender","nodeType":"MemberAccess","src":"1482:10:25","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44283,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44267,"src":"1494:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44284,"name":"_destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44269,"src":"1503:24:25","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":44285,"name":"_memo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44271,"src":"1529:5:25","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":44280,"name":"Ics20Withdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44360,"src":"1466:15:25","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,string memory,string memory)"}},"id":44286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1466:69:25","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44287,"nodeType":"EmitStatement","src":"1461:74:25"}]},"functionSelector":"5fe56b09","implemented":true,"kind":"function","modifiers":[],"name":"withdrawToIbcChain","nameLocation":"1293:18:25","parameters":{"id":44272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44267,"mutability":"mutable","name":"_amount","nameLocation":"1320:7:25","nodeType":"VariableDeclaration","scope":44289,"src":"1312:15:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44266,"name":"uint256","nodeType":"ElementaryTypeName","src":"1312:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44269,"mutability":"mutable","name":"_destinationChainAddress","nameLocation":"1345:24:25","nodeType":"VariableDeclaration","scope":44289,"src":"1329:40:25","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":44268,"name":"string","nodeType":"ElementaryTypeName","src":"1329:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44271,"mutability":"mutable","name":"_memo","nameLocation":"1387:5:25","nodeType":"VariableDeclaration","scope":44289,"src":"1371:21:25","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":44270,"name":"string","nodeType":"ElementaryTypeName","src":"1371:6:25","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1311:82:25"},"returnParameters":{"id":44273,"nodeType":"ParameterList","parameters":[],"src":"1415:0:25"},"scope":44290,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":44177,"name":"IAstriaWithdrawer","nameLocations":["246:17:25"],"nodeType":"IdentifierPath","referencedDeclaration":44361,"src":"246:17:25"},"id":44178,"nodeType":"InheritanceSpecifier","src":"246:17:25"},{"baseName":{"id":44179,"name":"ERC20","nameLocations":["265:5:25"],"nodeType":"IdentifierPath","referencedDeclaration":43855,"src":"265:5:25"},"id":44180,"nodeType":"InheritanceSpecifier","src":"265:5:25"}],"canonicalName":"AstriaMintableERC20","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[44290,43855,43245,43959,43933,43989,44361],"name":"AstriaMintableERC20","nameLocation":"223:19:25","scope":44291,"usedErrors":[43215,43220,43225,43234,43239,43244],"usedEvents":[43867,43876,44188,44350,44360]}],"license":"MIT or Apache-2.0"},"id":25} \ No newline at end of file From ccdc5ac5251d02514c70d3510dca908263002e77 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:06:09 -0400 Subject: [PATCH 06/22] fmt --- .../generated/astria_mintable_erc20.rs | 1636 ++++++++--------- .../ethereum/generated/astria_withdrawer.rs | 390 ++-- .../generated/astria_withdrawer_interface.rs | 236 ++- 3 files changed, 1014 insertions(+), 1248 deletions(-) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index db19ff29ad..ea4827df77 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -7,7 +7,7 @@ pub use astria_mintable_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_mintable_erc20 { #[allow(deprecated)] @@ -23,9 +23,7 @@ pub mod astria_mintable_erc20 { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_assetWithdrawalDecimals", - ), + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("uint32"), @@ -50,732 +48,587 @@ pub mod astria_mintable_erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("BRIDGE"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("BRIDGE"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientAllowance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientBalance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidApprover", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidReceiver", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidSpender", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ]), receive: false, fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0E\xCA8\x03\x80b\0\x0E\xCA\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01:V[\x81\x81`\x03b\0\0D\x83\x82b\0\x02qV[P`\x04b\0\0S\x82\x82b\0\x02qV[PPP`\x01`\x01`\xA0\x1B\x03\x90\x93\x16`\xA0RPc\xFF\xFF\xFF\xFF\x16`\x80RPb\0\x03=V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x9DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xBAWb\0\0\xBAb\0\0uV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xE5Wb\0\0\xE5b\0\0uV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\x02W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01&W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\x07V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01QW`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01iW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x01\x84W`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\xA2W`\0\x80\xFD[b\0\x01\xB0\x88\x83\x89\x01b\0\0\x8BV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x01\xC7W`\0\x80\xFD[Pb\0\x01\xD6\x87\x82\x88\x01b\0\0\x8BV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xF7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x18WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02lW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02GWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02hW\x82\x81U`\x01\x01b\0\x02SV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02\x8DWb\0\x02\x8Db\0\0uV[b\0\x02\xA5\x81b\0\x02\x9E\x84Tb\0\x01\xE2V[\x84b\0\x02\x1EV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xDDW`\0\x84\x15b\0\x02\xC4WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02hV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x0EW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xEDV[P\x85\x82\x10\x15b\0\x03-W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Q`\xA0Qa\x0B`b\0\x03j`\09`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0B``\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaMintableERC20(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaMintableERC20 { fn clone(&self) -> Self { @@ -784,6 +637,7 @@ pub mod astria_mintable_erc20 { } impl ::core::ops::Deref for AstriaMintableERC20 { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -807,16 +661,16 @@ pub mod astria_mintable_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -854,7 +708,8 @@ pub mod astria_mintable_erc20 { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -862,18 +717,17 @@ pub mod astria_mintable_erc20 { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `BRIDGE` (0xee9a31a2) function + + /// Calls the contract's `BRIDGE` (0xee9a31a2) function pub fn bridge( &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::ethers::core::types::Address, - > { + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([238, 154, 49, 162], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `allowance` (0xdd62ed3e) function + + /// Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, owner: ::ethers::core::types::Address, @@ -883,7 +737,8 @@ pub mod astria_mintable_erc20 { .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } - ///Calls the contract's `approve` (0x095ea7b3) function + + /// Calls the contract's `approve` (0x095ea7b3) function pub fn approve( &self, spender: ::ethers::core::types::Address, @@ -893,7 +748,8 @@ pub mod astria_mintable_erc20 { .method_hash([9, 94, 167, 179], (spender, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `balanceOf` (0x70a08231) function + + /// Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, account: ::ethers::core::types::Address, @@ -902,13 +758,15 @@ pub mod astria_mintable_erc20 { .method_hash([112, 160, 130, 49], account) .expect("method not found (this should never happen)") } - ///Calls the contract's `decimals` (0x313ce567) function + + /// Calls the contract's `decimals` (0x313ce567) function pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `mint` (0x40c10f19) function + + /// Calls the contract's `mint` (0x40c10f19) function pub fn mint( &self, to: ::ethers::core::types::Address, @@ -918,15 +776,15 @@ pub mod astria_mintable_erc20 { .method_hash([64, 193, 15, 25], (to, amount)) .expect("method not found (this should never happen)") } - ///Calls the contract's `name` (0x06fdde03) function - pub fn name( - &self, - ) -> ::ethers::contract::builders::ContractCall { + + /// Calls the contract's `name` (0x06fdde03) function + pub fn name(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `symbol` (0x95d89b41) function + + /// Calls the contract's `symbol` (0x95d89b41) function pub fn symbol( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -934,7 +792,8 @@ pub mod astria_mintable_erc20 { .method_hash([149, 216, 155, 65], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `totalSupply` (0x18160ddd) function + + /// Calls the contract's `totalSupply` (0x18160ddd) function pub fn total_supply( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -942,7 +801,8 @@ pub mod astria_mintable_erc20 { .method_hash([24, 22, 13, 221], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `transfer` (0xa9059cbb) function + + /// Calls the contract's `transfer` (0xa9059cbb) function pub fn transfer( &self, to: ::ethers::core::types::Address, @@ -952,7 +812,8 @@ pub mod astria_mintable_erc20 { .method_hash([169, 5, 156, 187], (to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `transferFrom` (0x23b872dd) function + + /// Calls the contract's `transferFrom` (0x23b872dd) function pub fn transfer_from( &self, from: ::ethers::core::types::Address, @@ -963,7 +824,8 @@ pub mod astria_mintable_erc20 { .method_hash([35, 184, 114, 221], (from, to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + + /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function pub fn withdraw_to_ibc_chain( &self, amount: ::ethers::core::types::U256, @@ -971,13 +833,11 @@ pub mod astria_mintable_erc20 { memo: ::std::string::String, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash( - [95, 229, 107, 9], - (amount, destination_chain_address, memo), - ) + .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x757e9874) function + + /// Calls the contract's `withdrawToSequencer` (0x757e9874) function pub fn withdraw_to_sequencer( &self, amount: ::ethers::core::types::U256, @@ -987,70 +847,62 @@ pub mod astria_mintable_erc20 { .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) .expect("method not found (this should never happen)") } - ///Gets the contract's `Approval` event + + /// Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - ApprovalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { self.0.event() } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Mint` event + + /// Gets the contract's `Mint` event pub fn mint_filter( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Transfer` event + + /// Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - TransferFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaMintableERC20Events, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 { + for AstriaMintableERC20 + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + /// Custom Error type `ERC20InsufficientAllowance` with signature + /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` #[derive( Clone, ::ethers::contract::EthError, @@ -1059,7 +911,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientAllowance", @@ -1070,7 +922,8 @@ pub mod astria_mintable_erc20 { pub allowance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + /// Custom Error type `ERC20InsufficientBalance` with signature + /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` #[derive( Clone, ::ethers::contract::EthError, @@ -1079,7 +932,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientBalance", @@ -1090,7 +943,8 @@ pub mod astria_mintable_erc20 { pub balance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` + /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and + /// selector `0xe602df05` #[derive( Clone, ::ethers::contract::EthError, @@ -1099,13 +953,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] pub struct ERC20InvalidApprover { pub approver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` + /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and + /// selector `0xec442f05` #[derive( Clone, ::ethers::contract::EthError, @@ -1114,13 +969,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] pub struct ERC20InvalidReceiver { pub receiver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` + /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and + /// selector `0x96c6fd1e` #[derive( Clone, ::ethers::contract::EthError, @@ -1129,13 +985,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] pub struct ERC20InvalidSender { pub sender: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` + /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and + /// selector `0x94280d62` #[derive( Clone, ::ethers::contract::EthError, @@ -1144,13 +1001,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] pub struct ERC20InvalidSpender { pub spender: ::ethers::core::types::Address, } - ///Container type for all of the contract's custom errors + /// Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), @@ -1168,39 +1025,39 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( - data, - ) { + if let Ok(decoded) = + <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) + { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientAllowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientBalance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidApprover(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidReceiver(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSender(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSpender(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1236,27 +1093,33 @@ pub mod astria_mintable_erc20 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ => false, @@ -1266,24 +1129,12 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::ERC20InsufficientAllowance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InsufficientBalance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidApprover(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidReceiver(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSender(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSpender(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1293,8 +1144,7 @@ pub mod astria_mintable_erc20 { Self::RevertString(value) } } - impl ::core::convert::From - for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaMintableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } @@ -1332,7 +1182,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -1350,7 +1200,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -1372,7 +1222,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] pub struct MintFilter { @@ -1388,7 +1238,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -1409,7 +1259,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -1419,7 +1269,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Events { ApprovalFilter(ApprovalFilter), @@ -1442,7 +1292,9 @@ pub mod astria_mintable_erc20 { return Ok(AstriaMintableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter(decoded)); + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( + decoded, + )); } if let Ok(decoded) = TransferFilter::decode_log(log) { return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); @@ -1454,13 +1306,9 @@ pub mod astria_mintable_erc20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1490,7 +1338,8 @@ pub mod astria_mintable_erc20 { Self::TransferFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -1499,11 +1348,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthCall, @@ -1512,11 +1365,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] pub struct BridgeCall; - ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all input parameters for the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthCall, @@ -1525,14 +1379,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall { pub owner: ::ethers::core::types::Address, pub spender: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all input parameters for the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, @@ -1541,14 +1396,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { pub spender: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all input parameters for the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthCall, @@ -1557,13 +1413,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall { pub account: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all input parameters for the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, @@ -1572,11 +1429,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` + /// Container type for all input parameters for the `mint` function with signature + /// `mint(address,uint256)` and selector `0x40c10f19` #[derive( Clone, ::ethers::contract::EthCall, @@ -1585,14 +1443,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "mint", abi = "mint(address,uint256)")] pub struct MintCall { pub to: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all input parameters for the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, @@ -1601,11 +1460,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; - ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all input parameters for the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthCall, @@ -1614,11 +1474,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; - ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all input parameters for the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1627,11 +1488,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; - ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all input parameters for the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthCall, @@ -1640,14 +1502,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all input parameters for the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1656,7 +1519,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1664,7 +1527,8 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + /// Container type for all input parameters for the `withdrawToIbcChain` function with signature + /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` #[derive( Clone, ::ethers::contract::EthCall, @@ -1673,7 +1537,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToIbcChain", @@ -1684,7 +1548,8 @@ pub mod astria_mintable_erc20 { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` #[derive( Clone, ::ethers::contract::EthCall, @@ -1693,7 +1558,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToSequencer", @@ -1703,7 +1568,7 @@ pub mod astria_mintable_erc20 { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Calls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -1726,74 +1591,53 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Bridge(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Mint(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) + { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1806,28 +1650,16 @@ pub mod astria_mintable_erc20 { ::ethers::core::abi::AbiEncode::encode(element) } Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Decimals(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Transfer(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TransferFrom(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::WithdrawToIbcChain(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1840,9 +1672,7 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), Self::Approve(element) => ::core::fmt::Display::fmt(element, f), @@ -1854,17 +1684,12 @@ pub mod astria_mintable_erc20 { Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToIbcChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From - for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaMintableERC20Calls { fn from(value: AssetWithdrawalDecimalsCall) -> Self { Self::AssetWithdrawalDecimals(value) } @@ -1934,7 +1759,8 @@ pub mod astria_mintable_erc20 { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1943,10 +1769,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); - ///Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1955,10 +1782,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BridgeReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all return fields from the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1967,10 +1795,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all return fields from the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1979,10 +1808,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct ApproveReturn(pub bool); - ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all return fields from the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1991,10 +1821,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all return fields from the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2003,10 +1834,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all return fields from the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2015,10 +1847,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct NameReturn(pub ::std::string::String); - ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all return fields from the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2027,10 +1860,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct SymbolReturn(pub ::std::string::String); - ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all return fields from the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2039,10 +1873,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all return fields from the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2051,10 +1886,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferReturn(pub bool); - ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all return fields from the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2063,7 +1899,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index 23ea0b47b4..cdfe97b891 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -7,171 +7,133 @@ pub use astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_assetWithdrawalDecimals", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( + "uint32" + ),), + },], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToOriginChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToOriginChain", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToOriginChain",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + },], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -179,22 +141,19 @@ pub mod astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0398\x03\x80a\x039\x839\x81\x01`@\x81\x90Ra\0/\x91a\0=V[c\xFF\xFF\xFF\xFF\x16`\x80Ra\0jV[`\0` \x82\x84\x03\x12\x15a\0OW`\0\x80\xFD[\x81Qc\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\0cW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x02\xB5a\0\x84`\09`\0`K\x01Ra\x02\xB5`\0\xF3\xFE`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaWithdrawer { fn clone(&self) -> Self { @@ -203,6 +162,7 @@ pub mod astria_withdrawer { } impl ::core::ops::Deref for AstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -226,16 +186,16 @@ pub mod astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -273,7 +233,8 @@ pub mod astria_withdrawer { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -281,7 +242,8 @@ pub mod astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function + + /// Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function pub fn withdraw_to_origin_chain( &self, destination_chain_address: ::std::string::String, @@ -291,7 +253,8 @@ pub mod astria_withdrawer { .method_hash([145, 189, 29, 222], (destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x9a977afe) function + + /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function pub fn withdraw_to_sequencer( &self, destination_chain_address: ::ethers::core::types::Address, @@ -300,39 +263,35 @@ pub mod astria_withdrawer { .method_hash([154, 151, 122, 254], destination_chain_address) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaWithdrawer { + for AstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -345,7 +304,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -367,7 +326,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -380,7 +339,7 @@ pub mod astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -402,12 +361,8 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -421,7 +376,8 @@ pub mod astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -430,11 +386,15 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all input parameters for the `withdrawToOriginChain` function with signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` + /// Container type for all input parameters for the `withdrawToOriginChain` function with + /// signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` #[derive( Clone, ::ethers::contract::EthCall, @@ -443,7 +403,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToOriginChain", @@ -453,7 +413,8 @@ pub mod astria_withdrawer { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(address)` and selector `0x9a977afe` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` #[derive( Clone, ::ethers::contract::EthCall, @@ -462,13 +423,13 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] pub struct WithdrawToSequencerCall { pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerCalls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -480,19 +441,19 @@ pub mod astria_withdrawer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToOriginChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -516,15 +477,9 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToOriginChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToOriginChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -543,7 +498,8 @@ pub mod astria_withdrawer { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -552,7 +508,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index d685b1672d..9d03ac5d34 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -7,104 +7,82 @@ pub use i_astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod i_astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", - ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ]), + functions: ::core::convert::From::from([( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + )]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -112,10 +90,9 @@ pub mod i_astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); pub struct IAstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for IAstriaWithdrawer { fn clone(&self) -> Self { @@ -124,6 +101,7 @@ pub mod i_astria_withdrawer { } impl ::core::ops::Deref for IAstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -147,15 +125,14 @@ pub mod i_astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - IASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -163,39 +140,35 @@ pub mod i_astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - IAstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for IAstriaWithdrawer { + for IAstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -208,7 +181,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -230,7 +203,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -243,7 +216,7 @@ pub mod i_astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum IAstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -265,12 +238,8 @@ pub mod i_astria_withdrawer { impl ::core::fmt::Display for IAstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -284,7 +253,8 @@ pub mod i_astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -293,11 +263,15 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -306,7 +280,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } From abbc5bbecb59c4f4ae8d89cc5df287d48088df0e Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:09:35 -0400 Subject: [PATCH 07/22] change back rust version --- crates/astria-bridge-withdrawer/Cargo.toml | 2 +- crates/astria-bridge-withdrawer/build.rs | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/astria-bridge-withdrawer/Cargo.toml b/crates/astria-bridge-withdrawer/Cargo.toml index 3db38b708d..ad102ed396 100644 --- a/crates/astria-bridge-withdrawer/Cargo.toml +++ b/crates/astria-bridge-withdrawer/Cargo.toml @@ -2,7 +2,7 @@ name = "astria-bridge-withdrawer" version = "0.1.0" edition = "2021" -rust-version = "1.77.0" +rust-version = "1.73" license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/astriaorg/astria" diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index df6b8fdd23..c3d775ef68 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -3,9 +3,9 @@ use ethers::contract::Abigen; fn main() -> Result<(), Box> { astria_build_info::emit("bridge-withdrawer-v")?; - println!("cargo::rerun-if-changed=ethereum/src/AstriaWithdrawer.sol"); - println!("cargo::rerun-if-changed=ethereum/src/IAstriaWithdrawer.sol"); - println!("cargo::rerun-if-changed=ethereum/src/AstriaMintableERC20.sol"); + println!("cargo:rerun-if-changed=ethereum/src/AstriaWithdrawer.sol"); + println!("cargo:rerun-if-changed=ethereum/src/IAstriaWithdrawer.sol"); + println!("cargo:rerun-if-changed=ethereum/src/AstriaMintableERC20.sol"); Abigen::new( "IAstriaWithdrawer", From c24651400dc223a3074cbdfab8f800bbe8462b88 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:12:18 -0400 Subject: [PATCH 08/22] allow clippy::all on generated --- .../src/withdrawer/ethereum/generated/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs index 4234e98ed2..e1e8aae146 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -1,4 +1,5 @@ #![allow(warnings)] +#![allow(clippy::all)] pub(crate) mod astria_withdrawer_interface; From fda0d04b03858bed5846f8570846c8e4f2ea1428 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:16:02 -0400 Subject: [PATCH 09/22] allow clippy::all on generated --- crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs index 1cc8e33d6b..6f8e016877 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs @@ -3,6 +3,7 @@ mod watcher; pub(crate) use watcher::Watcher; +#[allow(clippy::all)] mod generated; pub(crate) use generated::*; From 7765ca3c25db09f42652e3a185bebf3247399bf5 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:19:05 -0400 Subject: [PATCH 10/22] allow clippy::all on generated --- .../src/withdrawer/ethereum/generated/mod.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs index e1e8aae146..cdb871a9ee 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -1,9 +1,12 @@ #![allow(warnings)] #![allow(clippy::all)] +#[allow(clippy::all)] pub(crate) mod astria_withdrawer_interface; #[cfg(test)] +#[allow(clippy::all)] pub(crate) mod astria_mintable_erc20; #[cfg(test)] +#[allow(clippy::all)] pub(crate) mod astria_withdrawer; From 211c683eceff4660eff98417cbceba1c40f74aea Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:27:20 -0400 Subject: [PATCH 11/22] append clippy allow all to start of generated files --- crates/astria-bridge-withdrawer/build.rs | 30 +++++++++++++------ .../generated/astria_mintable_erc20.rs | 1 + .../ethereum/generated/astria_withdrawer.rs | 1 + .../generated/astria_withdrawer_interface.rs | 1 + .../src/withdrawer/ethereum/generated/mod.rs | 3 -- .../src/withdrawer/ethereum/mod.rs | 1 - 6 files changed, 24 insertions(+), 13 deletions(-) diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index c3d775ef68..73212c3bcb 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -1,3 +1,5 @@ +use std::fs; + use ethers::contract::Abigen; fn main() -> Result<(), Box> { @@ -7,24 +9,34 @@ fn main() -> Result<(), Box> { println!("cargo:rerun-if-changed=ethereum/src/IAstriaWithdrawer.sol"); println!("cargo:rerun-if-changed=ethereum/src/AstriaMintableERC20.sol"); - Abigen::new( + let abi = Abigen::new( "IAstriaWithdrawer", "./ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json", )? - .generate()? - .write_to_file("./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs")?; - Abigen::new( + .generate()?; + fs::write( + "./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs", + format!("#![allow(clippy::all)]\n{}", abi.to_string()), + )?; + + let abi = Abigen::new( "AstriaWithdrawer", "./ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json", )? - .generate()? - .write_to_file("./src/withdrawer/ethereum/generated/astria_withdrawer.rs")?; - Abigen::new( + .generate()?; + fs::write( + "./src/withdrawer/ethereum/generated/astria_withdrawer.rs", + format!("#![allow(clippy::all)]\n{}", abi.to_string()), + )?; + let abi = Abigen::new( "AstriaMintableERC20", "./ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json", )? - .generate()? - .write_to_file("./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs")?; + .generate()?; + fs::write( + "./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs", + format!("#![allow(clippy::all)]\n{}", abi.to_string()), + )?; Ok(()) } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index ea4827df77..ce97406560 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -1,3 +1,4 @@ +#![allow(clippy::all)] pub use astria_mintable_erc20::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index cdfe97b891..99f0053e4d 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -1,3 +1,4 @@ +#![allow(clippy::all)] pub use astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index 9d03ac5d34..e5c9952b91 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -1,3 +1,4 @@ +#![allow(clippy::all)] pub use i_astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs index cdb871a9ee..e1e8aae146 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -1,12 +1,9 @@ #![allow(warnings)] #![allow(clippy::all)] -#[allow(clippy::all)] pub(crate) mod astria_withdrawer_interface; #[cfg(test)] -#[allow(clippy::all)] pub(crate) mod astria_mintable_erc20; #[cfg(test)] -#[allow(clippy::all)] pub(crate) mod astria_withdrawer; diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs index 6f8e016877..1cc8e33d6b 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/mod.rs @@ -3,7 +3,6 @@ mod watcher; pub(crate) use watcher::Watcher; -#[allow(clippy::all)] mod generated; pub(crate) use generated::*; From 9f0c776f9954904461e1831b0264f7a4054918cb Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:27:56 -0400 Subject: [PATCH 12/22] clippy --- crates/astria-bridge-withdrawer/build.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index 73212c3bcb..5489c39c7e 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -16,7 +16,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs", - format!("#![allow(clippy::all)]\n{}", abi.to_string()), + format!("#![allow(clippy::all)]\n{abi}"), )?; let abi = Abigen::new( @@ -26,7 +26,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer.rs", - format!("#![allow(clippy::all)]\n{}", abi.to_string()), + format!("#![allow(clippy::all)]\n{abi}"), )?; let abi = Abigen::new( "AstriaMintableERC20", @@ -35,7 +35,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs", - format!("#![allow(clippy::all)]\n{}", abi.to_string()), + format!("#![allow(clippy::all)]\n{abi}"), )?; Ok(()) From f4ab5ba771b32a1fe33aa47f618b80fd2b871244 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:32:05 -0400 Subject: [PATCH 13/22] append allow warnings to start of generated files --- crates/astria-bridge-withdrawer/build.rs | 6 +- .../generated/astria_mintable_erc20.rs | 1637 +++++++++-------- .../ethereum/generated/astria_withdrawer.rs | 391 ++-- .../generated/astria_withdrawer_interface.rs | 237 +-- .../src/withdrawer/ethereum/generated/mod.rs | 3 - 5 files changed, 1254 insertions(+), 1020 deletions(-) diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index 5489c39c7e..7c6196a1c2 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -16,7 +16,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs", - format!("#![allow(clippy::all)]\n{abi}"), + format!("#![allow(warnings)]\n#![allow(clippy::all)]\n{abi}"), )?; let abi = Abigen::new( @@ -26,7 +26,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer.rs", - format!("#![allow(clippy::all)]\n{abi}"), + format!("#![allow(warnings)]\n#![allow(clippy::all)]\n{abi}"), )?; let abi = Abigen::new( "AstriaMintableERC20", @@ -35,7 +35,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs", - format!("#![allow(clippy::all)]\n{abi}"), + format!("#![allow(warnings)]\n#![allow(clippy::all)]\n{abi}"), )?; Ok(()) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index ce97406560..90b7b2ed8f 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -1,3 +1,4 @@ +#![allow(warnings)] #![allow(clippy::all)] pub use astria_mintable_erc20::*; /// This module was auto-generated with ethers-rs Abigen. @@ -8,7 +9,7 @@ pub use astria_mintable_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod astria_mintable_erc20 { #[allow(deprecated)] @@ -24,7 +25,9 @@ pub mod astria_mintable_erc20 { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + name: ::std::borrow::ToOwned::to_owned( + "_assetWithdrawalDecimals", + ), kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("uint32"), @@ -49,587 +52,732 @@ pub mod astria_mintable_erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("BRIDGE"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("BRIDGE"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToSequencer", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Mint"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InsufficientAllowance", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InsufficientBalance", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidApprover", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidReceiver", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidSpender", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ]), receive: false, fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0E\xCA8\x03\x80b\0\x0E\xCA\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01:V[\x81\x81`\x03b\0\0D\x83\x82b\0\x02qV[P`\x04b\0\0S\x82\x82b\0\x02qV[PPP`\x01`\x01`\xA0\x1B\x03\x90\x93\x16`\xA0RPc\xFF\xFF\xFF\xFF\x16`\x80RPb\0\x03=V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x9DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xBAWb\0\0\xBAb\0\0uV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xE5Wb\0\0\xE5b\0\0uV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\x02W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01&W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\x07V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01QW`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01iW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x01\x84W`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\xA2W`\0\x80\xFD[b\0\x01\xB0\x88\x83\x89\x01b\0\0\x8BV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x01\xC7W`\0\x80\xFD[Pb\0\x01\xD6\x87\x82\x88\x01b\0\0\x8BV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xF7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x18WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02lW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02GWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02hW\x82\x81U`\x01\x01b\0\x02SV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02\x8DWb\0\x02\x8Db\0\0uV[b\0\x02\xA5\x81b\0\x02\x9E\x84Tb\0\x01\xE2V[\x84b\0\x02\x1EV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xDDW`\0\x84\x15b\0\x02\xC4WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02hV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x0EW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xEDV[P\x85\x82\x10\x15b\0\x03-W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Q`\xA0Qa\x0B`b\0\x03j`\09`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0B``\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct AstriaMintableERC20(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaMintableERC20 { fn clone(&self) -> Self { @@ -638,7 +786,6 @@ pub mod astria_mintable_erc20 { } impl ::core::ops::Deref for AstriaMintableERC20 { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -662,16 +809,16 @@ pub mod astria_mintable_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + ), + ) } - - /// Constructs the general purpose `Deployer` instance based on the provided constructor - /// arguments and sends it. Returns a new instance of a deployer that returns an - /// instance of this contract after sending the transaction + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -709,8 +856,7 @@ pub mod astria_mintable_erc20 { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -718,17 +864,18 @@ pub mod astria_mintable_erc20 { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `BRIDGE` (0xee9a31a2) function + ///Calls the contract's `BRIDGE` (0xee9a31a2) function pub fn bridge( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([238, 154, 49, 162], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `allowance` (0xdd62ed3e) function + ///Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, owner: ::ethers::core::types::Address, @@ -738,8 +885,7 @@ pub mod astria_mintable_erc20 { .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `approve` (0x095ea7b3) function + ///Calls the contract's `approve` (0x095ea7b3) function pub fn approve( &self, spender: ::ethers::core::types::Address, @@ -749,8 +895,7 @@ pub mod astria_mintable_erc20 { .method_hash([9, 94, 167, 179], (spender, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `balanceOf` (0x70a08231) function + ///Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, account: ::ethers::core::types::Address, @@ -759,15 +904,13 @@ pub mod astria_mintable_erc20 { .method_hash([112, 160, 130, 49], account) .expect("method not found (this should never happen)") } - - /// Calls the contract's `decimals` (0x313ce567) function + ///Calls the contract's `decimals` (0x313ce567) function pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `mint` (0x40c10f19) function + ///Calls the contract's `mint` (0x40c10f19) function pub fn mint( &self, to: ::ethers::core::types::Address, @@ -777,15 +920,15 @@ pub mod astria_mintable_erc20 { .method_hash([64, 193, 15, 25], (to, amount)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { + ///Calls the contract's `name` (0x06fdde03) function + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `symbol` (0x95d89b41) function + ///Calls the contract's `symbol` (0x95d89b41) function pub fn symbol( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -793,8 +936,7 @@ pub mod astria_mintable_erc20 { .method_hash([149, 216, 155, 65], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `totalSupply` (0x18160ddd) function + ///Calls the contract's `totalSupply` (0x18160ddd) function pub fn total_supply( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -802,8 +944,7 @@ pub mod astria_mintable_erc20 { .method_hash([24, 22, 13, 221], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `transfer` (0xa9059cbb) function + ///Calls the contract's `transfer` (0xa9059cbb) function pub fn transfer( &self, to: ::ethers::core::types::Address, @@ -813,8 +954,7 @@ pub mod astria_mintable_erc20 { .method_hash([169, 5, 156, 187], (to, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `transferFrom` (0x23b872dd) function + ///Calls the contract's `transferFrom` (0x23b872dd) function pub fn transfer_from( &self, from: ::ethers::core::types::Address, @@ -825,8 +965,7 @@ pub mod astria_mintable_erc20 { .method_hash([35, 184, 114, 221], (from, to, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + ///Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function pub fn withdraw_to_ibc_chain( &self, amount: ::ethers::core::types::U256, @@ -834,11 +973,13 @@ pub mod astria_mintable_erc20 { memo: ::std::string::String, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) + .method_hash( + [95, 229, 107, 9], + (amount, destination_chain_address, memo), + ) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToSequencer` (0x757e9874) function + ///Calls the contract's `withdrawToSequencer` (0x757e9874) function pub fn withdraw_to_sequencer( &self, amount: ::ethers::core::types::U256, @@ -848,62 +989,70 @@ pub mod astria_mintable_erc20 { .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Approval` event + ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `Mint` event + ///Gets the contract's `Mint` event pub fn mint_filter( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `Transfer` event + ///Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + AstriaMintableERC20Events, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 - { + for AstriaMintableERC20 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - /// Custom Error type `ERC20InsufficientAllowance` with signature - /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` #[derive( Clone, ::ethers::contract::EthError, @@ -912,7 +1061,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror( name = "ERC20InsufficientAllowance", @@ -923,8 +1072,7 @@ pub mod astria_mintable_erc20 { pub allowance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - /// Custom Error type `ERC20InsufficientBalance` with signature - /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` #[derive( Clone, ::ethers::contract::EthError, @@ -933,7 +1081,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror( name = "ERC20InsufficientBalance", @@ -944,8 +1092,7 @@ pub mod astria_mintable_erc20 { pub balance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and - /// selector `0xe602df05` + ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` #[derive( Clone, ::ethers::contract::EthError, @@ -954,14 +1101,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] pub struct ERC20InvalidApprover { pub approver: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and - /// selector `0xec442f05` + ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` #[derive( Clone, ::ethers::contract::EthError, @@ -970,14 +1116,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] pub struct ERC20InvalidReceiver { pub receiver: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and - /// selector `0x96c6fd1e` + ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` #[derive( Clone, ::ethers::contract::EthError, @@ -986,14 +1131,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] pub struct ERC20InvalidSender { pub sender: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and - /// selector `0x94280d62` + ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` #[derive( Clone, ::ethers::contract::EthError, @@ -1002,13 +1146,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] pub struct ERC20InvalidSpender { pub spender: ::ethers::core::types::Address, } - /// Container type for all of the contract's custom errors + ///Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), @@ -1026,39 +1170,39 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InsufficientAllowance(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InsufficientBalance(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidApprover(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidReceiver(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidSender(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidSpender(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1094,33 +1238,27 @@ pub mod astria_mintable_erc20 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -1130,12 +1268,24 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientAllowance(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InsufficientBalance(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidApprover(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidReceiver(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidSender(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidSpender(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1145,7 +1295,8 @@ pub mod astria_mintable_erc20 { Self::RevertString(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From + for AstriaMintableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } @@ -1183,7 +1334,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -1201,7 +1352,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -1223,7 +1374,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] pub struct MintFilter { @@ -1239,7 +1390,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -1260,7 +1411,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -1270,7 +1421,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Events { ApprovalFilter(ApprovalFilter), @@ -1293,9 +1444,7 @@ pub mod astria_mintable_erc20 { return Ok(AstriaMintableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( - decoded, - )); + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter(decoded)); } if let Ok(decoded) = TransferFilter::decode_log(log) { return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); @@ -1307,9 +1456,13 @@ pub mod astria_mintable_erc20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1339,8 +1492,7 @@ pub mod astria_mintable_erc20 { Self::TransferFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -1349,15 +1501,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` - /// and selector `0xee9a31a2` + ///Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthCall, @@ -1366,12 +1514,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] pub struct BridgeCall; - /// Container type for all input parameters for the `allowance` function with signature - /// `allowance(address,address)` and selector `0xdd62ed3e` + ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthCall, @@ -1380,15 +1527,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall { pub owner: ::ethers::core::types::Address, pub spender: ::ethers::core::types::Address, } - /// Container type for all input parameters for the `approve` function with signature - /// `approve(address,uint256)` and selector `0x095ea7b3` + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, @@ -1397,15 +1543,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { pub spender: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `balanceOf` function with signature - /// `balanceOf(address)` and selector `0x70a08231` + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthCall, @@ -1414,14 +1559,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall { pub account: ::ethers::core::types::Address, } - /// Container type for all input parameters for the `decimals` function with signature - /// `decimals()` and selector `0x313ce567` + ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, @@ -1430,12 +1574,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - /// Container type for all input parameters for the `mint` function with signature - /// `mint(address,uint256)` and selector `0x40c10f19` + ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` #[derive( Clone, ::ethers::contract::EthCall, @@ -1444,15 +1587,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "mint", abi = "mint(address,uint256)")] pub struct MintCall { pub to: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `name` function with signature `name()` and - /// selector `0x06fdde03` + ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, @@ -1461,12 +1603,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; - /// Container type for all input parameters for the `symbol` function with signature `symbol()` - /// and selector `0x95d89b41` + ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthCall, @@ -1475,12 +1616,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; - /// Container type for all input parameters for the `totalSupply` function with signature - /// `totalSupply()` and selector `0x18160ddd` + ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1489,12 +1629,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; - /// Container type for all input parameters for the `transfer` function with signature - /// `transfer(address,uint256)` and selector `0xa9059cbb` + ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthCall, @@ -1503,15 +1642,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `transferFrom` function with signature - /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1520,7 +1658,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1528,8 +1666,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `withdrawToIbcChain` function with signature - /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` #[derive( Clone, ::ethers::contract::EthCall, @@ -1538,7 +1675,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToIbcChain", @@ -1549,8 +1686,7 @@ pub mod astria_mintable_erc20 { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - /// Container type for all input parameters for the `withdrawToSequencer` function with - /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` #[derive( Clone, ::ethers::contract::EthCall, @@ -1559,7 +1695,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToSequencer", @@ -1569,7 +1705,7 @@ pub mod astria_mintable_erc20 { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's call + ///Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Calls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -1592,53 +1728,74 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Bridge(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Mint(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1651,16 +1808,28 @@ pub mod astria_mintable_erc20 { ::ethers::core::abi::AbiEncode::encode(element) } Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Decimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Transfer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::WithdrawToIbcChain(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1673,7 +1842,9 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::AssetWithdrawalDecimals(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), Self::Approve(element) => ::core::fmt::Display::fmt(element, f), @@ -1685,12 +1856,17 @@ pub mod astria_mintable_erc20 { Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToIbcChain(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToSequencer(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From + for AstriaMintableERC20Calls { fn from(value: AssetWithdrawalDecimalsCall) -> Self { Self::AssetWithdrawalDecimals(value) } @@ -1760,8 +1936,7 @@ pub mod astria_mintable_erc20 { Self::WithdrawToSequencer(value) } } - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1770,11 +1945,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); - /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` - /// and selector `0xee9a31a2` + ///Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1783,11 +1957,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BridgeReturn(pub ::ethers::core::types::Address); - /// Container type for all return fields from the `allowance` function with signature - /// `allowance(address,address)` and selector `0xdd62ed3e` + ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1796,11 +1969,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `approve` function with signature - /// `approve(address,uint256)` and selector `0x095ea7b3` + ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1809,11 +1981,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ApproveReturn(pub bool); - /// Container type for all return fields from the `balanceOf` function with signature - /// `balanceOf(address)` and selector `0x70a08231` + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1822,11 +1993,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `decimals` function with signature - /// `decimals()` and selector `0x313ce567` + ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1835,11 +2005,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DecimalsReturn(pub u8); - /// Container type for all return fields from the `name` function with signature `name()` and - /// selector `0x06fdde03` + ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1848,11 +2017,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NameReturn(pub ::std::string::String); - /// Container type for all return fields from the `symbol` function with signature `symbol()` - /// and selector `0x95d89b41` + ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1861,11 +2029,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SymbolReturn(pub ::std::string::String); - /// Container type for all return fields from the `totalSupply` function with signature - /// `totalSupply()` and selector `0x18160ddd` + ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1874,11 +2041,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `transfer` function with signature - /// `transfer(address,uint256)` and selector `0xa9059cbb` + ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1887,11 +2053,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferReturn(pub bool); - /// Container type for all return fields from the `transferFrom` function with signature - /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1900,7 +2065,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index 99f0053e4d..82b6418fa4 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -1,3 +1,4 @@ +#![allow(warnings)] #![allow(clippy::all)] pub use astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. @@ -8,133 +9,171 @@ pub use astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "uint32" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_assetWithdrawalDecimals", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToOriginChain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToOriginChain",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToOriginChain", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToSequencer", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -142,19 +181,22 @@ pub mod astria_withdrawer { fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0398\x03\x80a\x039\x839\x81\x01`@\x81\x90Ra\0/\x91a\0=V[c\xFF\xFF\xFF\xFF\x16`\x80Ra\0jV[`\0` \x82\x84\x03\x12\x15a\0OW`\0\x80\xFD[\x81Qc\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\0cW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x02\xB5a\0\x84`\09`\0`K\x01Ra\x02\xB5`\0\xF3\xFE`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct AstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaWithdrawer { fn clone(&self) -> Self { @@ -163,7 +205,6 @@ pub mod astria_withdrawer { } impl ::core::ops::Deref for AstriaWithdrawer { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -187,16 +228,16 @@ pub mod astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ASTRIAWITHDRAWER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + ), + ) } - - /// Constructs the general purpose `Deployer` instance based on the provided constructor - /// arguments and sends it. Returns a new instance of a deployer that returns an - /// instance of this contract after sending the transaction + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -234,8 +275,7 @@ pub mod astria_withdrawer { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -243,8 +283,7 @@ pub mod astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function + ///Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function pub fn withdraw_to_origin_chain( &self, destination_chain_address: ::std::string::String, @@ -254,8 +293,7 @@ pub mod astria_withdrawer { .method_hash([145, 189, 29, 222], (destination_chain_address, memo)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function + ///Calls the contract's `withdrawToSequencer` (0x9a977afe) function pub fn withdraw_to_sequencer( &self, destination_chain_address: ::ethers::core::types::Address, @@ -264,35 +302,39 @@ pub mod astria_withdrawer { .method_hash([154, 151, 122, 254], destination_chain_address) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + AstriaWithdrawerEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaWithdrawer - { + for AstriaWithdrawer { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -305,7 +347,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -327,7 +369,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -340,7 +382,7 @@ pub mod astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -362,8 +404,12 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -377,8 +423,7 @@ pub mod astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -387,15 +432,11 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all input parameters for the `withdrawToOriginChain` function with - /// signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` + ///Container type for all input parameters for the `withdrawToOriginChain` function with signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` #[derive( Clone, ::ethers::contract::EthCall, @@ -404,7 +445,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToOriginChain", @@ -414,8 +455,7 @@ pub mod astria_withdrawer { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - /// Container type for all input parameters for the `withdrawToSequencer` function with - /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` + ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(address)` and selector `0x9a977afe` #[derive( Clone, ::ethers::contract::EthCall, @@ -424,13 +464,13 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] pub struct WithdrawToSequencerCall { pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's call + ///Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerCalls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -442,19 +482,19 @@ pub mod astria_withdrawer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToOriginChain(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -478,9 +518,15 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToOriginChain(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + Self::AssetWithdrawalDecimals(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToOriginChain(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToSequencer(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -499,8 +545,7 @@ pub mod astria_withdrawer { Self::WithdrawToSequencer(value) } } - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -509,7 +554,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index e5c9952b91..3df43200e3 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -1,3 +1,4 @@ +#![allow(warnings)] #![allow(clippy::all)] pub use i_astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. @@ -8,82 +9,104 @@ pub use i_astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", + ), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -91,9 +114,10 @@ pub mod i_astria_withdrawer { fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); pub struct IAstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for IAstriaWithdrawer { fn clone(&self) -> Self { @@ -102,7 +126,6 @@ pub mod i_astria_withdrawer { } impl ::core::ops::Deref for IAstriaWithdrawer { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -126,14 +149,15 @@ pub mod i_astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IASTRIAWITHDRAWER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + ), + ) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -141,35 +165,39 @@ pub mod i_astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + IAstriaWithdrawerEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for IAstriaWithdrawer - { + for IAstriaWithdrawer { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -182,7 +210,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -204,7 +232,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -217,7 +245,7 @@ pub mod i_astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum IAstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -239,8 +267,12 @@ pub mod i_astria_withdrawer { impl ::core::fmt::Display for IAstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -254,8 +286,7 @@ pub mod i_astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -264,15 +295,11 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -281,7 +308,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs index e1e8aae146..22f798e343 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -1,6 +1,3 @@ -#![allow(warnings)] -#![allow(clippy::all)] - pub(crate) mod astria_withdrawer_interface; #[cfg(test)] From cf3eb5088ebe0bdbf3440c50ae45fc5b5d6ce8ec Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:33:29 -0400 Subject: [PATCH 14/22] fmt --- .../generated/astria_mintable_erc20.rs | 1636 ++++++++--------- .../ethereum/generated/astria_withdrawer.rs | 390 ++-- .../generated/astria_withdrawer_interface.rs | 236 ++- 3 files changed, 1014 insertions(+), 1248 deletions(-) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index 90b7b2ed8f..8cf5e7fe67 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -9,7 +9,7 @@ pub use astria_mintable_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_mintable_erc20 { #[allow(deprecated)] @@ -25,9 +25,7 @@ pub mod astria_mintable_erc20 { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_assetWithdrawalDecimals", - ), + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("uint32"), @@ -52,732 +50,587 @@ pub mod astria_mintable_erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("BRIDGE"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("BRIDGE"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientAllowance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientBalance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidApprover", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidReceiver", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidSpender", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ]), receive: false, fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0E\xCA8\x03\x80b\0\x0E\xCA\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01:V[\x81\x81`\x03b\0\0D\x83\x82b\0\x02qV[P`\x04b\0\0S\x82\x82b\0\x02qV[PPP`\x01`\x01`\xA0\x1B\x03\x90\x93\x16`\xA0RPc\xFF\xFF\xFF\xFF\x16`\x80RPb\0\x03=V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x9DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xBAWb\0\0\xBAb\0\0uV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xE5Wb\0\0\xE5b\0\0uV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\x02W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01&W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\x07V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01QW`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01iW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x01\x84W`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\xA2W`\0\x80\xFD[b\0\x01\xB0\x88\x83\x89\x01b\0\0\x8BV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x01\xC7W`\0\x80\xFD[Pb\0\x01\xD6\x87\x82\x88\x01b\0\0\x8BV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xF7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x18WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02lW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02GWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02hW\x82\x81U`\x01\x01b\0\x02SV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02\x8DWb\0\x02\x8Db\0\0uV[b\0\x02\xA5\x81b\0\x02\x9E\x84Tb\0\x01\xE2V[\x84b\0\x02\x1EV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xDDW`\0\x84\x15b\0\x02\xC4WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02hV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x0EW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xEDV[P\x85\x82\x10\x15b\0\x03-W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Q`\xA0Qa\x0B`b\0\x03j`\09`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0B``\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaMintableERC20(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaMintableERC20 { fn clone(&self) -> Self { @@ -786,6 +639,7 @@ pub mod astria_mintable_erc20 { } impl ::core::ops::Deref for AstriaMintableERC20 { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -809,16 +663,16 @@ pub mod astria_mintable_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -856,7 +710,8 @@ pub mod astria_mintable_erc20 { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -864,18 +719,17 @@ pub mod astria_mintable_erc20 { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `BRIDGE` (0xee9a31a2) function + + /// Calls the contract's `BRIDGE` (0xee9a31a2) function pub fn bridge( &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::ethers::core::types::Address, - > { + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([238, 154, 49, 162], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `allowance` (0xdd62ed3e) function + + /// Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, owner: ::ethers::core::types::Address, @@ -885,7 +739,8 @@ pub mod astria_mintable_erc20 { .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } - ///Calls the contract's `approve` (0x095ea7b3) function + + /// Calls the contract's `approve` (0x095ea7b3) function pub fn approve( &self, spender: ::ethers::core::types::Address, @@ -895,7 +750,8 @@ pub mod astria_mintable_erc20 { .method_hash([9, 94, 167, 179], (spender, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `balanceOf` (0x70a08231) function + + /// Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, account: ::ethers::core::types::Address, @@ -904,13 +760,15 @@ pub mod astria_mintable_erc20 { .method_hash([112, 160, 130, 49], account) .expect("method not found (this should never happen)") } - ///Calls the contract's `decimals` (0x313ce567) function + + /// Calls the contract's `decimals` (0x313ce567) function pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `mint` (0x40c10f19) function + + /// Calls the contract's `mint` (0x40c10f19) function pub fn mint( &self, to: ::ethers::core::types::Address, @@ -920,15 +778,15 @@ pub mod astria_mintable_erc20 { .method_hash([64, 193, 15, 25], (to, amount)) .expect("method not found (this should never happen)") } - ///Calls the contract's `name` (0x06fdde03) function - pub fn name( - &self, - ) -> ::ethers::contract::builders::ContractCall { + + /// Calls the contract's `name` (0x06fdde03) function + pub fn name(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `symbol` (0x95d89b41) function + + /// Calls the contract's `symbol` (0x95d89b41) function pub fn symbol( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -936,7 +794,8 @@ pub mod astria_mintable_erc20 { .method_hash([149, 216, 155, 65], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `totalSupply` (0x18160ddd) function + + /// Calls the contract's `totalSupply` (0x18160ddd) function pub fn total_supply( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -944,7 +803,8 @@ pub mod astria_mintable_erc20 { .method_hash([24, 22, 13, 221], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `transfer` (0xa9059cbb) function + + /// Calls the contract's `transfer` (0xa9059cbb) function pub fn transfer( &self, to: ::ethers::core::types::Address, @@ -954,7 +814,8 @@ pub mod astria_mintable_erc20 { .method_hash([169, 5, 156, 187], (to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `transferFrom` (0x23b872dd) function + + /// Calls the contract's `transferFrom` (0x23b872dd) function pub fn transfer_from( &self, from: ::ethers::core::types::Address, @@ -965,7 +826,8 @@ pub mod astria_mintable_erc20 { .method_hash([35, 184, 114, 221], (from, to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + + /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function pub fn withdraw_to_ibc_chain( &self, amount: ::ethers::core::types::U256, @@ -973,13 +835,11 @@ pub mod astria_mintable_erc20 { memo: ::std::string::String, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash( - [95, 229, 107, 9], - (amount, destination_chain_address, memo), - ) + .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x757e9874) function + + /// Calls the contract's `withdrawToSequencer` (0x757e9874) function pub fn withdraw_to_sequencer( &self, amount: ::ethers::core::types::U256, @@ -989,70 +849,62 @@ pub mod astria_mintable_erc20 { .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) .expect("method not found (this should never happen)") } - ///Gets the contract's `Approval` event + + /// Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - ApprovalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { self.0.event() } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Mint` event + + /// Gets the contract's `Mint` event pub fn mint_filter( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Transfer` event + + /// Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - TransferFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaMintableERC20Events, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 { + for AstriaMintableERC20 + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + /// Custom Error type `ERC20InsufficientAllowance` with signature + /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` #[derive( Clone, ::ethers::contract::EthError, @@ -1061,7 +913,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientAllowance", @@ -1072,7 +924,8 @@ pub mod astria_mintable_erc20 { pub allowance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + /// Custom Error type `ERC20InsufficientBalance` with signature + /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` #[derive( Clone, ::ethers::contract::EthError, @@ -1081,7 +934,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientBalance", @@ -1092,7 +945,8 @@ pub mod astria_mintable_erc20 { pub balance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` + /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and + /// selector `0xe602df05` #[derive( Clone, ::ethers::contract::EthError, @@ -1101,13 +955,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] pub struct ERC20InvalidApprover { pub approver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` + /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and + /// selector `0xec442f05` #[derive( Clone, ::ethers::contract::EthError, @@ -1116,13 +971,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] pub struct ERC20InvalidReceiver { pub receiver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` + /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and + /// selector `0x96c6fd1e` #[derive( Clone, ::ethers::contract::EthError, @@ -1131,13 +987,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] pub struct ERC20InvalidSender { pub sender: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` + /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and + /// selector `0x94280d62` #[derive( Clone, ::ethers::contract::EthError, @@ -1146,13 +1003,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] pub struct ERC20InvalidSpender { pub spender: ::ethers::core::types::Address, } - ///Container type for all of the contract's custom errors + /// Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), @@ -1170,39 +1027,39 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( - data, - ) { + if let Ok(decoded) = + <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) + { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientAllowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientBalance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidApprover(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidReceiver(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSender(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSpender(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1238,27 +1095,33 @@ pub mod astria_mintable_erc20 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ => false, @@ -1268,24 +1131,12 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::ERC20InsufficientAllowance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InsufficientBalance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidApprover(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidReceiver(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSender(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSpender(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1295,8 +1146,7 @@ pub mod astria_mintable_erc20 { Self::RevertString(value) } } - impl ::core::convert::From - for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaMintableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } @@ -1334,7 +1184,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -1352,7 +1202,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -1374,7 +1224,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] pub struct MintFilter { @@ -1390,7 +1240,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -1411,7 +1261,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -1421,7 +1271,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Events { ApprovalFilter(ApprovalFilter), @@ -1444,7 +1294,9 @@ pub mod astria_mintable_erc20 { return Ok(AstriaMintableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter(decoded)); + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( + decoded, + )); } if let Ok(decoded) = TransferFilter::decode_log(log) { return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); @@ -1456,13 +1308,9 @@ pub mod astria_mintable_erc20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1492,7 +1340,8 @@ pub mod astria_mintable_erc20 { Self::TransferFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -1501,11 +1350,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthCall, @@ -1514,11 +1367,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] pub struct BridgeCall; - ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all input parameters for the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthCall, @@ -1527,14 +1381,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall { pub owner: ::ethers::core::types::Address, pub spender: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all input parameters for the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, @@ -1543,14 +1398,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { pub spender: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all input parameters for the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthCall, @@ -1559,13 +1415,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall { pub account: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all input parameters for the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, @@ -1574,11 +1431,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` + /// Container type for all input parameters for the `mint` function with signature + /// `mint(address,uint256)` and selector `0x40c10f19` #[derive( Clone, ::ethers::contract::EthCall, @@ -1587,14 +1445,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "mint", abi = "mint(address,uint256)")] pub struct MintCall { pub to: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all input parameters for the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, @@ -1603,11 +1462,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; - ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all input parameters for the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthCall, @@ -1616,11 +1476,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; - ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all input parameters for the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1629,11 +1490,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; - ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all input parameters for the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthCall, @@ -1642,14 +1504,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all input parameters for the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1658,7 +1521,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1666,7 +1529,8 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + /// Container type for all input parameters for the `withdrawToIbcChain` function with signature + /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` #[derive( Clone, ::ethers::contract::EthCall, @@ -1675,7 +1539,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToIbcChain", @@ -1686,7 +1550,8 @@ pub mod astria_mintable_erc20 { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` #[derive( Clone, ::ethers::contract::EthCall, @@ -1695,7 +1560,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToSequencer", @@ -1705,7 +1570,7 @@ pub mod astria_mintable_erc20 { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Calls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -1728,74 +1593,53 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Bridge(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Mint(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) + { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1808,28 +1652,16 @@ pub mod astria_mintable_erc20 { ::ethers::core::abi::AbiEncode::encode(element) } Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Decimals(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Transfer(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TransferFrom(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::WithdrawToIbcChain(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1842,9 +1674,7 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), Self::Approve(element) => ::core::fmt::Display::fmt(element, f), @@ -1856,17 +1686,12 @@ pub mod astria_mintable_erc20 { Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToIbcChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From - for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaMintableERC20Calls { fn from(value: AssetWithdrawalDecimalsCall) -> Self { Self::AssetWithdrawalDecimals(value) } @@ -1936,7 +1761,8 @@ pub mod astria_mintable_erc20 { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1945,10 +1771,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); - ///Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1957,10 +1784,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BridgeReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all return fields from the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1969,10 +1797,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all return fields from the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1981,10 +1810,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct ApproveReturn(pub bool); - ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all return fields from the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1993,10 +1823,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all return fields from the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2005,10 +1836,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all return fields from the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2017,10 +1849,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct NameReturn(pub ::std::string::String); - ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all return fields from the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2029,10 +1862,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct SymbolReturn(pub ::std::string::String); - ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all return fields from the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2041,10 +1875,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all return fields from the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2053,10 +1888,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferReturn(pub bool); - ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all return fields from the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2065,7 +1901,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index 82b6418fa4..dc55082478 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -9,171 +9,133 @@ pub use astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_assetWithdrawalDecimals", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( + "uint32" + ),), + },], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToOriginChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToOriginChain", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToOriginChain",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + },], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -181,22 +143,19 @@ pub mod astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0398\x03\x80a\x039\x839\x81\x01`@\x81\x90Ra\0/\x91a\0=V[c\xFF\xFF\xFF\xFF\x16`\x80Ra\0jV[`\0` \x82\x84\x03\x12\x15a\0OW`\0\x80\xFD[\x81Qc\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\0cW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x02\xB5a\0\x84`\09`\0`K\x01Ra\x02\xB5`\0\xF3\xFE`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaWithdrawer { fn clone(&self) -> Self { @@ -205,6 +164,7 @@ pub mod astria_withdrawer { } impl ::core::ops::Deref for AstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -228,16 +188,16 @@ pub mod astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -275,7 +235,8 @@ pub mod astria_withdrawer { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -283,7 +244,8 @@ pub mod astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function + + /// Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function pub fn withdraw_to_origin_chain( &self, destination_chain_address: ::std::string::String, @@ -293,7 +255,8 @@ pub mod astria_withdrawer { .method_hash([145, 189, 29, 222], (destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x9a977afe) function + + /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function pub fn withdraw_to_sequencer( &self, destination_chain_address: ::ethers::core::types::Address, @@ -302,39 +265,35 @@ pub mod astria_withdrawer { .method_hash([154, 151, 122, 254], destination_chain_address) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaWithdrawer { + for AstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -347,7 +306,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -369,7 +328,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -382,7 +341,7 @@ pub mod astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -404,12 +363,8 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -423,7 +378,8 @@ pub mod astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -432,11 +388,15 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all input parameters for the `withdrawToOriginChain` function with signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` + /// Container type for all input parameters for the `withdrawToOriginChain` function with + /// signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` #[derive( Clone, ::ethers::contract::EthCall, @@ -445,7 +405,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToOriginChain", @@ -455,7 +415,8 @@ pub mod astria_withdrawer { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(address)` and selector `0x9a977afe` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` #[derive( Clone, ::ethers::contract::EthCall, @@ -464,13 +425,13 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] pub struct WithdrawToSequencerCall { pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerCalls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -482,19 +443,19 @@ pub mod astria_withdrawer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToOriginChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -518,15 +479,9 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToOriginChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToOriginChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -545,7 +500,8 @@ pub mod astria_withdrawer { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -554,7 +510,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index 3df43200e3..346a3a9a82 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -9,104 +9,82 @@ pub use i_astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod i_astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", - ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ]), + functions: ::core::convert::From::from([( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + )]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -114,10 +92,9 @@ pub mod i_astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); pub struct IAstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for IAstriaWithdrawer { fn clone(&self) -> Self { @@ -126,6 +103,7 @@ pub mod i_astria_withdrawer { } impl ::core::ops::Deref for IAstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -149,15 +127,14 @@ pub mod i_astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - IASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -165,39 +142,35 @@ pub mod i_astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - IAstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for IAstriaWithdrawer { + for IAstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -210,7 +183,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -232,7 +205,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -245,7 +218,7 @@ pub mod i_astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum IAstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -267,12 +240,8 @@ pub mod i_astria_withdrawer { impl ::core::fmt::Display for IAstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -286,7 +255,8 @@ pub mod i_astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -295,11 +265,15 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -308,7 +282,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } From e66e45e45306a3514c4169866c00a002cf0194af Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:34:47 -0400 Subject: [PATCH 15/22] explicitly allow unreachable_pub --- crates/astria-bridge-withdrawer/build.rs | 6 +++--- .../withdrawer/ethereum/generated/astria_mintable_erc20.rs | 2 +- .../src/withdrawer/ethereum/generated/astria_withdrawer.rs | 2 +- .../ethereum/generated/astria_withdrawer_interface.rs | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index 7c6196a1c2..2f64d284ba 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -16,7 +16,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs", - format!("#![allow(warnings)]\n#![allow(clippy::all)]\n{abi}"), + format!("#![allow(unreachable_pub)]\n#![allow(clippy::all)]\n{abi}"), )?; let abi = Abigen::new( @@ -26,7 +26,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer.rs", - format!("#![allow(warnings)]\n#![allow(clippy::all)]\n{abi}"), + format!("#![allow(unreachable_pub)]\n#![allow(clippy::all)]\n{abi}"), )?; let abi = Abigen::new( "AstriaMintableERC20", @@ -35,7 +35,7 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs", - format!("#![allow(warnings)]\n#![allow(clippy::all)]\n{abi}"), + format!("#![allow(unreachable_pub)]\n#![allow(clippy::all)]\n{abi}"), )?; Ok(()) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index 8cf5e7fe67..054b28426e 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -1,4 +1,4 @@ -#![allow(warnings)] +#![allow(unreachable_pub)] #![allow(clippy::all)] pub use astria_mintable_erc20::*; /// This module was auto-generated with ethers-rs Abigen. diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index dc55082478..2ce5c08056 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -1,4 +1,4 @@ -#![allow(warnings)] +#![allow(unreachable_pub)] #![allow(clippy::all)] pub use astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index 346a3a9a82..0c62b8fdca 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -1,4 +1,4 @@ -#![allow(warnings)] +#![allow(unreachable_pub)] #![allow(clippy::all)] pub use i_astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. From 1b576fad5f72304df1f724e6d8dce8c751694201 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 00:38:25 -0400 Subject: [PATCH 16/22] more explicit allows --- crates/astria-bridge-withdrawer/build.rs | 15 ++++++++++++--- .../ethereum/generated/astria_mintable_erc20.rs | 8 ++++++-- .../ethereum/generated/astria_withdrawer.rs | 8 ++++++-- .../generated/astria_withdrawer_interface.rs | 8 ++++++-- 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index 2f64d284ba..7e4ad4e68a 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -16,7 +16,10 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs", - format!("#![allow(unreachable_pub)]\n#![allow(clippy::all)]\n{abi}"), + format!( + "#![allow(unreachable_pub, clippy::module_name_repetitions, clippy::too_many_lines, \ + clippy::pedantic)]\n{abi}" + ), )?; let abi = Abigen::new( @@ -26,7 +29,10 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_withdrawer.rs", - format!("#![allow(unreachable_pub)]\n#![allow(clippy::all)]\n{abi}"), + format!( + "#![allow(unreachable_pub, clippy::module_name_repetitions, clippy::too_many_lines, \ + clippy::pedantic)]\n{abi}" + ), )?; let abi = Abigen::new( "AstriaMintableERC20", @@ -35,7 +41,10 @@ fn main() -> Result<(), Box> { .generate()?; fs::write( "./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs", - format!("#![allow(unreachable_pub)]\n#![allow(clippy::all)]\n{abi}"), + format!( + "#![allow(unreachable_pub, clippy::module_name_repetitions, clippy::too_many_lines, \ + clippy::pedantic)]\n{abi}" + ), )?; Ok(()) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index 054b28426e..088c9650fe 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -1,5 +1,9 @@ -#![allow(unreachable_pub)] -#![allow(clippy::all)] +#![allow( + unreachable_pub, + clippy::module_name_repetitions, + clippy::too_many_lines, + clippy::pedantic +)] pub use astria_mintable_erc20::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index 2ce5c08056..86daf47fa4 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -1,5 +1,9 @@ -#![allow(unreachable_pub)] -#![allow(clippy::all)] +#![allow( + unreachable_pub, + clippy::module_name_repetitions, + clippy::too_many_lines, + clippy::pedantic +)] pub use astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index 0c62b8fdca..3b2e62186f 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -1,5 +1,9 @@ -#![allow(unreachable_pub)] -#![allow(clippy::all)] +#![allow( + unreachable_pub, + clippy::module_name_repetitions, + clippy::too_many_lines, + clippy::pedantic +)] pub use i_astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: From 2e2dbf6ec94127670048ea304a20d4a69172e23e Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 12:16:51 -0400 Subject: [PATCH 17/22] clippy again --- crates/astria-bridge-withdrawer/build.rs | 39 +- .../generated/astria_mintable_erc20.rs | 1642 +++++++++-------- .../ethereum/generated/astria_withdrawer.rs | 396 ++-- .../generated/astria_withdrawer_interface.rs | 242 +-- .../src/withdrawer/ethereum/generated/mod.rs | 8 + 5 files changed, 1266 insertions(+), 1061 deletions(-) diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index 7e4ad4e68a..82a5570a74 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -1,5 +1,3 @@ -use std::fs; - use ethers::contract::Abigen; fn main() -> Result<(), Box> { @@ -9,43 +7,26 @@ fn main() -> Result<(), Box> { println!("cargo:rerun-if-changed=ethereum/src/IAstriaWithdrawer.sol"); println!("cargo:rerun-if-changed=ethereum/src/AstriaMintableERC20.sol"); - let abi = Abigen::new( + Abigen::new( "IAstriaWithdrawer", "./ethereum/out/IAstriaWithdrawer.sol/IAstriaWithdrawer.json", )? - .generate()?; - fs::write( - "./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs", - format!( - "#![allow(unreachable_pub, clippy::module_name_repetitions, clippy::too_many_lines, \ - clippy::pedantic)]\n{abi}" - ), - )?; + .generate()? + .write_to_file("./src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs")?; - let abi = Abigen::new( + Abigen::new( "AstriaWithdrawer", "./ethereum/out/AstriaWithdrawer.sol/AstriaWithdrawer.json", )? - .generate()?; - fs::write( - "./src/withdrawer/ethereum/generated/astria_withdrawer.rs", - format!( - "#![allow(unreachable_pub, clippy::module_name_repetitions, clippy::too_many_lines, \ - clippy::pedantic)]\n{abi}" - ), - )?; - let abi = Abigen::new( + .generate()? + .write_to_file("./src/withdrawer/ethereum/generated/astria_withdrawer.rs")?; + + Abigen::new( "AstriaMintableERC20", "./ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json", )? - .generate()?; - fs::write( - "./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs", - format!( - "#![allow(unreachable_pub, clippy::module_name_repetitions, clippy::too_many_lines, \ - clippy::pedantic)]\n{abi}" - ), - )?; + .generate()? + .write_to_file("./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs")?; Ok(()) } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index 088c9650fe..db19ff29ad 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -1,9 +1,3 @@ -#![allow( - unreachable_pub, - clippy::module_name_repetitions, - clippy::too_many_lines, - clippy::pedantic -)] pub use astria_mintable_erc20::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: @@ -13,7 +7,7 @@ pub use astria_mintable_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod astria_mintable_erc20 { #[allow(deprecated)] @@ -29,7 +23,9 @@ pub mod astria_mintable_erc20 { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + name: ::std::borrow::ToOwned::to_owned( + "_assetWithdrawalDecimals", + ), kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("uint32"), @@ -54,587 +50,732 @@ pub mod astria_mintable_erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("BRIDGE"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("BRIDGE"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToSequencer", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Mint"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InsufficientAllowance", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InsufficientBalance", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidApprover", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidReceiver", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - },], - },], + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned( + "ERC20InvalidSpender", ), - },], - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + }, + ], ), ]), receive: false, fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0E\xCA8\x03\x80b\0\x0E\xCA\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01:V[\x81\x81`\x03b\0\0D\x83\x82b\0\x02qV[P`\x04b\0\0S\x82\x82b\0\x02qV[PPP`\x01`\x01`\xA0\x1B\x03\x90\x93\x16`\xA0RPc\xFF\xFF\xFF\xFF\x16`\x80RPb\0\x03=V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x9DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xBAWb\0\0\xBAb\0\0uV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xE5Wb\0\0\xE5b\0\0uV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\x02W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01&W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\x07V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01QW`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01iW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x01\x84W`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\xA2W`\0\x80\xFD[b\0\x01\xB0\x88\x83\x89\x01b\0\0\x8BV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x01\xC7W`\0\x80\xFD[Pb\0\x01\xD6\x87\x82\x88\x01b\0\0\x8BV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xF7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x18WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02lW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02GWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02hW\x82\x81U`\x01\x01b\0\x02SV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02\x8DWb\0\x02\x8Db\0\0uV[b\0\x02\xA5\x81b\0\x02\x9E\x84Tb\0\x01\xE2V[\x84b\0\x02\x1EV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xDDW`\0\x84\x15b\0\x02\xC4WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02hV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x0EW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xEDV[P\x85\x82\x10\x15b\0\x03-W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Q`\xA0Qa\x0B`b\0\x03j`\09`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0B``\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct AstriaMintableERC20(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaMintableERC20 { fn clone(&self) -> Self { @@ -643,7 +784,6 @@ pub mod astria_mintable_erc20 { } impl ::core::ops::Deref for AstriaMintableERC20 { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -667,16 +807,16 @@ pub mod astria_mintable_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + ), + ) } - - /// Constructs the general purpose `Deployer` instance based on the provided constructor - /// arguments and sends it. Returns a new instance of a deployer that returns an - /// instance of this contract after sending the transaction + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -714,8 +854,7 @@ pub mod astria_mintable_erc20 { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -723,17 +862,18 @@ pub mod astria_mintable_erc20 { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `BRIDGE` (0xee9a31a2) function + ///Calls the contract's `BRIDGE` (0xee9a31a2) function pub fn bridge( &self, - ) -> ::ethers::contract::builders::ContractCall { + ) -> ::ethers::contract::builders::ContractCall< + M, + ::ethers::core::types::Address, + > { self.0 .method_hash([238, 154, 49, 162], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `allowance` (0xdd62ed3e) function + ///Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, owner: ::ethers::core::types::Address, @@ -743,8 +883,7 @@ pub mod astria_mintable_erc20 { .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `approve` (0x095ea7b3) function + ///Calls the contract's `approve` (0x095ea7b3) function pub fn approve( &self, spender: ::ethers::core::types::Address, @@ -754,8 +893,7 @@ pub mod astria_mintable_erc20 { .method_hash([9, 94, 167, 179], (spender, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `balanceOf` (0x70a08231) function + ///Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, account: ::ethers::core::types::Address, @@ -764,15 +902,13 @@ pub mod astria_mintable_erc20 { .method_hash([112, 160, 130, 49], account) .expect("method not found (this should never happen)") } - - /// Calls the contract's `decimals` (0x313ce567) function + ///Calls the contract's `decimals` (0x313ce567) function pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `mint` (0x40c10f19) function + ///Calls the contract's `mint` (0x40c10f19) function pub fn mint( &self, to: ::ethers::core::types::Address, @@ -782,15 +918,15 @@ pub mod astria_mintable_erc20 { .method_hash([64, 193, 15, 25], (to, amount)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `name` (0x06fdde03) function - pub fn name(&self) -> ::ethers::contract::builders::ContractCall { + ///Calls the contract's `name` (0x06fdde03) function + pub fn name( + &self, + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `symbol` (0x95d89b41) function + ///Calls the contract's `symbol` (0x95d89b41) function pub fn symbol( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -798,8 +934,7 @@ pub mod astria_mintable_erc20 { .method_hash([149, 216, 155, 65], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `totalSupply` (0x18160ddd) function + ///Calls the contract's `totalSupply` (0x18160ddd) function pub fn total_supply( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -807,8 +942,7 @@ pub mod astria_mintable_erc20 { .method_hash([24, 22, 13, 221], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `transfer` (0xa9059cbb) function + ///Calls the contract's `transfer` (0xa9059cbb) function pub fn transfer( &self, to: ::ethers::core::types::Address, @@ -818,8 +952,7 @@ pub mod astria_mintable_erc20 { .method_hash([169, 5, 156, 187], (to, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `transferFrom` (0x23b872dd) function + ///Calls the contract's `transferFrom` (0x23b872dd) function pub fn transfer_from( &self, from: ::ethers::core::types::Address, @@ -830,8 +963,7 @@ pub mod astria_mintable_erc20 { .method_hash([35, 184, 114, 221], (from, to, value)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + ///Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function pub fn withdraw_to_ibc_chain( &self, amount: ::ethers::core::types::U256, @@ -839,11 +971,13 @@ pub mod astria_mintable_erc20 { memo: ::std::string::String, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) + .method_hash( + [95, 229, 107, 9], + (amount, destination_chain_address, memo), + ) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToSequencer` (0x757e9874) function + ///Calls the contract's `withdrawToSequencer` (0x757e9874) function pub fn withdraw_to_sequencer( &self, amount: ::ethers::core::types::U256, @@ -853,62 +987,70 @@ pub mod astria_mintable_erc20 { .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Approval` event + ///Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + ApprovalFilter, + > { self.0.event() } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `Mint` event + ///Gets the contract's `Mint` event pub fn mint_filter( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `Transfer` event + ///Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + TransferFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + AstriaMintableERC20Events, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 - { + for AstriaMintableERC20 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - /// Custom Error type `ERC20InsufficientAllowance` with signature - /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` #[derive( Clone, ::ethers::contract::EthError, @@ -917,7 +1059,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror( name = "ERC20InsufficientAllowance", @@ -928,8 +1070,7 @@ pub mod astria_mintable_erc20 { pub allowance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - /// Custom Error type `ERC20InsufficientBalance` with signature - /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` #[derive( Clone, ::ethers::contract::EthError, @@ -938,7 +1079,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror( name = "ERC20InsufficientBalance", @@ -949,8 +1090,7 @@ pub mod astria_mintable_erc20 { pub balance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and - /// selector `0xe602df05` + ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` #[derive( Clone, ::ethers::contract::EthError, @@ -959,14 +1099,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] pub struct ERC20InvalidApprover { pub approver: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and - /// selector `0xec442f05` + ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` #[derive( Clone, ::ethers::contract::EthError, @@ -975,14 +1114,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] pub struct ERC20InvalidReceiver { pub receiver: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and - /// selector `0x96c6fd1e` + ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` #[derive( Clone, ::ethers::contract::EthError, @@ -991,14 +1129,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] pub struct ERC20InvalidSender { pub sender: ::ethers::core::types::Address, } - /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and - /// selector `0x94280d62` + ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` #[derive( Clone, ::ethers::contract::EthError, @@ -1007,13 +1144,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] pub struct ERC20InvalidSpender { pub spender: ::ethers::core::types::Address, } - /// Container type for all of the contract's custom errors + ///Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), @@ -1031,39 +1168,39 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) - { + if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( + data, + ) { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InsufficientAllowance(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InsufficientBalance(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidApprover(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidReceiver(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidSender(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::ERC20InvalidSpender(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1099,33 +1236,27 @@ pub mod astria_mintable_erc20 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ if selector - == ::selector() => - { + == ::selector() => { true } _ => false, @@ -1135,12 +1266,24 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), - Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientAllowance(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InsufficientBalance(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidApprover(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidReceiver(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidSender(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::ERC20InvalidSpender(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1150,7 +1293,8 @@ pub mod astria_mintable_erc20 { Self::RevertString(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From + for AstriaMintableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } @@ -1188,7 +1332,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -1206,7 +1350,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -1228,7 +1372,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] pub struct MintFilter { @@ -1244,7 +1388,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -1265,7 +1409,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -1275,7 +1419,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Events { ApprovalFilter(ApprovalFilter), @@ -1298,9 +1442,7 @@ pub mod astria_mintable_erc20 { return Ok(AstriaMintableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( - decoded, - )); + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter(decoded)); } if let Ok(decoded) = TransferFilter::decode_log(log) { return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); @@ -1312,9 +1454,13 @@ pub mod astria_mintable_erc20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1344,8 +1490,7 @@ pub mod astria_mintable_erc20 { Self::TransferFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -1354,15 +1499,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` - /// and selector `0xee9a31a2` + ///Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthCall, @@ -1371,12 +1512,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] pub struct BridgeCall; - /// Container type for all input parameters for the `allowance` function with signature - /// `allowance(address,address)` and selector `0xdd62ed3e` + ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthCall, @@ -1385,15 +1525,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall { pub owner: ::ethers::core::types::Address, pub spender: ::ethers::core::types::Address, } - /// Container type for all input parameters for the `approve` function with signature - /// `approve(address,uint256)` and selector `0x095ea7b3` + ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, @@ -1402,15 +1541,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { pub spender: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `balanceOf` function with signature - /// `balanceOf(address)` and selector `0x70a08231` + ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthCall, @@ -1419,14 +1557,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall { pub account: ::ethers::core::types::Address, } - /// Container type for all input parameters for the `decimals` function with signature - /// `decimals()` and selector `0x313ce567` + ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, @@ -1435,12 +1572,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - /// Container type for all input parameters for the `mint` function with signature - /// `mint(address,uint256)` and selector `0x40c10f19` + ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` #[derive( Clone, ::ethers::contract::EthCall, @@ -1449,15 +1585,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "mint", abi = "mint(address,uint256)")] pub struct MintCall { pub to: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `name` function with signature `name()` and - /// selector `0x06fdde03` + ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, @@ -1466,12 +1601,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; - /// Container type for all input parameters for the `symbol` function with signature `symbol()` - /// and selector `0x95d89b41` + ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthCall, @@ -1480,12 +1614,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; - /// Container type for all input parameters for the `totalSupply` function with signature - /// `totalSupply()` and selector `0x18160ddd` + ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1494,12 +1627,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; - /// Container type for all input parameters for the `transfer` function with signature - /// `transfer(address,uint256)` and selector `0xa9059cbb` + ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthCall, @@ -1508,15 +1640,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `transferFrom` function with signature - /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1525,7 +1656,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1533,8 +1664,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - /// Container type for all input parameters for the `withdrawToIbcChain` function with signature - /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` #[derive( Clone, ::ethers::contract::EthCall, @@ -1543,7 +1673,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToIbcChain", @@ -1554,8 +1684,7 @@ pub mod astria_mintable_erc20 { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - /// Container type for all input parameters for the `withdrawToSequencer` function with - /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` #[derive( Clone, ::ethers::contract::EthCall, @@ -1564,7 +1693,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToSequencer", @@ -1574,7 +1703,7 @@ pub mod astria_mintable_erc20 { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's call + ///Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Calls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -1597,53 +1726,74 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Bridge(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Mint(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode(data) { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1656,16 +1806,28 @@ pub mod astria_mintable_erc20 { ::ethers::core::abi::AbiEncode::encode(element) } Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Allowance(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::BalanceOf(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Decimals(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TotalSupply(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::Transfer(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } + Self::TransferFrom(element) => { + ::ethers::core::abi::AbiEncode::encode(element) + } Self::WithdrawToIbcChain(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1678,7 +1840,9 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::AssetWithdrawalDecimals(element) => { + ::core::fmt::Display::fmt(element, f) + } Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), Self::Approve(element) => ::core::fmt::Display::fmt(element, f), @@ -1690,12 +1854,17 @@ pub mod astria_mintable_erc20 { Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToIbcChain(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToSequencer(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From + for AstriaMintableERC20Calls { fn from(value: AssetWithdrawalDecimalsCall) -> Self { Self::AssetWithdrawalDecimals(value) } @@ -1765,8 +1934,7 @@ pub mod astria_mintable_erc20 { Self::WithdrawToSequencer(value) } } - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1775,11 +1943,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); - /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` - /// and selector `0xee9a31a2` + ///Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1788,11 +1955,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BridgeReturn(pub ::ethers::core::types::Address); - /// Container type for all return fields from the `allowance` function with signature - /// `allowance(address,address)` and selector `0xdd62ed3e` + ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1801,11 +1967,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `approve` function with signature - /// `approve(address,uint256)` and selector `0x095ea7b3` + ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1814,11 +1979,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct ApproveReturn(pub bool); - /// Container type for all return fields from the `balanceOf` function with signature - /// `balanceOf(address)` and selector `0x70a08231` + ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1827,11 +1991,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `decimals` function with signature - /// `decimals()` and selector `0x313ce567` + ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1840,11 +2003,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct DecimalsReturn(pub u8); - /// Container type for all return fields from the `name` function with signature `name()` and - /// selector `0x06fdde03` + ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1853,11 +2015,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct NameReturn(pub ::std::string::String); - /// Container type for all return fields from the `symbol` function with signature `symbol()` - /// and selector `0x95d89b41` + ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1866,11 +2027,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct SymbolReturn(pub ::std::string::String); - /// Container type for all return fields from the `totalSupply` function with signature - /// `totalSupply()` and selector `0x18160ddd` + ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1879,11 +2039,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - /// Container type for all return fields from the `transfer` function with signature - /// `transfer(address,uint256)` and selector `0xa9059cbb` + ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1892,11 +2051,10 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferReturn(pub bool); - /// Container type for all return fields from the `transferFrom` function with signature - /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` + ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1905,7 +2063,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index 86daf47fa4..23ea0b47b4 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -1,9 +1,3 @@ -#![allow( - unreachable_pub, - clippy::module_name_repetitions, - clippy::too_many_lines, - clippy::pedantic -)] pub use astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: @@ -13,133 +7,171 @@ pub use astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( - "uint32" - ),), - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_assetWithdrawalDecimals", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToOriginChain"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToOriginChain",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToOriginChain", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), - inputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "withdrawToSequencer", ), - },], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - },], + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned( + "_destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + }, + ], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -147,19 +179,22 @@ pub mod astria_withdrawer { fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0398\x03\x80a\x039\x839\x81\x01`@\x81\x90Ra\0/\x91a\0=V[c\xFF\xFF\xFF\xFF\x16`\x80Ra\0jV[`\0` \x82\x84\x03\x12\x15a\0OW`\0\x80\xFD[\x81Qc\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\0cW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x02\xB5a\0\x84`\09`\0`K\x01Ra\x02\xB5`\0\xF3\xFE`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__BYTECODE); + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __BYTECODE, + ); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = - ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( + __DEPLOYED_BYTECODE, + ); pub struct AstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaWithdrawer { fn clone(&self) -> Self { @@ -168,7 +203,6 @@ pub mod astria_withdrawer { } impl ::core::ops::Deref for AstriaWithdrawer { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -192,16 +226,16 @@ pub mod astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - ASTRIAWITHDRAWER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + ), + ) } - - /// Constructs the general purpose `Deployer` instance based on the provided constructor - /// arguments and sends it. Returns a new instance of a deployer that returns an - /// instance of this contract after sending the transaction + /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. + /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -239,8 +273,7 @@ pub mod astria_withdrawer { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -248,8 +281,7 @@ pub mod astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function + ///Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function pub fn withdraw_to_origin_chain( &self, destination_chain_address: ::std::string::String, @@ -259,8 +291,7 @@ pub mod astria_withdrawer { .method_hash([145, 189, 29, 222], (destination_chain_address, memo)) .expect("method not found (this should never happen)") } - - /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function + ///Calls the contract's `withdrawToSequencer` (0x9a977afe) function pub fn withdraw_to_sequencer( &self, destination_chain_address: ::ethers::core::types::Address, @@ -269,35 +300,39 @@ pub mod astria_withdrawer { .method_hash([154, 151, 122, 254], destination_chain_address) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + AstriaWithdrawerEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaWithdrawer - { + for AstriaWithdrawer { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -310,7 +345,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -332,7 +367,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -345,7 +380,7 @@ pub mod astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -367,8 +402,12 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -382,8 +421,7 @@ pub mod astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -392,15 +430,11 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all input parameters for the `withdrawToOriginChain` function with - /// signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` + ///Container type for all input parameters for the `withdrawToOriginChain` function with signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` #[derive( Clone, ::ethers::contract::EthCall, @@ -409,7 +443,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall( name = "withdrawToOriginChain", @@ -419,8 +453,7 @@ pub mod astria_withdrawer { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - /// Container type for all input parameters for the `withdrawToSequencer` function with - /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` + ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(address)` and selector `0x9a977afe` #[derive( Clone, ::ethers::contract::EthCall, @@ -429,13 +462,13 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] pub struct WithdrawToSequencerCall { pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's call + ///Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerCalls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -447,19 +480,19 @@ pub mod astria_withdrawer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToOriginChain(decoded)); } - if let Ok(decoded) = - ::decode(data) - { + if let Ok(decoded) = ::decode( + data, + ) { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -483,9 +516,15 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToOriginChain(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), + Self::AssetWithdrawalDecimals(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToOriginChain(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::WithdrawToSequencer(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -504,8 +543,7 @@ pub mod astria_withdrawer { Self::WithdrawToSequencer(value) } } - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -514,7 +552,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index 3b2e62186f..d685b1672d 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -1,9 +1,3 @@ -#![allow( - unreachable_pub, - clippy::module_name_repetitions, - clippy::too_many_lines, - clippy::pedantic -)] pub use i_astria_withdrawer::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: @@ -13,82 +7,104 @@ pub use i_astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types + non_camel_case_types, )] pub mod i_astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([( - ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), - inputs: ::std::vec![], - outputs: ::std::vec![::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - },], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - },], - )]), + functions: ::core::convert::From::from([ + ( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![ + ::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned( + "ASSET_WITHDRAWAL_DECIMALS", + ), + inputs: ::std::vec![], + outputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + }, + ], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + }, + ], + ), + ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - },], + ::std::vec![ + ::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned( + "SequencerWithdrawal", + ), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint( + 256usize, + ), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned( + "destinationChainAddress", + ), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + }, + ], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -96,9 +112,10 @@ pub mod i_astria_withdrawer { fallback: false, } } - /// The parsed JSON ABI of the contract. - pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = - ::ethers::contract::Lazy::new(__abi); + ///The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< + ::ethers::core::abi::Abi, + > = ::ethers::contract::Lazy::new(__abi); pub struct IAstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for IAstriaWithdrawer { fn clone(&self) -> Self { @@ -107,7 +124,6 @@ pub mod i_astria_withdrawer { } impl ::core::ops::Deref for IAstriaWithdrawer { type Target = ::ethers::contract::Contract; - fn deref(&self) -> &Self::Target { &self.0 } @@ -131,14 +147,15 @@ pub mod i_astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self(::ethers::contract::Contract::new( - address.into(), - IASTRIAWITHDRAWER_ABI.clone(), - client, - )) + Self( + ::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + ), + ) } - - /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -146,35 +163,39 @@ pub mod i_astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - - /// Gets the contract's `Ics20Withdrawal` event + ///Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + Ics20WithdrawalFilter, + > { self.0.event() } - - /// Gets the contract's `SequencerWithdrawal` event + ///Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> - { + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + SequencerWithdrawalFilter, + > { self.0.event() } - /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> - { - self.0 - .event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event< + ::std::sync::Arc, + M, + IAstriaWithdrawerEvents, + > { + self.0.event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for IAstriaWithdrawer - { + for IAstriaWithdrawer { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -187,7 +208,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "Ics20Withdrawal", @@ -209,7 +230,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] #[ethevent( name = "SequencerWithdrawal", @@ -222,7 +243,7 @@ pub mod i_astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - /// Container type for all of the contract's events + ///Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum IAstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -244,8 +265,12 @@ pub mod i_astria_withdrawer { impl ::core::fmt::Display for IAstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::Ics20WithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } + Self::SequencerWithdrawalFilter(element) => { + ::core::fmt::Display::fmt(element, f) + } } } } @@ -259,8 +284,7 @@ pub mod i_astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -269,15 +293,11 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, - )] - #[ethcall( - name = "ASSET_WITHDRAWAL_DECIMALS", - abi = "ASSET_WITHDRAWAL_DECIMALS()" + Hash )] + #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with - /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -286,7 +306,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash, + Hash )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs index 22f798e343..db3f518ca7 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -1,3 +1,11 @@ +#![allow( + unreachable_pub, + clippy::module_inception, + clippy::module_name_repetitions, + clippy::too_many_lines, + clippy::pedantic +)] + pub(crate) mod astria_withdrawer_interface; #[cfg(test)] From f594a2bc6ea93980f0f6deddc7974c1e097b81de Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 12:41:11 -0400 Subject: [PATCH 18/22] clippy --- .../generated/astria_mintable_erc20.rs | 1636 ++++++++--------- .../ethereum/generated/astria_withdrawer.rs | 390 ++-- .../generated/astria_withdrawer_interface.rs | 236 ++- .../src/withdrawer/ethereum/generated/mod.rs | 1 + 4 files changed, 1015 insertions(+), 1248 deletions(-) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index db19ff29ad..ea4827df77 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -7,7 +7,7 @@ pub use astria_mintable_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_mintable_erc20 { #[allow(deprecated)] @@ -23,9 +23,7 @@ pub mod astria_mintable_erc20 { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_assetWithdrawalDecimals", - ), + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("uint32"), @@ -50,732 +48,587 @@ pub mod astria_mintable_erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("BRIDGE"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("BRIDGE"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientAllowance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientBalance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidApprover", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidReceiver", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidSpender", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ]), receive: false, fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x0E\xCA8\x03\x80b\0\x0E\xCA\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x01:V[\x81\x81`\x03b\0\0D\x83\x82b\0\x02qV[P`\x04b\0\0S\x82\x82b\0\x02qV[PPP`\x01`\x01`\xA0\x1B\x03\x90\x93\x16`\xA0RPc\xFF\xFF\xFF\xFF\x16`\x80RPb\0\x03=V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\0\x9DW`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\0\xBAWb\0\0\xBAb\0\0uV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\0\xE5Wb\0\0\xE5b\0\0uV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\x02W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x01&W\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\x07V[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x01QW`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x01iW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x01\x84W`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\xA2W`\0\x80\xFD[b\0\x01\xB0\x88\x83\x89\x01b\0\0\x8BV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x01\xC7W`\0\x80\xFD[Pb\0\x01\xD6\x87\x82\x88\x01b\0\0\x8BV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x01\xF7W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\x18WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x02lW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x02GWP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x02hW\x82\x81U`\x01\x01b\0\x02SV[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x02\x8DWb\0\x02\x8Db\0\0uV[b\0\x02\xA5\x81b\0\x02\x9E\x84Tb\0\x01\xE2V[\x84b\0\x02\x1EV[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x02\xDDW`\0\x84\x15b\0\x02\xC4WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x02hV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\x0EW\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x02\xEDV[P\x85\x82\x10\x15b\0\x03-W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[`\x80Q`\xA0Qa\x0B`b\0\x03j`\09`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0B``\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c\x8F-\x8C\xB8\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08iV[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\x08\xD3V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\x08\xFDV[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\x08\xD3V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\t\x82V[a\x04GV[a\x014a\x01\x9A6`\x04a\t\xFCV[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\x1EV[a\x04\xA0V[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x04\xEEV[a\x01 a\x02\x1A6`\x04a\x08\xD3V[a\x04\xFDV[a\x014a\x02-6`\x04a\nJV[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\ntV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\ntV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\x0BV[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\x1DV[a\x03\\\x85\x85\x85a\x05\x9BV[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x05\xFAV[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[a\x04Q3\x86a\x064V[\x843`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\x04\x91\x94\x93\x92\x91\x90a\n\xD7V[`@Q\x80\x91\x03\x90\xA3PPPPPV[a\x04\xAA3\x83a\x064V[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R\x82\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[```\x04\x80Ta\x02\xA6\x90a\ntV[`\x003a\x037\x81\x85\x85a\x05\x9BV[a\x05\x18\x83\x83\x83`\x01a\x06jV[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x05\x95W\x81\x81\x10\x15a\x05\x86W`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x05\x95\x84\x84\x84\x84\x03`\0a\x06jV[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x05\xC5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x05\xEFW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\x18\x83\x83\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06$W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060`\0\x83\x83a\x07?V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x060\x82`\0\x83a\x07?V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x06\x94W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\xBEW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x05\x95W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x071\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07jW\x80`\x02`\0\x82\x82Ta\x07_\x91\x90a\x0B\tV[\x90\x91UPa\x07\xDC\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x07\xBDW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x07\xF8W`\x02\x80T\x82\x90\x03\x90Ua\x08\x17V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x08\\\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPV[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\x08\x96W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\x08zV[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x08\xCEW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\x08\xE6W`\0\x80\xFD[a\x08\xEF\x83a\x08\xB7V[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x12W`\0\x80\xFD[a\t\x1B\x84a\x08\xB7V[\x92Pa\t)` \x85\x01a\x08\xB7V[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\tKW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\tcW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\t{W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\t\x9AW`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\t\xB9W`\0\x80\xFD[a\t\xC5\x89\x83\x8A\x01a\t9V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\t\xDEW`\0\x80\xFD[Pa\t\xEB\x88\x82\x89\x01a\t9V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x0EW`\0\x80\xFD[a\n\x17\x82a\x08\xB7V[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n1W`\0\x80\xFD[\x825\x91Pa\nA` \x84\x01a\x08\xB7V[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n]W`\0\x80\xFD[a\nf\x83a\x08\xB7V[\x91Pa\nA` \x84\x01a\x08\xB7V[`\x01\x81\x81\x1C\x90\x82\x16\x80a\n\x88W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\n\xA8WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\n\xEB`@\x83\x01\x86\x88a\n\xAEV[\x82\x81\x03` \x84\x01Ra\n\xFE\x81\x85\x87a\n\xAEV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xC8\xBB\x8E\x84\xF3\x1D,\xD3\x84-h\x05E\x8F\xAFa\x94\x88\xF9,\xC2\xDA\xC5\xA0\xB2\x9B\xC0dlQ\xFC?dsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaMintableERC20(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaMintableERC20 { fn clone(&self) -> Self { @@ -784,6 +637,7 @@ pub mod astria_mintable_erc20 { } impl ::core::ops::Deref for AstriaMintableERC20 { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -807,16 +661,16 @@ pub mod astria_mintable_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -854,7 +708,8 @@ pub mod astria_mintable_erc20 { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -862,18 +717,17 @@ pub mod astria_mintable_erc20 { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `BRIDGE` (0xee9a31a2) function + + /// Calls the contract's `BRIDGE` (0xee9a31a2) function pub fn bridge( &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::ethers::core::types::Address, - > { + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([238, 154, 49, 162], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `allowance` (0xdd62ed3e) function + + /// Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, owner: ::ethers::core::types::Address, @@ -883,7 +737,8 @@ pub mod astria_mintable_erc20 { .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } - ///Calls the contract's `approve` (0x095ea7b3) function + + /// Calls the contract's `approve` (0x095ea7b3) function pub fn approve( &self, spender: ::ethers::core::types::Address, @@ -893,7 +748,8 @@ pub mod astria_mintable_erc20 { .method_hash([9, 94, 167, 179], (spender, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `balanceOf` (0x70a08231) function + + /// Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, account: ::ethers::core::types::Address, @@ -902,13 +758,15 @@ pub mod astria_mintable_erc20 { .method_hash([112, 160, 130, 49], account) .expect("method not found (this should never happen)") } - ///Calls the contract's `decimals` (0x313ce567) function + + /// Calls the contract's `decimals` (0x313ce567) function pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `mint` (0x40c10f19) function + + /// Calls the contract's `mint` (0x40c10f19) function pub fn mint( &self, to: ::ethers::core::types::Address, @@ -918,15 +776,15 @@ pub mod astria_mintable_erc20 { .method_hash([64, 193, 15, 25], (to, amount)) .expect("method not found (this should never happen)") } - ///Calls the contract's `name` (0x06fdde03) function - pub fn name( - &self, - ) -> ::ethers::contract::builders::ContractCall { + + /// Calls the contract's `name` (0x06fdde03) function + pub fn name(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `symbol` (0x95d89b41) function + + /// Calls the contract's `symbol` (0x95d89b41) function pub fn symbol( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -934,7 +792,8 @@ pub mod astria_mintable_erc20 { .method_hash([149, 216, 155, 65], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `totalSupply` (0x18160ddd) function + + /// Calls the contract's `totalSupply` (0x18160ddd) function pub fn total_supply( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -942,7 +801,8 @@ pub mod astria_mintable_erc20 { .method_hash([24, 22, 13, 221], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `transfer` (0xa9059cbb) function + + /// Calls the contract's `transfer` (0xa9059cbb) function pub fn transfer( &self, to: ::ethers::core::types::Address, @@ -952,7 +812,8 @@ pub mod astria_mintable_erc20 { .method_hash([169, 5, 156, 187], (to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `transferFrom` (0x23b872dd) function + + /// Calls the contract's `transferFrom` (0x23b872dd) function pub fn transfer_from( &self, from: ::ethers::core::types::Address, @@ -963,7 +824,8 @@ pub mod astria_mintable_erc20 { .method_hash([35, 184, 114, 221], (from, to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + + /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function pub fn withdraw_to_ibc_chain( &self, amount: ::ethers::core::types::U256, @@ -971,13 +833,11 @@ pub mod astria_mintable_erc20 { memo: ::std::string::String, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash( - [95, 229, 107, 9], - (amount, destination_chain_address, memo), - ) + .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x757e9874) function + + /// Calls the contract's `withdrawToSequencer` (0x757e9874) function pub fn withdraw_to_sequencer( &self, amount: ::ethers::core::types::U256, @@ -987,70 +847,62 @@ pub mod astria_mintable_erc20 { .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) .expect("method not found (this should never happen)") } - ///Gets the contract's `Approval` event + + /// Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - ApprovalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { self.0.event() } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Mint` event + + /// Gets the contract's `Mint` event pub fn mint_filter( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Transfer` event + + /// Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - TransferFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaMintableERC20Events, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 { + for AstriaMintableERC20 + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + /// Custom Error type `ERC20InsufficientAllowance` with signature + /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` #[derive( Clone, ::ethers::contract::EthError, @@ -1059,7 +911,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientAllowance", @@ -1070,7 +922,8 @@ pub mod astria_mintable_erc20 { pub allowance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + /// Custom Error type `ERC20InsufficientBalance` with signature + /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` #[derive( Clone, ::ethers::contract::EthError, @@ -1079,7 +932,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientBalance", @@ -1090,7 +943,8 @@ pub mod astria_mintable_erc20 { pub balance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` + /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and + /// selector `0xe602df05` #[derive( Clone, ::ethers::contract::EthError, @@ -1099,13 +953,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] pub struct ERC20InvalidApprover { pub approver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` + /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and + /// selector `0xec442f05` #[derive( Clone, ::ethers::contract::EthError, @@ -1114,13 +969,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] pub struct ERC20InvalidReceiver { pub receiver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` + /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and + /// selector `0x96c6fd1e` #[derive( Clone, ::ethers::contract::EthError, @@ -1129,13 +985,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] pub struct ERC20InvalidSender { pub sender: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` + /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and + /// selector `0x94280d62` #[derive( Clone, ::ethers::contract::EthError, @@ -1144,13 +1001,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] pub struct ERC20InvalidSpender { pub spender: ::ethers::core::types::Address, } - ///Container type for all of the contract's custom errors + /// Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), @@ -1168,39 +1025,39 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( - data, - ) { + if let Ok(decoded) = + <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) + { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientAllowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientBalance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidApprover(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidReceiver(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSender(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSpender(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1236,27 +1093,33 @@ pub mod astria_mintable_erc20 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ => false, @@ -1266,24 +1129,12 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::ERC20InsufficientAllowance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InsufficientBalance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidApprover(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidReceiver(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSender(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSpender(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1293,8 +1144,7 @@ pub mod astria_mintable_erc20 { Self::RevertString(value) } } - impl ::core::convert::From - for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaMintableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } @@ -1332,7 +1182,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -1350,7 +1200,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -1372,7 +1222,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] pub struct MintFilter { @@ -1388,7 +1238,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -1409,7 +1259,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -1419,7 +1269,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Events { ApprovalFilter(ApprovalFilter), @@ -1442,7 +1292,9 @@ pub mod astria_mintable_erc20 { return Ok(AstriaMintableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter(decoded)); + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( + decoded, + )); } if let Ok(decoded) = TransferFilter::decode_log(log) { return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); @@ -1454,13 +1306,9 @@ pub mod astria_mintable_erc20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1490,7 +1338,8 @@ pub mod astria_mintable_erc20 { Self::TransferFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -1499,11 +1348,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthCall, @@ -1512,11 +1365,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] pub struct BridgeCall; - ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all input parameters for the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthCall, @@ -1525,14 +1379,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall { pub owner: ::ethers::core::types::Address, pub spender: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all input parameters for the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, @@ -1541,14 +1396,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { pub spender: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all input parameters for the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthCall, @@ -1557,13 +1413,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall { pub account: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all input parameters for the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, @@ -1572,11 +1429,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` + /// Container type for all input parameters for the `mint` function with signature + /// `mint(address,uint256)` and selector `0x40c10f19` #[derive( Clone, ::ethers::contract::EthCall, @@ -1585,14 +1443,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "mint", abi = "mint(address,uint256)")] pub struct MintCall { pub to: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all input parameters for the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, @@ -1601,11 +1460,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; - ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all input parameters for the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthCall, @@ -1614,11 +1474,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; - ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all input parameters for the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1627,11 +1488,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; - ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all input parameters for the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthCall, @@ -1640,14 +1502,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all input parameters for the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1656,7 +1519,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1664,7 +1527,8 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + /// Container type for all input parameters for the `withdrawToIbcChain` function with signature + /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` #[derive( Clone, ::ethers::contract::EthCall, @@ -1673,7 +1537,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToIbcChain", @@ -1684,7 +1548,8 @@ pub mod astria_mintable_erc20 { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` #[derive( Clone, ::ethers::contract::EthCall, @@ -1693,7 +1558,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToSequencer", @@ -1703,7 +1568,7 @@ pub mod astria_mintable_erc20 { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Calls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -1726,74 +1591,53 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Bridge(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Mint(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) + { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1806,28 +1650,16 @@ pub mod astria_mintable_erc20 { ::ethers::core::abi::AbiEncode::encode(element) } Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Decimals(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Transfer(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TransferFrom(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::WithdrawToIbcChain(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1840,9 +1672,7 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), Self::Approve(element) => ::core::fmt::Display::fmt(element, f), @@ -1854,17 +1684,12 @@ pub mod astria_mintable_erc20 { Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToIbcChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From - for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaMintableERC20Calls { fn from(value: AssetWithdrawalDecimalsCall) -> Self { Self::AssetWithdrawalDecimals(value) } @@ -1934,7 +1759,8 @@ pub mod astria_mintable_erc20 { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1943,10 +1769,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); - ///Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1955,10 +1782,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BridgeReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all return fields from the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1967,10 +1795,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all return fields from the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1979,10 +1808,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct ApproveReturn(pub bool); - ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all return fields from the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1991,10 +1821,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all return fields from the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2003,10 +1834,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all return fields from the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2015,10 +1847,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct NameReturn(pub ::std::string::String); - ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all return fields from the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2027,10 +1860,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct SymbolReturn(pub ::std::string::String); - ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all return fields from the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2039,10 +1873,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all return fields from the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2051,10 +1886,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferReturn(pub bool); - ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all return fields from the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2063,7 +1899,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index 23ea0b47b4..cdfe97b891 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -7,171 +7,133 @@ pub use astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_assetWithdrawalDecimals", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_assetWithdrawalDecimals",), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( + "uint32" + ),), + },], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToOriginChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToOriginChain", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToOriginChain",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + },], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -179,22 +141,19 @@ pub mod astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xA0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x0398\x03\x80a\x039\x839\x81\x01`@\x81\x90Ra\0/\x91a\0=V[c\xFF\xFF\xFF\xFF\x16`\x80Ra\0jV[`\0` \x82\x84\x03\x12\x15a\0OW`\0\x80\xFD[\x81Qc\xFF\xFF\xFF\xFF\x81\x16\x81\x14a\0cW`\0\x80\xFD[\x93\x92PPPV[`\x80Qa\x02\xB5a\0\x84`\09`\0`K\x01Ra\x02\xB5`\0\xF3\xFE`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c\x8F-\x8C\xB8\x14a\09W\x80c\x91\xBD\x1D\xDE\x14a\0\x86W\x80c\x9A\x97z\xFE\x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\x88V[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x01\xF4V[a\0\xFCV[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x86\x86\x86\x86`@Qa\0\xEE\x94\x93\x92\x91\x90a\x02MV[`@Q\x80\x91\x03\x90\xA3PPPPV[`@Q`\x01`\x01`\xA0\x1B\x03\x82\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PV[`\0\x80\x83`\x1F\x84\x01\x12a\x01QW`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x01iW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x01\x81W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x01\x9EW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x01\xB6W`\0\x80\xFD[a\x01\xC2\x88\x83\x89\x01a\x01?V[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x01\xDBW`\0\x80\xFD[Pa\x01\xE8\x87\x82\x88\x01a\x01?V[\x95\x98\x94\x97P\x95PPPPV[`\0` \x82\x84\x03\x12\x15a\x02\x06W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x1DW`\0\x80\xFD[\x93\x92PPPV[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x02a`@\x83\x01\x86\x88a\x02$V[\x82\x81\x03` \x84\x01Ra\x02t\x81\x85\x87a\x02$V[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \";3I\xE5\xB3\x02\x96`\x15\x02\xD8\xCA\xDE\xC5cgj\"\xDC\x17R\xDB\x90\xA3b\xCCnat\x86hdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaWithdrawer { fn clone(&self) -> Self { @@ -203,6 +162,7 @@ pub mod astria_withdrawer { } impl ::core::ops::Deref for AstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -226,16 +186,16 @@ pub mod astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -273,7 +233,8 @@ pub mod astria_withdrawer { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -281,7 +242,8 @@ pub mod astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function + + /// Calls the contract's `withdrawToOriginChain` (0x91bd1dde) function pub fn withdraw_to_origin_chain( &self, destination_chain_address: ::std::string::String, @@ -291,7 +253,8 @@ pub mod astria_withdrawer { .method_hash([145, 189, 29, 222], (destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x9a977afe) function + + /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function pub fn withdraw_to_sequencer( &self, destination_chain_address: ::ethers::core::types::Address, @@ -300,39 +263,35 @@ pub mod astria_withdrawer { .method_hash([154, 151, 122, 254], destination_chain_address) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaWithdrawer { + for AstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -345,7 +304,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -367,7 +326,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -380,7 +339,7 @@ pub mod astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -402,12 +361,8 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -421,7 +376,8 @@ pub mod astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -430,11 +386,15 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all input parameters for the `withdrawToOriginChain` function with signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` + /// Container type for all input parameters for the `withdrawToOriginChain` function with + /// signature `withdrawToOriginChain(string,string)` and selector `0x91bd1dde` #[derive( Clone, ::ethers::contract::EthCall, @@ -443,7 +403,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToOriginChain", @@ -453,7 +413,8 @@ pub mod astria_withdrawer { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(address)` and selector `0x9a977afe` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` #[derive( Clone, ::ethers::contract::EthCall, @@ -462,13 +423,13 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] pub struct WithdrawToSequencerCall { pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerCalls { AssetWithdrawalDecimals(AssetWithdrawalDecimalsCall), @@ -480,19 +441,19 @@ pub mod astria_withdrawer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::AssetWithdrawalDecimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToOriginChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -516,15 +477,9 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::AssetWithdrawalDecimals(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToOriginChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::AssetWithdrawalDecimals(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToOriginChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -543,7 +498,8 @@ pub mod astria_withdrawer { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -552,7 +508,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index d685b1672d..9d03ac5d34 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -7,104 +7,82 @@ pub use i_astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod i_astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "ASSET_WITHDRAWAL_DECIMALS", - ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ]), + functions: ::core::convert::From::from([( + ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("ASSET_WITHDRAWAL_DECIMALS",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + )]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -112,10 +90,9 @@ pub mod i_astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); pub struct IAstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for IAstriaWithdrawer { fn clone(&self) -> Self { @@ -124,6 +101,7 @@ pub mod i_astria_withdrawer { } impl ::core::ops::Deref for IAstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -147,15 +125,14 @@ pub mod i_astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - IASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - ///Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function + + /// Calls the contract's `ASSET_WITHDRAWAL_DECIMALS` (0x8f2d8cb8) function pub fn asset_withdrawal_decimals( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -163,39 +140,35 @@ pub mod i_astria_withdrawer { .method_hash([143, 45, 140, 184], ()) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - IAstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for IAstriaWithdrawer { + for IAstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -208,7 +181,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -230,7 +203,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -243,7 +216,7 @@ pub mod i_astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum IAstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -265,12 +238,8 @@ pub mod i_astria_withdrawer { impl ::core::fmt::Display for IAstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -284,7 +253,8 @@ pub mod i_astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all input parameters for the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthCall, @@ -293,11 +263,15 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "ASSET_WITHDRAWAL_DECIMALS", + abi = "ASSET_WITHDRAWAL_DECIMALS()" )] - #[ethcall(name = "ASSET_WITHDRAWAL_DECIMALS", abi = "ASSET_WITHDRAWAL_DECIMALS()")] pub struct AssetWithdrawalDecimalsCall; - ///Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` + /// Container type for all return fields from the `ASSET_WITHDRAWAL_DECIMALS` function with + /// signature `ASSET_WITHDRAWAL_DECIMALS()` and selector `0x8f2d8cb8` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -306,7 +280,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AssetWithdrawalDecimalsReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs index db3f518ca7..594c86a9cc 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -3,6 +3,7 @@ clippy::module_inception, clippy::module_name_repetitions, clippy::too_many_lines, + clippy::useless_conversion, clippy::pedantic )] From 26a62c6aafb98dc7d3f9c7517bdfe135a3ad54a2 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 18:21:54 -0400 Subject: [PATCH 19/22] fmt --- .../generated/astria_mintable_erc20.rs | 1636 ++++++++--------- .../ethereum/generated/astria_withdrawer.rs | 388 ++-- .../generated/astria_withdrawer_interface.rs | 236 ++- 3 files changed, 1014 insertions(+), 1246 deletions(-) diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs index 02de56431a..cd5777343c 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs @@ -7,7 +7,7 @@ pub use astria_mintable_erc20::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_mintable_erc20 { #[allow(deprecated)] @@ -23,9 +23,7 @@ pub mod astria_mintable_erc20 { ), }, ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_baseChainAssetPrecision", - ), + name: ::std::borrow::ToOwned::to_owned("_baseChainAssetPrecision",), kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), internal_type: ::core::option::Option::Some( ::std::borrow::ToOwned::to_owned("uint32"), @@ -50,732 +48,587 @@ pub mod astria_mintable_erc20 { functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("BASE_CHAIN_ASSET_PRECISION"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "BASE_CHAIN_ASSET_PRECISION", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BASE_CHAIN_ASSET_PRECISION",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("BRIDGE"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("BRIDGE"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BRIDGE"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("allowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("allowance"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("allowance"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("approve"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("approve"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("approve"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("balanceOf"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("balanceOf"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("balanceOf"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("decimals"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("decimals"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint8"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("decimals"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(8usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint8"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("name"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("name"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("name"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("symbol"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("symbol"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("symbol"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("totalSupply"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("totalSupply"), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("totalSupply"), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("transferFrom"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("transferFrom"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Bool, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("bool"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("transferFrom"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Bool, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("bool"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("_amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::NonPayable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Approval"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Approval"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("owner"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Approval"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("owner"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Mint"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Mint"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("account"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Mint"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("account"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("Transfer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Transfer"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("from"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("to"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("value"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Transfer"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("from"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("to"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("value"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientAllowance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("allowance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientAllowance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("allowance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InsufficientBalance", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("balance"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("needed"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint256"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InsufficientBalance",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("balance"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("needed"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint256"), + ), + }, + ], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidApprover", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidApprover",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("approver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("approver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidReceiver", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidReceiver",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("receiver"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("receiver"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSender"), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), + ), + },], + },], ), ( ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender"), - ::std::vec![ - ::ethers::core::abi::ethabi::AbiError { - name: ::std::borrow::ToOwned::to_owned( - "ERC20InvalidSpender", + ::std::vec![::ethers::core::abi::ethabi::AbiError { + name: ::std::borrow::ToOwned::to_owned("ERC20InvalidSpender",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("spender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("spender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - }, - ], + },], + },], ), ]), receive: false, fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x12^8\x03\x80b\0\x12^\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x02\x1DV[\x81\x81`\x03b\0\0D\x83\x82b\0\x03TV[P`\x04b\0\0S\x82\x82b\0\x03TV[PPP`\0b\0\0hb\0\x01S` \x1B` \x1CV[\x90P\x80`\xFF\x16\x84c\xFF\xFF\xFF\xFF\x16\x11\x15b\0\x01\x14W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\\`$\x82\x01R\x7FAstriaMintableERC20: base chain `D\x82\x01R\x7Fasset precision must be less tha`d\x82\x01R\x7Fn or equal to token decimals\0\0\0\0`\x84\x82\x01R`\xA4\x01`@Q\x80\x91\x03\x90\xFD[c\xFF\xFF\xFF\xFF\x84\x16`\x80Rb\0\x01-\x84`\xFF\x83\x16b\0\x046V[b\0\x01:\x90`\nb\0\x05\\V[`\xC0RPPPP`\x01`\x01`\xA0\x1B\x03\x16`\xA0Rb\0\x05wV[`\x12\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\x01\x80W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\x9DWb\0\x01\x9Db\0\x01XV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x01\xC8Wb\0\x01\xC8b\0\x01XV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\xE5W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x02\tW\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\xEAV[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x024W`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x02LW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x02gW`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x02\x85W`\0\x80\xFD[b\0\x02\x93\x88\x83\x89\x01b\0\x01nV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x02\xAAW`\0\x80\xFD[Pb\0\x02\xB9\x87\x82\x88\x01b\0\x01nV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x02\xDAW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\xFBWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x03OW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x03*WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x03KW\x82\x81U`\x01\x01b\0\x036V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03pWb\0\x03pb\0\x01XV[b\0\x03\x88\x81b\0\x03\x81\x84Tb\0\x02\xC5V[\x84b\0\x03\x01V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x03\xC0W`\0\x84\x15b\0\x03\xA7WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x03KV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\xF1W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x03\xD0V[P\x85\x82\x10\x15b\0\x04\x10W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[c\xFF\xFF\xFF\xFF\x82\x81\x16\x82\x82\x16\x03\x90\x80\x82\x11\x15b\0\x04VWb\0\x04Vb\0\x04 V[P\x92\x91PPV[`\x01\x81\x81[\x80\x85\x11\x15b\0\x04\x9EW\x81`\0\x19\x04\x82\x11\x15b\0\x04\x82Wb\0\x04\x82b\0\x04 V[\x80\x85\x16\x15b\0\x04\x90W\x91\x81\x02\x91[\x93\x84\x1C\x93\x90\x80\x02\x90b\0\x04bV[P\x92P\x92\x90PV[`\0\x82b\0\x04\xB7WP`\x01b\0\x05VV[\x81b\0\x04\xC6WP`\0b\0\x05VV[\x81`\x01\x81\x14b\0\x04\xDFW`\x02\x81\x14b\0\x04\xEAWb\0\x05\nV[`\x01\x91PPb\0\x05VV[`\xFF\x84\x11\x15b\0\x04\xFEWb\0\x04\xFEb\0\x04 V[PP`\x01\x82\x1Bb\0\x05VV[P` \x83\x10a\x013\x83\x10\x16`N\x84\x10`\x0B\x84\x10\x16\x17\x15b\0\x05/WP\x81\x81\nb\0\x05VV[b\0\x05;\x83\x83b\0\x04]V[\x80`\0\x19\x04\x82\x11\x15b\0\x05RWb\0\x05Rb\0\x04 V[\x02\x90P[\x92\x91PPV[`\0b\0\x05pc\xFF\xFF\xFF\xFF\x84\x16\x83b\0\x04\xA6V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Qa\x0C\xA9b\0\x05\xB5`\09`\0\x81\x81a\x04O\x01Ra\x04\xF3\x01R`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0C\xA9`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c~\xB6\xDE\xC7\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08\xF3V[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\t]V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\t\x87V[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\t]V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\n\x0CV[a\x04GV[a\x014a\x01\x9A6`\x04a\n\x86V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\xA8V[a\x04\xEBV[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x05\x85V[a\x01 a\x02\x1A6`\x04a\t]V[a\x05\x94V[a\x014a\x02-6`\x04a\n\xD4V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\n\xFEV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\n\xFEV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\xA2V[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\xB4V[a\x03\\\x85\x85\x85a\x062V[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x06\x91V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[\x84`\0a\x04t\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x04\x91W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x04\x9B3\x87a\x06\xCBV[\x853`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x87\x87\x87\x87`@Qa\x04\xDB\x94\x93\x92\x91\x90a\x0C V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[\x81`\0a\x05\x18\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x055W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x05?3\x84a\x06\xCBV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x81R\x83\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPV[```\x04\x80Ta\x02\xA6\x90a\n\xFEV[`\x003a\x037\x81\x85\x85a\x062V[a\x05\xAF\x83\x83\x83`\x01a\x07\x01V[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x06,W\x81\x81\x10\x15a\x06\x1DW`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x06,\x84\x84\x84\x84\x03`\0a\x07\x01V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\\W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\x86W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\xAF\x83\x83\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xBBW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7`\0\x83\x83a\x07\xD6V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xF5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7\x82`\0\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x07+W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07UW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x06,W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x07\xC8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x08\x01W\x80`\x02`\0\x82\x82Ta\x07\xF6\x91\x90a\x0CRV[\x90\x91UPa\x08s\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x08TW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x08\x8FW`\x02\x80T\x82\x90\x03\x90Ua\x08\xAEV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05x\x91\x81R` \x01\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\t W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\t\x04V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\tXW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\tpW`\0\x80\xFD[a\ty\x83a\tAV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x9CW`\0\x80\xFD[a\t\xA5\x84a\tAV[\x92Pa\t\xB3` \x85\x01a\tAV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\t\xD5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xEDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n\x05W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\n$W`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\nCW`\0\x80\xFD[a\nO\x89\x83\x8A\x01a\t\xC3V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\nhW`\0\x80\xFD[Pa\nu\x88\x82\x89\x01a\t\xC3V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x98W`\0\x80\xFD[a\n\xA1\x82a\tAV[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xBBW`\0\x80\xFD[\x825\x91Pa\n\xCB` \x84\x01a\tAV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xE7W`\0\x80\xFD[a\n\xF0\x83a\tAV[\x91Pa\n\xCB` \x84\x01a\tAV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B\x12W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B2WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82a\x0BUWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[` \x80\x82R`q\x90\x82\x01R\x7FAstriaMintableERC20: insufficien`@\x82\x01R\x7Ft value, must be greater than 10``\x82\x01R\x7F ** (TOKEN_DECIMALS - BASE_CHAIN`\x80\x82\x01Rp_ASSET_PRECISION)`x\x1B`\xA0\x82\x01R`\xC0\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x0C4`@\x83\x01\x86\x88a\x0B\xF7V[\x82\x81\x03` \x84\x01Ra\x0CG\x81\x85\x87a\x0B\xF7V[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xB2\x1FrEa\xB9\x12\x19\xF2-\xA8\x03\xC0\xB2\xD4\xBD\x10\xB7\xAB\x9B\xBD\x03\xB2I\xF3Q\xB2\x94,\xE0\xBBxdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c~\xB6\xDE\xC7\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08\xF3V[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\t]V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\t\x87V[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\t]V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\n\x0CV[a\x04GV[a\x014a\x01\x9A6`\x04a\n\x86V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\xA8V[a\x04\xEBV[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x05\x85V[a\x01 a\x02\x1A6`\x04a\t]V[a\x05\x94V[a\x014a\x02-6`\x04a\n\xD4V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\n\xFEV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\n\xFEV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\xA2V[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\xB4V[a\x03\\\x85\x85\x85a\x062V[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x06\x91V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[\x84`\0a\x04t\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x04\x91W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x04\x9B3\x87a\x06\xCBV[\x853`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x87\x87\x87\x87`@Qa\x04\xDB\x94\x93\x92\x91\x90a\x0C V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[\x81`\0a\x05\x18\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x055W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x05?3\x84a\x06\xCBV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x81R\x83\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPV[```\x04\x80Ta\x02\xA6\x90a\n\xFEV[`\x003a\x037\x81\x85\x85a\x062V[a\x05\xAF\x83\x83\x83`\x01a\x07\x01V[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x06,W\x81\x81\x10\x15a\x06\x1DW`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x06,\x84\x84\x84\x84\x03`\0a\x07\x01V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\\W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\x86W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\xAF\x83\x83\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xBBW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7`\0\x83\x83a\x07\xD6V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xF5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7\x82`\0\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x07+W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07UW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x06,W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x07\xC8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x08\x01W\x80`\x02`\0\x82\x82Ta\x07\xF6\x91\x90a\x0CRV[\x90\x91UPa\x08s\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x08TW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x08\x8FW`\x02\x80T\x82\x90\x03\x90Ua\x08\xAEV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05x\x91\x81R` \x01\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\t W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\t\x04V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\tXW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\tpW`\0\x80\xFD[a\ty\x83a\tAV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x9CW`\0\x80\xFD[a\t\xA5\x84a\tAV[\x92Pa\t\xB3` \x85\x01a\tAV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\t\xD5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xEDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n\x05W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\n$W`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\nCW`\0\x80\xFD[a\nO\x89\x83\x8A\x01a\t\xC3V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\nhW`\0\x80\xFD[Pa\nu\x88\x82\x89\x01a\t\xC3V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x98W`\0\x80\xFD[a\n\xA1\x82a\tAV[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xBBW`\0\x80\xFD[\x825\x91Pa\n\xCB` \x84\x01a\tAV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xE7W`\0\x80\xFD[a\n\xF0\x83a\tAV[\x91Pa\n\xCB` \x84\x01a\tAV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B\x12W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B2WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82a\x0BUWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[` \x80\x82R`q\x90\x82\x01R\x7FAstriaMintableERC20: insufficien`@\x82\x01R\x7Ft value, must be greater than 10``\x82\x01R\x7F ** (TOKEN_DECIMALS - BASE_CHAIN`\x80\x82\x01Rp_ASSET_PRECISION)`x\x1B`\xA0\x82\x01R`\xC0\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x0C4`@\x83\x01\x86\x88a\x0B\xF7V[\x82\x81\x03` \x84\x01Ra\x0CG\x81\x85\x87a\x0B\xF7V[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xB2\x1FrEa\xB9\x12\x19\xF2-\xA8\x03\xC0\xB2\xD4\xBD\x10\xB7\xAB\x9B\xBD\x03\xB2I\xF3Q\xB2\x94,\xE0\xBBxdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaMintableERC20(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaMintableERC20 { fn clone(&self) -> Self { @@ -784,6 +637,7 @@ pub mod astria_mintable_erc20 { } impl ::core::ops::Deref for AstriaMintableERC20 { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -807,16 +661,16 @@ pub mod astria_mintable_erc20 { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAMINTABLEERC20_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -854,7 +708,8 @@ pub mod astria_mintable_erc20 { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `BASE_CHAIN_ASSET_PRECISION` (0x7eb6dec7) function + + /// Calls the contract's `BASE_CHAIN_ASSET_PRECISION` (0x7eb6dec7) function pub fn base_chain_asset_precision( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -862,18 +717,17 @@ pub mod astria_mintable_erc20 { .method_hash([126, 182, 222, 199], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `BRIDGE` (0xee9a31a2) function + + /// Calls the contract's `BRIDGE` (0xee9a31a2) function pub fn bridge( &self, - ) -> ::ethers::contract::builders::ContractCall< - M, - ::ethers::core::types::Address, - > { + ) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([238, 154, 49, 162], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `allowance` (0xdd62ed3e) function + + /// Calls the contract's `allowance` (0xdd62ed3e) function pub fn allowance( &self, owner: ::ethers::core::types::Address, @@ -883,7 +737,8 @@ pub mod astria_mintable_erc20 { .method_hash([221, 98, 237, 62], (owner, spender)) .expect("method not found (this should never happen)") } - ///Calls the contract's `approve` (0x095ea7b3) function + + /// Calls the contract's `approve` (0x095ea7b3) function pub fn approve( &self, spender: ::ethers::core::types::Address, @@ -893,7 +748,8 @@ pub mod astria_mintable_erc20 { .method_hash([9, 94, 167, 179], (spender, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `balanceOf` (0x70a08231) function + + /// Calls the contract's `balanceOf` (0x70a08231) function pub fn balance_of( &self, account: ::ethers::core::types::Address, @@ -902,13 +758,15 @@ pub mod astria_mintable_erc20 { .method_hash([112, 160, 130, 49], account) .expect("method not found (this should never happen)") } - ///Calls the contract's `decimals` (0x313ce567) function + + /// Calls the contract's `decimals` (0x313ce567) function pub fn decimals(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([49, 60, 229, 103], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `mint` (0x40c10f19) function + + /// Calls the contract's `mint` (0x40c10f19) function pub fn mint( &self, to: ::ethers::core::types::Address, @@ -918,15 +776,15 @@ pub mod astria_mintable_erc20 { .method_hash([64, 193, 15, 25], (to, amount)) .expect("method not found (this should never happen)") } - ///Calls the contract's `name` (0x06fdde03) function - pub fn name( - &self, - ) -> ::ethers::contract::builders::ContractCall { + + /// Calls the contract's `name` (0x06fdde03) function + pub fn name(&self) -> ::ethers::contract::builders::ContractCall { self.0 .method_hash([6, 253, 222, 3], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `symbol` (0x95d89b41) function + + /// Calls the contract's `symbol` (0x95d89b41) function pub fn symbol( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -934,7 +792,8 @@ pub mod astria_mintable_erc20 { .method_hash([149, 216, 155, 65], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `totalSupply` (0x18160ddd) function + + /// Calls the contract's `totalSupply` (0x18160ddd) function pub fn total_supply( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -942,7 +801,8 @@ pub mod astria_mintable_erc20 { .method_hash([24, 22, 13, 221], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `transfer` (0xa9059cbb) function + + /// Calls the contract's `transfer` (0xa9059cbb) function pub fn transfer( &self, to: ::ethers::core::types::Address, @@ -952,7 +812,8 @@ pub mod astria_mintable_erc20 { .method_hash([169, 5, 156, 187], (to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `transferFrom` (0x23b872dd) function + + /// Calls the contract's `transferFrom` (0x23b872dd) function pub fn transfer_from( &self, from: ::ethers::core::types::Address, @@ -963,7 +824,8 @@ pub mod astria_mintable_erc20 { .method_hash([35, 184, 114, 221], (from, to, value)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function + + /// Calls the contract's `withdrawToIbcChain` (0x5fe56b09) function pub fn withdraw_to_ibc_chain( &self, amount: ::ethers::core::types::U256, @@ -971,13 +833,11 @@ pub mod astria_mintable_erc20 { memo: ::std::string::String, ) -> ::ethers::contract::builders::ContractCall { self.0 - .method_hash( - [95, 229, 107, 9], - (amount, destination_chain_address, memo), - ) + .method_hash([95, 229, 107, 9], (amount, destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x757e9874) function + + /// Calls the contract's `withdrawToSequencer` (0x757e9874) function pub fn withdraw_to_sequencer( &self, amount: ::ethers::core::types::U256, @@ -987,70 +847,62 @@ pub mod astria_mintable_erc20 { .method_hash([117, 126, 152, 116], (amount, destination_chain_address)) .expect("method not found (this should never happen)") } - ///Gets the contract's `Approval` event + + /// Gets the contract's `Approval` event pub fn approval_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - ApprovalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, ApprovalFilter> { self.0.event() } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Mint` event + + /// Gets the contract's `Mint` event pub fn mint_filter( &self, ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, MintFilter> { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } - ///Gets the contract's `Transfer` event + + /// Gets the contract's `Transfer` event pub fn transfer_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - TransferFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, TransferFilter> { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaMintableERC20Events, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 { + for AstriaMintableERC20 + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } } - ///Custom Error type `ERC20InsufficientAllowance` with signature `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` + /// Custom Error type `ERC20InsufficientAllowance` with signature + /// `ERC20InsufficientAllowance(address,uint256,uint256)` and selector `0xfb8f41b2` #[derive( Clone, ::ethers::contract::EthError, @@ -1059,7 +911,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientAllowance", @@ -1070,7 +922,8 @@ pub mod astria_mintable_erc20 { pub allowance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InsufficientBalance` with signature `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` + /// Custom Error type `ERC20InsufficientBalance` with signature + /// `ERC20InsufficientBalance(address,uint256,uint256)` and selector `0xe450d38c` #[derive( Clone, ::ethers::contract::EthError, @@ -1079,7 +932,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror( name = "ERC20InsufficientBalance", @@ -1090,7 +943,8 @@ pub mod astria_mintable_erc20 { pub balance: ::ethers::core::types::U256, pub needed: ::ethers::core::types::U256, } - ///Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and selector `0xe602df05` + /// Custom Error type `ERC20InvalidApprover` with signature `ERC20InvalidApprover(address)` and + /// selector `0xe602df05` #[derive( Clone, ::ethers::contract::EthError, @@ -1099,13 +953,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidApprover", abi = "ERC20InvalidApprover(address)")] pub struct ERC20InvalidApprover { pub approver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and selector `0xec442f05` + /// Custom Error type `ERC20InvalidReceiver` with signature `ERC20InvalidReceiver(address)` and + /// selector `0xec442f05` #[derive( Clone, ::ethers::contract::EthError, @@ -1114,13 +969,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidReceiver", abi = "ERC20InvalidReceiver(address)")] pub struct ERC20InvalidReceiver { pub receiver: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and selector `0x96c6fd1e` + /// Custom Error type `ERC20InvalidSender` with signature `ERC20InvalidSender(address)` and + /// selector `0x96c6fd1e` #[derive( Clone, ::ethers::contract::EthError, @@ -1129,13 +985,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSender", abi = "ERC20InvalidSender(address)")] pub struct ERC20InvalidSender { pub sender: ::ethers::core::types::Address, } - ///Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and selector `0x94280d62` + /// Custom Error type `ERC20InvalidSpender` with signature `ERC20InvalidSpender(address)` and + /// selector `0x94280d62` #[derive( Clone, ::ethers::contract::EthError, @@ -1144,13 +1001,13 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[etherror(name = "ERC20InvalidSpender", abi = "ERC20InvalidSpender(address)")] pub struct ERC20InvalidSpender { pub spender: ::ethers::core::types::Address, } - ///Container type for all of the contract's custom errors + /// Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), @@ -1168,39 +1025,39 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = <::std::string::String as ::ethers::core::abi::AbiDecode>::decode( - data, - ) { + if let Ok(decoded) = + <::std::string::String as ::ethers::core::abi::AbiDecode>::decode(data) + { return Ok(Self::RevertString(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientAllowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InsufficientBalance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidApprover(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidReceiver(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSender(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::ERC20InvalidSpender(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1236,27 +1093,33 @@ pub mod astria_mintable_erc20 { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ if selector - == ::selector() => { + == ::selector() => + { true } _ => false, @@ -1266,24 +1129,12 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::ERC20InsufficientAllowance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InsufficientBalance(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidApprover(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidReceiver(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSender(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::ERC20InvalidSpender(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InsufficientBalance(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidApprover(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidReceiver(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSender(element) => ::core::fmt::Display::fmt(element, f), + Self::ERC20InvalidSpender(element) => ::core::fmt::Display::fmt(element, f), Self::RevertString(s) => ::core::fmt::Display::fmt(s, f), } } @@ -1293,8 +1144,7 @@ pub mod astria_mintable_erc20 { Self::RevertString(value) } } - impl ::core::convert::From - for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaMintableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } @@ -1332,7 +1182,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")] pub struct ApprovalFilter { @@ -1350,7 +1200,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -1372,7 +1222,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Mint", abi = "Mint(address,uint256)")] pub struct MintFilter { @@ -1388,7 +1238,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -1409,7 +1259,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")] pub struct TransferFilter { @@ -1419,7 +1269,7 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Events { ApprovalFilter(ApprovalFilter), @@ -1442,7 +1292,9 @@ pub mod astria_mintable_erc20 { return Ok(AstriaMintableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter(decoded)); + return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( + decoded, + )); } if let Ok(decoded) = TransferFilter::decode_log(log) { return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); @@ -1454,13 +1306,9 @@ pub mod astria_mintable_erc20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::MintFilter(element) => ::core::fmt::Display::fmt(element, f), - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFilter(element) => ::core::fmt::Display::fmt(element, f), } } @@ -1490,7 +1338,8 @@ pub mod astria_mintable_erc20 { Self::TransferFilter(value) } } - ///Container type for all input parameters for the `BASE_CHAIN_ASSET_PRECISION` function with signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` + /// Container type for all input parameters for the `BASE_CHAIN_ASSET_PRECISION` function with + /// signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` #[derive( Clone, ::ethers::contract::EthCall, @@ -1499,11 +1348,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "BASE_CHAIN_ASSET_PRECISION", + abi = "BASE_CHAIN_ASSET_PRECISION()" )] - #[ethcall(name = "BASE_CHAIN_ASSET_PRECISION", abi = "BASE_CHAIN_ASSET_PRECISION()")] pub struct BaseChainAssetPrecisionCall; - ///Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all input parameters for the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthCall, @@ -1512,11 +1365,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "BRIDGE", abi = "BRIDGE()")] pub struct BridgeCall; - ///Container type for all input parameters for the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all input parameters for the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthCall, @@ -1525,14 +1379,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "allowance", abi = "allowance(address,address)")] pub struct AllowanceCall { pub owner: ::ethers::core::types::Address, pub spender: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all input parameters for the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthCall, @@ -1541,14 +1396,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "approve", abi = "approve(address,uint256)")] pub struct ApproveCall { pub spender: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all input parameters for the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthCall, @@ -1557,13 +1413,14 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "balanceOf", abi = "balanceOf(address)")] pub struct BalanceOfCall { pub account: ::ethers::core::types::Address, } - ///Container type for all input parameters for the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all input parameters for the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthCall, @@ -1572,11 +1429,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "decimals", abi = "decimals()")] pub struct DecimalsCall; - ///Container type for all input parameters for the `mint` function with signature `mint(address,uint256)` and selector `0x40c10f19` + /// Container type for all input parameters for the `mint` function with signature + /// `mint(address,uint256)` and selector `0x40c10f19` #[derive( Clone, ::ethers::contract::EthCall, @@ -1585,14 +1443,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "mint", abi = "mint(address,uint256)")] pub struct MintCall { pub to: ::ethers::core::types::Address, pub amount: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all input parameters for the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthCall, @@ -1601,11 +1460,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "name", abi = "name()")] pub struct NameCall; - ///Container type for all input parameters for the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all input parameters for the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthCall, @@ -1614,11 +1474,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "symbol", abi = "symbol()")] pub struct SymbolCall; - ///Container type for all input parameters for the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all input parameters for the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1627,11 +1488,12 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "totalSupply", abi = "totalSupply()")] pub struct TotalSupplyCall; - ///Container type for all input parameters for the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all input parameters for the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthCall, @@ -1640,14 +1502,15 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transfer", abi = "transfer(address,uint256)")] pub struct TransferCall { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all input parameters for the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthCall, @@ -1656,7 +1519,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")] pub struct TransferFromCall { @@ -1664,7 +1527,8 @@ pub mod astria_mintable_erc20 { pub to: ::ethers::core::types::Address, pub value: ::ethers::core::types::U256, } - ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` + /// Container type for all input parameters for the `withdrawToIbcChain` function with signature + /// `withdrawToIbcChain(uint256,string,string)` and selector `0x5fe56b09` #[derive( Clone, ::ethers::contract::EthCall, @@ -1673,7 +1537,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToIbcChain", @@ -1684,7 +1548,8 @@ pub mod astria_mintable_erc20 { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(uint256,address)` and selector `0x757e9874` #[derive( Clone, ::ethers::contract::EthCall, @@ -1693,7 +1558,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall( name = "withdrawToSequencer", @@ -1703,7 +1568,7 @@ pub mod astria_mintable_erc20 { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaMintableERC20Calls { BaseChainAssetPrecision(BaseChainAssetPrecisionCall), @@ -1726,74 +1591,53 @@ pub mod astria_mintable_erc20 { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::BaseChainAssetPrecision(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Bridge(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Allowance(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Approve(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::BalanceOf(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Decimals(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Mint(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Name(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Symbol(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::TotalSupply(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) { return Ok(Self::Transfer(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = ::decode(data) + { return Ok(Self::TransferFrom(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -1806,28 +1650,16 @@ pub mod astria_mintable_erc20 { ::ethers::core::abi::AbiEncode::encode(element) } Self::Bridge(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::Allowance(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::Allowance(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Approve(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::BalanceOf(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Decimals(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::BalanceOf(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Decimals(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Mint(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Name(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::Symbol(element) => ::ethers::core::abi::AbiEncode::encode(element), - Self::TotalSupply(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::Transfer(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } - Self::TransferFrom(element) => { - ::ethers::core::abi::AbiEncode::encode(element) - } + Self::TotalSupply(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::Transfer(element) => ::ethers::core::abi::AbiEncode::encode(element), + Self::TransferFrom(element) => ::ethers::core::abi::AbiEncode::encode(element), Self::WithdrawToIbcChain(element) => { ::ethers::core::abi::AbiEncode::encode(element) } @@ -1840,9 +1672,7 @@ pub mod astria_mintable_erc20 { impl ::core::fmt::Display for AstriaMintableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::BaseChainAssetPrecision(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::BaseChainAssetPrecision(element) => ::core::fmt::Display::fmt(element, f), Self::Bridge(element) => ::core::fmt::Display::fmt(element, f), Self::Allowance(element) => ::core::fmt::Display::fmt(element, f), Self::Approve(element) => ::core::fmt::Display::fmt(element, f), @@ -1854,17 +1684,12 @@ pub mod astria_mintable_erc20 { Self::TotalSupply(element) => ::core::fmt::Display::fmt(element, f), Self::Transfer(element) => ::core::fmt::Display::fmt(element, f), Self::TransferFrom(element) => ::core::fmt::Display::fmt(element, f), - Self::WithdrawToIbcChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } - impl ::core::convert::From - for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaMintableERC20Calls { fn from(value: BaseChainAssetPrecisionCall) -> Self { Self::BaseChainAssetPrecision(value) } @@ -1934,7 +1759,8 @@ pub mod astria_mintable_erc20 { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `BASE_CHAIN_ASSET_PRECISION` function with signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` + /// Container type for all return fields from the `BASE_CHAIN_ASSET_PRECISION` function with + /// signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1943,10 +1769,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BaseChainAssetPrecisionReturn(pub u32); - ///Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` and selector `0xee9a31a2` + /// Container type for all return fields from the `BRIDGE` function with signature `BRIDGE()` + /// and selector `0xee9a31a2` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1955,10 +1782,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BridgeReturn(pub ::ethers::core::types::Address); - ///Container type for all return fields from the `allowance` function with signature `allowance(address,address)` and selector `0xdd62ed3e` + /// Container type for all return fields from the `allowance` function with signature + /// `allowance(address,address)` and selector `0xdd62ed3e` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1967,10 +1795,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct AllowanceReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `approve` function with signature `approve(address,uint256)` and selector `0x095ea7b3` + /// Container type for all return fields from the `approve` function with signature + /// `approve(address,uint256)` and selector `0x095ea7b3` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1979,10 +1808,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct ApproveReturn(pub bool); - ///Container type for all return fields from the `balanceOf` function with signature `balanceOf(address)` and selector `0x70a08231` + /// Container type for all return fields from the `balanceOf` function with signature + /// `balanceOf(address)` and selector `0x70a08231` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -1991,10 +1821,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BalanceOfReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `decimals` function with signature `decimals()` and selector `0x313ce567` + /// Container type for all return fields from the `decimals` function with signature + /// `decimals()` and selector `0x313ce567` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2003,10 +1834,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct DecimalsReturn(pub u8); - ///Container type for all return fields from the `name` function with signature `name()` and selector `0x06fdde03` + /// Container type for all return fields from the `name` function with signature `name()` and + /// selector `0x06fdde03` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2015,10 +1847,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct NameReturn(pub ::std::string::String); - ///Container type for all return fields from the `symbol` function with signature `symbol()` and selector `0x95d89b41` + /// Container type for all return fields from the `symbol` function with signature `symbol()` + /// and selector `0x95d89b41` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2027,10 +1860,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct SymbolReturn(pub ::std::string::String); - ///Container type for all return fields from the `totalSupply` function with signature `totalSupply()` and selector `0x18160ddd` + /// Container type for all return fields from the `totalSupply` function with signature + /// `totalSupply()` and selector `0x18160ddd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2039,10 +1873,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TotalSupplyReturn(pub ::ethers::core::types::U256); - ///Container type for all return fields from the `transfer` function with signature `transfer(address,uint256)` and selector `0xa9059cbb` + /// Container type for all return fields from the `transfer` function with signature + /// `transfer(address,uint256)` and selector `0xa9059cbb` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2051,10 +1886,11 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferReturn(pub bool); - ///Container type for all return fields from the `transferFrom` function with signature `transferFrom(address,address,uint256)` and selector `0x23b872dd` + /// Container type for all return fields from the `transferFrom` function with signature + /// `transferFrom(address,address,uint256)` and selector `0x23b872dd` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -2063,7 +1899,7 @@ pub mod astria_mintable_erc20 { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct TransferFromReturn(pub bool); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs index e289f478bd..0ab771e47c 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer.rs @@ -7,169 +7,133 @@ pub use astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::Some(::ethers::core::abi::ethabi::Constructor { - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "_baseChainAssetPrecision", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("_baseChainAssetPrecision",), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some(::std::borrow::ToOwned::to_owned( + "uint32" + ),), + },], }), functions: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("BASE_CHAIN_ASSET_PRECISION"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "BASE_CHAIN_ASSET_PRECISION", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BASE_CHAIN_ASSET_PRECISION",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("string"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToIbcChain"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("string"), + ), + }, + ], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ( ::std::borrow::ToOwned::to_owned("withdrawToSequencer"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "withdrawToSequencer", + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("withdrawToSequencer",), + inputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("address"), ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("address"), - ), - }, - ], - outputs: ::std::vec![], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, - }, - ], + },], + outputs: ::std::vec![], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::Payable, + },], ), ]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -177,22 +141,19 @@ pub mod astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static ASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] const __BYTECODE: &[u8] = b"`\xC0`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`@Qa\x06|8\x03\x80a\x06|\x839\x81\x01`@\x81\x90Ra\0/\x91a\0\xEFV[`\x12\x81c\xFF\xFF\xFF\xFF\x16\x11\x15a\0\xC6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`M`$\x82\x01R\x7FAstriaWithdrawer: base chain ass`D\x82\x01R\x7Fet precision must be less than o`d\x82\x01Rl\x0ED\x0C\xAE.\xAC-\x84\x0E\x8D\xE4\x06'`\x9B\x1B`\x84\x82\x01R`\xA4\x01`@Q\x80\x91\x03\x90\xFD[c\xFF\xFF\xFF\xFF\x81\x16`\x80Ra\0\xDB\x81`\x12a\x012V[a\0\xE6\x90`\na\x02\x0C\x97d\xAD2S-\x90\xB9x\xA3\xC3\xB0\xB2\xF5G\x8C\xE8\xE5\xDB>\x85\xD3\xA0dsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __BYTECODE, - ); + pub static ASTRIAWITHDRAWER_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R`\x046\x10a\x004W`\x005`\xE0\x1C\x80c~\xB6\xDE\xC7\x14a\09W\x80c\x9A\x97z\xFE\x14a\0\x86W\x80c\xA9\x96\xE0 \x14a\0\x9BW[`\0\x80\xFD[4\x80\x15a\0EW`\0\x80\xFD[Pa\0m\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01`@Q\x80\x91\x03\x90\xF3[a\0\x99a\0\x946`\x04a\x01\xDEV[a\0\xAEV[\0[a\0\x99a\0\xA96`\x04a\x02WV[a\x01EV[4`\0a\0\xDB\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x02\xC3V[\x11a\x01\x01W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\0\xF8\x90a\x02\xE5V[`@Q\x80\x91\x03\x90\xFD[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x81R4\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01`@Q\x80\x91\x03\x90\xA3PPV[4`\0a\x01r\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x02\xC3V[\x11a\x01\x8FW`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\0\xF8\x90a\x02\xE5V[43`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x87\x87\x87\x87`@Qa\x01\xCF\x94\x93\x92\x91\x90a\x03\x9CV[`@Q\x80\x91\x03\x90\xA3PPPPPV[`\0` \x82\x84\x03\x12\x15a\x01\xF0W`\0\x80\xFD[\x815`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\x02\x07W`\0\x80\xFD[\x93\x92PPPV[`\0\x80\x83`\x1F\x84\x01\x12a\x02 W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\x028W`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\x02PW`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`@\x85\x87\x03\x12\x15a\x02mW`\0\x80\xFD[\x845g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\x02\x85W`\0\x80\xFD[a\x02\x91\x88\x83\x89\x01a\x02\x0EV[\x90\x96P\x94P` \x87\x015\x91P\x80\x82\x11\x15a\x02\xAAW`\0\x80\xFD[Pa\x02\xB7\x87\x82\x88\x01a\x02\x0EV[\x95\x98\x94\x97P\x95PPPPV[`\0\x82a\x02\xE0WcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[` \x80\x82R`b\x90\x82\x01R\x7FAstriaWithdrawer: insufficient v`@\x82\x01R\x7Falue, must be greater than 10 **``\x82\x01R\x7F (18 - BASE_CHAIN_ASSET_PRECISIO`\x80\x82\x01RaN)`\xF0\x1B`\xA0\x82\x01R`\xC0\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x03\xB0`@\x83\x01\x86\x88a\x03sV[\x82\x81\x03` \x84\x01Ra\x03\xC3\x81\x85\x87a\x03sV[\x97\x96PPPPPPPV\xFE\xA2dipfsX\"\x12 \xBFH[\xDE\xF8\xBB^>\x0C\x97d\xAD2S-\x90\xB9x\xA3\xC3\xB0\xB2\xF5G\x8C\xE8\xE5\xDB>\x85\xD3\xA0dsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static( - __DEPLOYED_BYTECODE, - ); + pub static ASTRIAWITHDRAWER_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); pub struct AstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for AstriaWithdrawer { fn clone(&self) -> Self { @@ -201,6 +162,7 @@ pub mod astria_withdrawer { } impl ::core::ops::Deref for AstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -224,16 +186,16 @@ pub mod astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - ASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + ASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - /// Constructs the general purpose `Deployer` instance based on the provided constructor arguments and sends it. - /// Returns a new instance of a deployer that returns an instance of this contract after sending the transaction + + /// Constructs the general purpose `Deployer` instance based on the provided constructor + /// arguments and sends it. Returns a new instance of a deployer that returns an + /// instance of this contract after sending the transaction /// /// Notes: /// - If there are no constructor arguments, you should pass `()` as the argument. @@ -271,7 +233,8 @@ pub mod astria_withdrawer { let deployer = ::ethers::contract::ContractDeployer::new(deployer); Ok(deployer) } - ///Calls the contract's `BASE_CHAIN_ASSET_PRECISION` (0x7eb6dec7) function + + /// Calls the contract's `BASE_CHAIN_ASSET_PRECISION` (0x7eb6dec7) function pub fn base_chain_asset_precision( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -279,7 +242,8 @@ pub mod astria_withdrawer { .method_hash([126, 182, 222, 199], ()) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToIbcChain` (0xa996e020) function + + /// Calls the contract's `withdrawToIbcChain` (0xa996e020) function pub fn withdraw_to_ibc_chain( &self, destination_chain_address: ::std::string::String, @@ -289,7 +253,8 @@ pub mod astria_withdrawer { .method_hash([169, 150, 224, 32], (destination_chain_address, memo)) .expect("method not found (this should never happen)") } - ///Calls the contract's `withdrawToSequencer` (0x9a977afe) function + + /// Calls the contract's `withdrawToSequencer` (0x9a977afe) function pub fn withdraw_to_sequencer( &self, destination_chain_address: ::ethers::core::types::Address, @@ -298,39 +263,35 @@ pub mod astria_withdrawer { .method_hash([154, 151, 122, 254], destination_chain_address) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - AstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaWithdrawer { + for AstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -343,7 +304,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -365,7 +326,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -378,7 +339,7 @@ pub mod astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -400,12 +361,8 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -419,7 +376,8 @@ pub mod astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `BASE_CHAIN_ASSET_PRECISION` function with signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` + /// Container type for all input parameters for the `BASE_CHAIN_ASSET_PRECISION` function with + /// signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` #[derive( Clone, ::ethers::contract::EthCall, @@ -428,11 +386,15 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "BASE_CHAIN_ASSET_PRECISION", + abi = "BASE_CHAIN_ASSET_PRECISION()" )] - #[ethcall(name = "BASE_CHAIN_ASSET_PRECISION", abi = "BASE_CHAIN_ASSET_PRECISION()")] pub struct BaseChainAssetPrecisionCall; - ///Container type for all input parameters for the `withdrawToIbcChain` function with signature `withdrawToIbcChain(string,string)` and selector `0xa996e020` + /// Container type for all input parameters for the `withdrawToIbcChain` function with signature + /// `withdrawToIbcChain(string,string)` and selector `0xa996e020` #[derive( Clone, ::ethers::contract::EthCall, @@ -441,14 +403,15 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "withdrawToIbcChain", abi = "withdrawToIbcChain(string,string)")] pub struct WithdrawToIbcChainCall { pub destination_chain_address: ::std::string::String, pub memo: ::std::string::String, } - ///Container type for all input parameters for the `withdrawToSequencer` function with signature `withdrawToSequencer(address)` and selector `0x9a977afe` + /// Container type for all input parameters for the `withdrawToSequencer` function with + /// signature `withdrawToSequencer(address)` and selector `0x9a977afe` #[derive( Clone, ::ethers::contract::EthCall, @@ -457,13 +420,13 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethcall(name = "withdrawToSequencer", abi = "withdrawToSequencer(address)")] pub struct WithdrawToSequencerCall { pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's call + /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum AstriaWithdrawerCalls { BaseChainAssetPrecision(BaseChainAssetPrecisionCall), @@ -475,19 +438,19 @@ pub mod astria_withdrawer { data: impl AsRef<[u8]>, ) -> ::core::result::Result { let data = data.as_ref(); - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::BaseChainAssetPrecision(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToIbcChain(decoded)); } - if let Ok(decoded) = ::decode( - data, - ) { + if let Ok(decoded) = + ::decode(data) + { return Ok(Self::WithdrawToSequencer(decoded)); } Err(::ethers::core::abi::Error::InvalidData.into()) @@ -511,15 +474,9 @@ pub mod astria_withdrawer { impl ::core::fmt::Display for AstriaWithdrawerCalls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::BaseChainAssetPrecision(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToIbcChain(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::WithdrawToSequencer(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::BaseChainAssetPrecision(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToIbcChain(element) => ::core::fmt::Display::fmt(element, f), + Self::WithdrawToSequencer(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -538,7 +495,8 @@ pub mod astria_withdrawer { Self::WithdrawToSequencer(value) } } - ///Container type for all return fields from the `BASE_CHAIN_ASSET_PRECISION` function with signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` + /// Container type for all return fields from the `BASE_CHAIN_ASSET_PRECISION` function with + /// signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -547,7 +505,7 @@ pub mod astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BaseChainAssetPrecisionReturn(pub u32); } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs index 722b3f454a..d65d12b241 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_withdrawer_interface.rs @@ -7,104 +7,82 @@ pub use i_astria_withdrawer::*; clippy::upper_case_acronyms, clippy::type_complexity, dead_code, - non_camel_case_types, + non_camel_case_types )] pub mod i_astria_withdrawer { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { constructor: ::core::option::Option::None, - functions: ::core::convert::From::from([ - ( - ::std::borrow::ToOwned::to_owned("BASE_CHAIN_ASSET_PRECISION"), - ::std::vec![ - ::ethers::core::abi::ethabi::Function { - name: ::std::borrow::ToOwned::to_owned( - "BASE_CHAIN_ASSET_PRECISION", - ), - inputs: ::std::vec![], - outputs: ::std::vec![ - ::ethers::core::abi::ethabi::Param { - name: ::std::string::String::new(), - kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), - internal_type: ::core::option::Option::Some( - ::std::borrow::ToOwned::to_owned("uint32"), - ), - }, - ], - constant: ::core::option::Option::None, - state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, - }, - ], - ), - ]), + functions: ::core::convert::From::from([( + ::std::borrow::ToOwned::to_owned("BASE_CHAIN_ASSET_PRECISION"), + ::std::vec![::ethers::core::abi::ethabi::Function { + name: ::std::borrow::ToOwned::to_owned("BASE_CHAIN_ASSET_PRECISION",), + inputs: ::std::vec![], + outputs: ::std::vec![::ethers::core::abi::ethabi::Param { + name: ::std::string::String::new(), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(32usize), + internal_type: ::core::option::Option::Some( + ::std::borrow::ToOwned::to_owned("uint32"), + ), + },], + constant: ::core::option::Option::None, + state_mutability: ::ethers::core::abi::ethabi::StateMutability::View, + },], + )]), events: ::core::convert::From::from([ ( ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("memo"), - kind: ::ethers::core::abi::ethabi::ParamType::String, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("Ics20Withdrawal"), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("memo"), + kind: ::ethers::core::abi::ethabi::ParamType::String, + indexed: false, + }, + ], + anonymous: false, + },], ), ( ::std::borrow::ToOwned::to_owned("SequencerWithdrawal"), - ::std::vec![ - ::ethers::core::abi::ethabi::Event { - name: ::std::borrow::ToOwned::to_owned( - "SequencerWithdrawal", - ), - inputs: ::std::vec![ - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("sender"), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned("amount"), - kind: ::ethers::core::abi::ethabi::ParamType::Uint( - 256usize, - ), - indexed: true, - }, - ::ethers::core::abi::ethabi::EventParam { - name: ::std::borrow::ToOwned::to_owned( - "destinationChainAddress", - ), - kind: ::ethers::core::abi::ethabi::ParamType::Address, - indexed: false, - }, - ], - anonymous: false, - }, - ], + ::std::vec![::ethers::core::abi::ethabi::Event { + name: ::std::borrow::ToOwned::to_owned("SequencerWithdrawal",), + inputs: ::std::vec![ + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("sender"), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("amount"), + kind: ::ethers::core::abi::ethabi::ParamType::Uint(256usize,), + indexed: true, + }, + ::ethers::core::abi::ethabi::EventParam { + name: ::std::borrow::ToOwned::to_owned("destinationChainAddress",), + kind: ::ethers::core::abi::ethabi::ParamType::Address, + indexed: false, + }, + ], + anonymous: false, + },], ), ]), errors: ::std::collections::BTreeMap::new(), @@ -112,10 +90,9 @@ pub mod i_astria_withdrawer { fallback: false, } } - ///The parsed JSON ABI of the contract. - pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy< - ::ethers::core::abi::Abi, - > = ::ethers::contract::Lazy::new(__abi); + /// The parsed JSON ABI of the contract. + pub static IASTRIAWITHDRAWER_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + ::ethers::contract::Lazy::new(__abi); pub struct IAstriaWithdrawer(::ethers::contract::Contract); impl ::core::clone::Clone for IAstriaWithdrawer { fn clone(&self) -> Self { @@ -124,6 +101,7 @@ pub mod i_astria_withdrawer { } impl ::core::ops::Deref for IAstriaWithdrawer { type Target = ::ethers::contract::Contract; + fn deref(&self) -> &Self::Target { &self.0 } @@ -147,15 +125,14 @@ pub mod i_astria_withdrawer { address: T, client: ::std::sync::Arc, ) -> Self { - Self( - ::ethers::contract::Contract::new( - address.into(), - IASTRIAWITHDRAWER_ABI.clone(), - client, - ), - ) + Self(::ethers::contract::Contract::new( + address.into(), + IASTRIAWITHDRAWER_ABI.clone(), + client, + )) } - ///Calls the contract's `BASE_CHAIN_ASSET_PRECISION` (0x7eb6dec7) function + + /// Calls the contract's `BASE_CHAIN_ASSET_PRECISION` (0x7eb6dec7) function pub fn base_chain_asset_precision( &self, ) -> ::ethers::contract::builders::ContractCall { @@ -163,39 +140,35 @@ pub mod i_astria_withdrawer { .method_hash([126, 182, 222, 199], ()) .expect("method not found (this should never happen)") } - ///Gets the contract's `Ics20Withdrawal` event + + /// Gets the contract's `Ics20Withdrawal` event pub fn ics_20_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - Ics20WithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, Ics20WithdrawalFilter> + { self.0.event() } - ///Gets the contract's `SequencerWithdrawal` event + + /// Gets the contract's `SequencerWithdrawal` event pub fn sequencer_withdrawal_filter( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - SequencerWithdrawalFilter, - > { + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, SequencerWithdrawalFilter> + { self.0.event() } + /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event< - ::std::sync::Arc, - M, - IAstriaWithdrawerEvents, - > { - self.0.event_with_filter(::core::default::Default::default()) + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, IAstriaWithdrawerEvents> + { + self.0 + .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for IAstriaWithdrawer { + for IAstriaWithdrawer + { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) } @@ -208,7 +181,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "Ics20Withdrawal", @@ -230,7 +203,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] #[ethevent( name = "SequencerWithdrawal", @@ -243,7 +216,7 @@ pub mod i_astria_withdrawer { pub amount: ::ethers::core::types::U256, pub destination_chain_address: ::ethers::core::types::Address, } - ///Container type for all of the contract's events + /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] pub enum IAstriaWithdrawerEvents { Ics20WithdrawalFilter(Ics20WithdrawalFilter), @@ -265,12 +238,8 @@ pub mod i_astria_withdrawer { impl ::core::fmt::Display for IAstriaWithdrawerEvents { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { - Self::Ics20WithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } - Self::SequencerWithdrawalFilter(element) => { - ::core::fmt::Display::fmt(element, f) - } + Self::Ics20WithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), + Self::SequencerWithdrawalFilter(element) => ::core::fmt::Display::fmt(element, f), } } } @@ -284,7 +253,8 @@ pub mod i_astria_withdrawer { Self::SequencerWithdrawalFilter(value) } } - ///Container type for all input parameters for the `BASE_CHAIN_ASSET_PRECISION` function with signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` + /// Container type for all input parameters for the `BASE_CHAIN_ASSET_PRECISION` function with + /// signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` #[derive( Clone, ::ethers::contract::EthCall, @@ -293,11 +263,15 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, + )] + #[ethcall( + name = "BASE_CHAIN_ASSET_PRECISION", + abi = "BASE_CHAIN_ASSET_PRECISION()" )] - #[ethcall(name = "BASE_CHAIN_ASSET_PRECISION", abi = "BASE_CHAIN_ASSET_PRECISION()")] pub struct BaseChainAssetPrecisionCall; - ///Container type for all return fields from the `BASE_CHAIN_ASSET_PRECISION` function with signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` + /// Container type for all return fields from the `BASE_CHAIN_ASSET_PRECISION` function with + /// signature `BASE_CHAIN_ASSET_PRECISION()` and selector `0x7eb6dec7` #[derive( Clone, ::ethers::contract::EthAbiType, @@ -306,7 +280,7 @@ pub mod i_astria_withdrawer { Debug, PartialEq, Eq, - Hash + Hash, )] pub struct BaseChainAssetPrecisionReturn(pub u32); } From d355f90ddd439d44380c0a5033d5275c90318fb6 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 18:26:08 -0400 Subject: [PATCH 20/22] rename AstriaMintableERC20 to AstriaBridgeableERC20 --- crates/astria-bridge-withdrawer/build.rs | 8 +- ...bleERC20.sol => AstriaBridgeableERC20.sol} | 8 +- ...le_erc20.rs => astria_bridgeable_erc20.rs} | 124 +++++++++--------- .../src/withdrawer/ethereum/generated/mod.rs | 2 +- .../src/withdrawer/ethereum/test_utils.rs | 20 +-- .../src/withdrawer/ethereum/watcher.rs | 28 ++-- 6 files changed, 95 insertions(+), 95 deletions(-) rename crates/astria-bridge-withdrawer/ethereum/src/{AstriaMintableERC20.sol => AstriaBridgeableERC20.sol} (81%) rename crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/{astria_mintable_erc20.rs => astria_bridgeable_erc20.rs} (79%) diff --git a/crates/astria-bridge-withdrawer/build.rs b/crates/astria-bridge-withdrawer/build.rs index 82a5570a74..2bae3e565c 100644 --- a/crates/astria-bridge-withdrawer/build.rs +++ b/crates/astria-bridge-withdrawer/build.rs @@ -5,7 +5,7 @@ fn main() -> Result<(), Box> { println!("cargo:rerun-if-changed=ethereum/src/AstriaWithdrawer.sol"); println!("cargo:rerun-if-changed=ethereum/src/IAstriaWithdrawer.sol"); - println!("cargo:rerun-if-changed=ethereum/src/AstriaMintableERC20.sol"); + println!("cargo:rerun-if-changed=ethereum/src/AstriaBridgeableERC20.sol"); Abigen::new( "IAstriaWithdrawer", @@ -22,11 +22,11 @@ fn main() -> Result<(), Box> { .write_to_file("./src/withdrawer/ethereum/generated/astria_withdrawer.rs")?; Abigen::new( - "AstriaMintableERC20", - "./ethereum/out/AstriaMintableERC20.sol/AstriaMintableERC20.json", + "AstriaBridgeableERC20", + "./ethereum/out/AstriaBridgeableERC20.sol/AstriaBridgeableERC20.json", )? .generate()? - .write_to_file("./src/withdrawer/ethereum/generated/astria_mintable_erc20.rs")?; + .write_to_file("./src/withdrawer/ethereum/generated/astria_bridgeable_erc20.rs")?; Ok(()) } diff --git a/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol b/crates/astria-bridge-withdrawer/ethereum/src/AstriaBridgeableERC20.sol similarity index 81% rename from crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol rename to crates/astria-bridge-withdrawer/ethereum/src/AstriaBridgeableERC20.sol index 503437d3f1..17d4978194 100644 --- a/crates/astria-bridge-withdrawer/ethereum/src/AstriaMintableERC20.sol +++ b/crates/astria-bridge-withdrawer/ethereum/src/AstriaBridgeableERC20.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.21; import {IAstriaWithdrawer} from "./IAstriaWithdrawer.sol"; import {ERC20} from "lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol"; -contract AstriaMintableERC20 is IAstriaWithdrawer, ERC20 { +contract AstriaBridgeableERC20 is IAstriaWithdrawer, ERC20 { // the `astriaBridgeSenderAddress` built into the astria-geth node address public immutable BRIDGE; @@ -17,7 +17,7 @@ contract AstriaMintableERC20 is IAstriaWithdrawer, ERC20 { event Mint(address indexed account, uint256 amount); modifier onlyBridge() { - require(msg.sender == BRIDGE, "AstriaMintableERC20: only bridge can mint"); + require(msg.sender == BRIDGE, "AstriaBridgeableERC20: only bridge can mint"); _; } @@ -29,7 +29,7 @@ contract AstriaMintableERC20 is IAstriaWithdrawer, ERC20 { ) ERC20(_name, _symbol) { uint8 decimals = decimals(); if (_baseChainAssetPrecision > decimals) { - revert("AstriaMintableERC20: base chain asset precision must be less than or equal to token decimals"); + revert("AstriaBridgeableERC20: base chain asset precision must be less than or equal to token decimals"); } BASE_CHAIN_ASSET_PRECISION = _baseChainAssetPrecision; @@ -38,7 +38,7 @@ contract AstriaMintableERC20 is IAstriaWithdrawer, ERC20 { } modifier sufficientValue(uint256 amount) { - require(amount / DIVISOR > 0, "AstriaMintableERC20: insufficient value, must be greater than 10 ** (TOKEN_DECIMALS - BASE_CHAIN_ASSET_PRECISION)"); + require(amount / DIVISOR > 0, "AstriaBridgeableERC20: insufficient value, must be greater than 10 ** (TOKEN_DECIMALS - BASE_CHAIN_ASSET_PRECISION)"); _; } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_bridgeable_erc20.rs similarity index 79% rename from crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs rename to crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_bridgeable_erc20.rs index cd5777343c..29dd31f71b 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_mintable_erc20.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/astria_bridgeable_erc20.rs @@ -1,4 +1,4 @@ -pub use astria_mintable_erc20::*; +pub use astria_bridgeable_erc20::*; /// This module was auto-generated with ethers-rs Abigen. /// More information at: #[allow( @@ -9,7 +9,7 @@ pub use astria_mintable_erc20::*; dead_code, non_camel_case_types )] -pub mod astria_mintable_erc20 { +pub mod astria_bridgeable_erc20 { #[allow(deprecated)] fn __abi() -> ::ethers::core::abi::Abi { ::ethers::core::abi::ethabi::Contract { @@ -617,44 +617,44 @@ pub mod astria_mintable_erc20 { } } /// The parsed JSON ABI of the contract. - pub static ASTRIAMINTABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = + pub static ASTRIABRIDGEABLEERC20_ABI: ::ethers::contract::Lazy<::ethers::core::abi::Abi> = ::ethers::contract::Lazy::new(__abi); #[rustfmt::skip] - const __BYTECODE: &[u8] = b"`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x12^8\x03\x80b\0\x12^\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x02\x1DV[\x81\x81`\x03b\0\0D\x83\x82b\0\x03TV[P`\x04b\0\0S\x82\x82b\0\x03TV[PPP`\0b\0\0hb\0\x01S` \x1B` \x1CV[\x90P\x80`\xFF\x16\x84c\xFF\xFF\xFF\xFF\x16\x11\x15b\0\x01\x14W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`\\`$\x82\x01R\x7FAstriaMintableERC20: base chain `D\x82\x01R\x7Fasset precision must be less tha`d\x82\x01R\x7Fn or equal to token decimals\0\0\0\0`\x84\x82\x01R`\xA4\x01`@Q\x80\x91\x03\x90\xFD[c\xFF\xFF\xFF\xFF\x84\x16`\x80Rb\0\x01-\x84`\xFF\x83\x16b\0\x046V[b\0\x01:\x90`\nb\0\x05\\V[`\xC0RPPPP`\x01`\x01`\xA0\x1B\x03\x16`\xA0Rb\0\x05wV[`\x12\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\x01\x80W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\x9DWb\0\x01\x9Db\0\x01XV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x01\xC8Wb\0\x01\xC8b\0\x01XV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\xE5W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x02\tW\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\xEAV[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x024W`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x02LW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x02gW`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x02\x85W`\0\x80\xFD[b\0\x02\x93\x88\x83\x89\x01b\0\x01nV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x02\xAAW`\0\x80\xFD[Pb\0\x02\xB9\x87\x82\x88\x01b\0\x01nV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x02\xDAW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\xFBWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x03OW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x03*WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x03KW\x82\x81U`\x01\x01b\0\x036V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03pWb\0\x03pb\0\x01XV[b\0\x03\x88\x81b\0\x03\x81\x84Tb\0\x02\xC5V[\x84b\0\x03\x01V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x03\xC0W`\0\x84\x15b\0\x03\xA7WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x03KV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\xF1W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x03\xD0V[P\x85\x82\x10\x15b\0\x04\x10W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[c\xFF\xFF\xFF\xFF\x82\x81\x16\x82\x82\x16\x03\x90\x80\x82\x11\x15b\0\x04VWb\0\x04Vb\0\x04 V[P\x92\x91PPV[`\x01\x81\x81[\x80\x85\x11\x15b\0\x04\x9EW\x81`\0\x19\x04\x82\x11\x15b\0\x04\x82Wb\0\x04\x82b\0\x04 V[\x80\x85\x16\x15b\0\x04\x90W\x91\x81\x02\x91[\x93\x84\x1C\x93\x90\x80\x02\x90b\0\x04bV[P\x92P\x92\x90PV[`\0\x82b\0\x04\xB7WP`\x01b\0\x05VV[\x81b\0\x04\xC6WP`\0b\0\x05VV[\x81`\x01\x81\x14b\0\x04\xDFW`\x02\x81\x14b\0\x04\xEAWb\0\x05\nV[`\x01\x91PPb\0\x05VV[`\xFF\x84\x11\x15b\0\x04\xFEWb\0\x04\xFEb\0\x04 V[PP`\x01\x82\x1Bb\0\x05VV[P` \x83\x10a\x013\x83\x10\x16`N\x84\x10`\x0B\x84\x10\x16\x17\x15b\0\x05/WP\x81\x81\nb\0\x05VV[b\0\x05;\x83\x83b\0\x04]V[\x80`\0\x19\x04\x82\x11\x15b\0\x05RWb\0\x05Rb\0\x04 V[\x02\x90P[\x92\x91PPV[`\0b\0\x05pc\xFF\xFF\xFF\xFF\x84\x16\x83b\0\x04\xA6V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Qa\x0C\xA9b\0\x05\xB5`\09`\0\x81\x81a\x04O\x01Ra\x04\xF3\x01R`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0C\xA9`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c~\xB6\xDE\xC7\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08\xF3V[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\t]V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\t\x87V[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\t]V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\n\x0CV[a\x04GV[a\x014a\x01\x9A6`\x04a\n\x86V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\xA8V[a\x04\xEBV[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x05\x85V[a\x01 a\x02\x1A6`\x04a\t]V[a\x05\x94V[a\x014a\x02-6`\x04a\n\xD4V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\n\xFEV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\n\xFEV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\xA2V[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\xB4V[a\x03\\\x85\x85\x85a\x062V[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x06\x91V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[\x84`\0a\x04t\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x04\x91W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x04\x9B3\x87a\x06\xCBV[\x853`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x87\x87\x87\x87`@Qa\x04\xDB\x94\x93\x92\x91\x90a\x0C V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[\x81`\0a\x05\x18\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x055W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x05?3\x84a\x06\xCBV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x81R\x83\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPV[```\x04\x80Ta\x02\xA6\x90a\n\xFEV[`\x003a\x037\x81\x85\x85a\x062V[a\x05\xAF\x83\x83\x83`\x01a\x07\x01V[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x06,W\x81\x81\x10\x15a\x06\x1DW`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x06,\x84\x84\x84\x84\x03`\0a\x07\x01V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\\W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\x86W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\xAF\x83\x83\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xBBW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7`\0\x83\x83a\x07\xD6V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xF5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7\x82`\0\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x07+W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07UW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x06,W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x07\xC8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x08\x01W\x80`\x02`\0\x82\x82Ta\x07\xF6\x91\x90a\x0CRV[\x90\x91UPa\x08s\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x08TW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x08\x8FW`\x02\x80T\x82\x90\x03\x90Ua\x08\xAEV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05x\x91\x81R` \x01\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\t W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\t\x04V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\tXW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\tpW`\0\x80\xFD[a\ty\x83a\tAV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x9CW`\0\x80\xFD[a\t\xA5\x84a\tAV[\x92Pa\t\xB3` \x85\x01a\tAV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\t\xD5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xEDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n\x05W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\n$W`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\nCW`\0\x80\xFD[a\nO\x89\x83\x8A\x01a\t\xC3V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\nhW`\0\x80\xFD[Pa\nu\x88\x82\x89\x01a\t\xC3V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x98W`\0\x80\xFD[a\n\xA1\x82a\tAV[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xBBW`\0\x80\xFD[\x825\x91Pa\n\xCB` \x84\x01a\tAV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xE7W`\0\x80\xFD[a\n\xF0\x83a\tAV[\x91Pa\n\xCB` \x84\x01a\tAV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B\x12W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B2WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82a\x0BUWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[` \x80\x82R`q\x90\x82\x01R\x7FAstriaMintableERC20: insufficien`@\x82\x01R\x7Ft value, must be greater than 10``\x82\x01R\x7F ** (TOKEN_DECIMALS - BASE_CHAIN`\x80\x82\x01Rp_ASSET_PRECISION)`x\x1B`\xA0\x82\x01R`\xC0\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x0C4`@\x83\x01\x86\x88a\x0B\xF7V[\x82\x81\x03` \x84\x01Ra\x0CG\x81\x85\x87a\x0B\xF7V[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xB2\x1FrEa\xB9\x12\x19\xF2-\xA8\x03\xC0\xB2\xD4\xBD\x10\xB7\xAB\x9B\xBD\x03\xB2I\xF3Q\xB2\x94,\xE0\xBBxdsolcC\0\x08\x15\x003"; + const __BYTECODE: &[u8] = b"`\xE0`@R4\x80\x15b\0\0\x11W`\0\x80\xFD[P`@Qb\0\x12b8\x03\x80b\0\x12b\x839\x81\x01`@\x81\x90Rb\0\x004\x91b\0\x02\x1DV[\x81\x81`\x03b\0\0D\x83\x82b\0\x03TV[P`\x04b\0\0S\x82\x82b\0\x03TV[PPP`\0b\0\0hb\0\x01S` \x1B` \x1CV[\x90P\x80`\xFF\x16\x84c\xFF\xFF\xFF\xFF\x16\x11\x15b\0\x01\x14W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`^`$\x82\x01R\x7FAstriaBridgeableERC20: base chai`D\x82\x01R\x7Fn asset precision must be less t`d\x82\x01R\x7Fhan or equal to token decimals\0\0`\x84\x82\x01R`\xA4\x01`@Q\x80\x91\x03\x90\xFD[c\xFF\xFF\xFF\xFF\x84\x16`\x80Rb\0\x01-\x84`\xFF\x83\x16b\0\x046V[b\0\x01:\x90`\nb\0\x05\\V[`\xC0RPPPP`\x01`\x01`\xA0\x1B\x03\x16`\xA0Rb\0\x05wV[`\x12\x90V[cNH{q`\xE0\x1B`\0R`A`\x04R`$`\0\xFD[`\0\x82`\x1F\x83\x01\x12b\0\x01\x80W`\0\x80\xFD[\x81Q`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x01\x9DWb\0\x01\x9Db\0\x01XV[`@Q`\x1F\x83\x01`\x1F\x19\x90\x81\x16`?\x01\x16\x81\x01\x90\x82\x82\x11\x81\x83\x10\x17\x15b\0\x01\xC8Wb\0\x01\xC8b\0\x01XV[\x81`@R\x83\x81R` \x92P\x86\x83\x85\x88\x01\x01\x11\x15b\0\x01\xE5W`\0\x80\xFD[`\0\x91P[\x83\x82\x10\x15b\0\x02\tW\x85\x82\x01\x83\x01Q\x81\x83\x01\x84\x01R\x90\x82\x01\x90b\0\x01\xEAV[`\0\x93\x81\x01\x90\x92\x01\x92\x90\x92R\x94\x93PPPPV[`\0\x80`\0\x80`\x80\x85\x87\x03\x12\x15b\0\x024W`\0\x80\xFD[\x84Q`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14b\0\x02LW`\0\x80\xFD[` \x86\x01Q\x90\x94Pc\xFF\xFF\xFF\xFF\x81\x16\x81\x14b\0\x02gW`\0\x80\xFD[`@\x86\x01Q\x90\x93P`\x01`\x01`@\x1B\x03\x80\x82\x11\x15b\0\x02\x85W`\0\x80\xFD[b\0\x02\x93\x88\x83\x89\x01b\0\x01nV[\x93P``\x87\x01Q\x91P\x80\x82\x11\x15b\0\x02\xAAW`\0\x80\xFD[Pb\0\x02\xB9\x87\x82\x88\x01b\0\x01nV[\x91PP\x92\x95\x91\x94P\x92PV[`\x01\x81\x81\x1C\x90\x82\x16\x80b\0\x02\xDAW`\x7F\x82\x16\x91P[` \x82\x10\x81\x03b\0\x02\xFBWcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\x1F\x82\x11\x15b\0\x03OW`\0\x81\x81R` \x81 `\x1F\x85\x01`\x05\x1C\x81\x01` \x86\x10\x15b\0\x03*WP\x80[`\x1F\x85\x01`\x05\x1C\x82\x01\x91P[\x81\x81\x10\x15b\0\x03KW\x82\x81U`\x01\x01b\0\x036V[PPP[PPPV[\x81Q`\x01`\x01`@\x1B\x03\x81\x11\x15b\0\x03pWb\0\x03pb\0\x01XV[b\0\x03\x88\x81b\0\x03\x81\x84Tb\0\x02\xC5V[\x84b\0\x03\x01V[` \x80`\x1F\x83\x11`\x01\x81\x14b\0\x03\xC0W`\0\x84\x15b\0\x03\xA7WP\x85\x83\x01Q[`\0\x19`\x03\x86\x90\x1B\x1C\x19\x16`\x01\x85\x90\x1B\x17\x85Ub\0\x03KV[`\0\x85\x81R` \x81 `\x1F\x19\x86\x16\x91[\x82\x81\x10\x15b\0\x03\xF1W\x88\x86\x01Q\x82U\x94\x84\x01\x94`\x01\x90\x91\x01\x90\x84\x01b\0\x03\xD0V[P\x85\x82\x10\x15b\0\x04\x10W\x87\x85\x01Q`\0\x19`\x03\x88\x90\x1B`\xF8\x16\x1C\x19\x16\x81U[PPPPP`\x01\x90\x81\x1B\x01\x90UPV[cNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD[c\xFF\xFF\xFF\xFF\x82\x81\x16\x82\x82\x16\x03\x90\x80\x82\x11\x15b\0\x04VWb\0\x04Vb\0\x04 V[P\x92\x91PPV[`\x01\x81\x81[\x80\x85\x11\x15b\0\x04\x9EW\x81`\0\x19\x04\x82\x11\x15b\0\x04\x82Wb\0\x04\x82b\0\x04 V[\x80\x85\x16\x15b\0\x04\x90W\x91\x81\x02\x91[\x93\x84\x1C\x93\x90\x80\x02\x90b\0\x04bV[P\x92P\x92\x90PV[`\0\x82b\0\x04\xB7WP`\x01b\0\x05VV[\x81b\0\x04\xC6WP`\0b\0\x05VV[\x81`\x01\x81\x14b\0\x04\xDFW`\x02\x81\x14b\0\x04\xEAWb\0\x05\nV[`\x01\x91PPb\0\x05VV[`\xFF\x84\x11\x15b\0\x04\xFEWb\0\x04\xFEb\0\x04 V[PP`\x01\x82\x1Bb\0\x05VV[P` \x83\x10a\x013\x83\x10\x16`N\x84\x10`\x0B\x84\x10\x16\x17\x15b\0\x05/WP\x81\x81\nb\0\x05VV[b\0\x05;\x83\x83b\0\x04]V[\x80`\0\x19\x04\x82\x11\x15b\0\x05RWb\0\x05Rb\0\x04 V[\x02\x90P[\x92\x91PPV[`\0b\0\x05pc\xFF\xFF\xFF\xFF\x84\x16\x83b\0\x04\xA6V[\x93\x92PPPV[`\x80Q`\xA0Q`\xC0Qa\x0C\xADb\0\x05\xB5`\09`\0\x81\x81a\x04Q\x01Ra\x04\xF5\x01R`\0\x81\x81a\x02]\x01Ra\x03r\x01R`\0a\x01\xCD\x01Ra\x0C\xAD`\0\xF3\xFE`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c~\xB6\xDE\xC7\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08\xF5V[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\t_V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\t\x89V[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\t_V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\n\x0EV[a\x04IV[a\x014a\x01\x9A6`\x04a\n\x88V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\xAAV[a\x04\xEDV[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x05\x87V[a\x01 a\x02\x1A6`\x04a\t_V[a\x05\x96V[a\x014a\x02-6`\x04a\n\xD6V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\x0B\0V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\x0B\0V[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\xA4V[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\xB6V[a\x03\\\x85\x85\x85a\x064V[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FAstriaBridgeableERC20: only brid`D\x82\x01Rj\x19\xD9H\x18\xD8[\x88\x1BZ[\x9D`\xAA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\x02\x82\x82a\x06\x93V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04=\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[\x84`\0a\x04v\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B:V[\x11a\x04\x93W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xEF\x90a\x0B\\V[a\x04\x9D3\x87a\x06\xCDV[\x853`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x87\x87\x87\x87`@Qa\x04\xDD\x94\x93\x92\x91\x90a\x0C$V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[\x81`\0a\x05\x1A\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B:V[\x11a\x057W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xEF\x90a\x0B\\V[a\x05A3\x84a\x06\xCDV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x81R\x83\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPV[```\x04\x80Ta\x02\xA6\x90a\x0B\0V[`\x003a\x037\x81\x85\x85a\x064V[a\x05\xB1\x83\x83\x83`\x01a\x07\x03V[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x06.W\x81\x81\x10\x15a\x06\x1FW`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEFV[a\x06.\x84\x84\x84\x84\x03`\0a\x07\x03V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\x88W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[a\x05\xB1\x83\x83\x83a\x07\xD8V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xBDW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[a\x06\xC9`\0\x83\x83a\x07\xD8V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xF7W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[a\x06\xC9\x82`\0\x83a\x07\xD8V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x07-W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07WW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x06.W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x07\xCA\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x08\x03W\x80`\x02`\0\x82\x82Ta\x07\xF8\x91\x90a\x0CVV[\x90\x91UPa\x08u\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x08VW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x08\x91W`\x02\x80T\x82\x90\x03\x90Ua\x08\xB0V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05z\x91\x81R` \x01\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\t\"W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\t\x06V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\tZW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\trW`\0\x80\xFD[a\t{\x83a\tCV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x9EW`\0\x80\xFD[a\t\xA7\x84a\tCV[\x92Pa\t\xB5` \x85\x01a\tCV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\t\xD7W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xEFW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n\x07W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\n&W`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\nEW`\0\x80\xFD[a\nQ\x89\x83\x8A\x01a\t\xC5V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\njW`\0\x80\xFD[Pa\nw\x88\x82\x89\x01a\t\xC5V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x9AW`\0\x80\xFD[a\n\xA3\x82a\tCV[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xBDW`\0\x80\xFD[\x825\x91Pa\n\xCD` \x84\x01a\tCV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xE9W`\0\x80\xFD[a\n\xF2\x83a\tCV[\x91Pa\n\xCD` \x84\x01a\tCV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B\x14W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B4WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82a\x0BWWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[` \x80\x82R`s\x90\x82\x01R\x7FAstriaBridgeableERC20: insuffici`@\x82\x01R\x7Fent value, must be greater than ``\x82\x01R\x7F10 ** (TOKEN_DECIMALS - BASE_CHA`\x80\x82\x01RrIN_ASSET_PRECISION)`h\x1B`\xA0\x82\x01R`\xC0\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x0C8`@\x83\x01\x86\x88a\x0B\xFBV[\x82\x81\x03` \x84\x01Ra\x0CK\x81\x85\x87a\x0B\xFBV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xEB\x94\xAB\xA7N\xD6\xA0\x81F1\xB5\n\xF4;\x84]\xC4\xAE\x1C0g\x192\x83\xA3\x82.?\xCC\xE9^\xDBdsolcC\0\x08\x15\x003"; /// The bytecode of the contract. - pub static ASTRIAMINTABLEERC20_BYTECODE: ::ethers::core::types::Bytes = + pub static ASTRIABRIDGEABLEERC20_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__BYTECODE); #[rustfmt::skip] - const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c~\xB6\xDE\xC7\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08\xF3V[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\t]V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\t\x87V[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\t]V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\n\x0CV[a\x04GV[a\x014a\x01\x9A6`\x04a\n\x86V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\xA8V[a\x04\xEBV[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x05\x85V[a\x01 a\x02\x1A6`\x04a\t]V[a\x05\x94V[a\x014a\x02-6`\x04a\n\xD4V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\n\xFEV[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\n\xFEV[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\xA2V[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\xB4V[a\x03\\\x85\x85\x85a\x062V[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF6W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`)`$\x82\x01R\x7FAstriaMintableERC20: only bridge`D\x82\x01Rh\x08\x18\xD8[\x88\x1BZ[\x9D`\xBA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\0\x82\x82a\x06\x91V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04;\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[\x84`\0a\x04t\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x04\x91W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x04\x9B3\x87a\x06\xCBV[\x853`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x87\x87\x87\x87`@Qa\x04\xDB\x94\x93\x92\x91\x90a\x0C V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[\x81`\0a\x05\x18\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B8V[\x11a\x055W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xED\x90a\x0BZV[a\x05?3\x84a\x06\xCBV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x81R\x83\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPV[```\x04\x80Ta\x02\xA6\x90a\n\xFEV[`\x003a\x037\x81\x85\x85a\x062V[a\x05\xAF\x83\x83\x83`\x01a\x07\x01V[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x06,W\x81\x81\x10\x15a\x06\x1DW`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[a\x06,\x84\x84\x84\x84\x03`\0a\x07\x01V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06\\W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\x86W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x05\xAF\x83\x83\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xBBW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7`\0\x83\x83a\x07\xD6V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xF5W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[a\x06\xC7\x82`\0\x83a\x07\xD6V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x07+W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07UW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x06,W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x07\xC8\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x08\x01W\x80`\x02`\0\x82\x82Ta\x07\xF6\x91\x90a\x0CRV[\x90\x91UPa\x08s\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x08TW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEDV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x08\x8FW`\x02\x80T\x82\x90\x03\x90Ua\x08\xAEV[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05x\x91\x81R` \x01\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\t W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\t\x04V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\tXW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\tpW`\0\x80\xFD[a\ty\x83a\tAV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x9CW`\0\x80\xFD[a\t\xA5\x84a\tAV[\x92Pa\t\xB3` \x85\x01a\tAV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\t\xD5W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xEDW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n\x05W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\n$W`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\nCW`\0\x80\xFD[a\nO\x89\x83\x8A\x01a\t\xC3V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\nhW`\0\x80\xFD[Pa\nu\x88\x82\x89\x01a\t\xC3V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x98W`\0\x80\xFD[a\n\xA1\x82a\tAV[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xBBW`\0\x80\xFD[\x825\x91Pa\n\xCB` \x84\x01a\tAV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xE7W`\0\x80\xFD[a\n\xF0\x83a\tAV[\x91Pa\n\xCB` \x84\x01a\tAV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B\x12W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B2WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82a\x0BUWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[` \x80\x82R`q\x90\x82\x01R\x7FAstriaMintableERC20: insufficien`@\x82\x01R\x7Ft value, must be greater than 10``\x82\x01R\x7F ** (TOKEN_DECIMALS - BASE_CHAIN`\x80\x82\x01Rp_ASSET_PRECISION)`x\x1B`\xA0\x82\x01R`\xC0\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x0C4`@\x83\x01\x86\x88a\x0B\xF7V[\x82\x81\x03` \x84\x01Ra\x0CG\x81\x85\x87a\x0B\xF7V[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xB2\x1FrEa\xB9\x12\x19\xF2-\xA8\x03\xC0\xB2\xD4\xBD\x10\xB7\xAB\x9B\xBD\x03\xB2I\xF3Q\xB2\x94,\xE0\xBBxdsolcC\0\x08\x15\x003"; + const __DEPLOYED_BYTECODE: &[u8] = b"`\x80`@R4\x80\x15a\0\x10W`\0\x80\xFD[P`\x046\x10a\0\xEAW`\x005`\xE0\x1C\x80cp\xA0\x821\x11a\0\x8CW\x80c\x95\xD8\x9BA\x11a\0fW\x80c\x95\xD8\x9BA\x14a\x02\x04W\x80c\xA9\x05\x9C\xBB\x14a\x02\x0CW\x80c\xDDb\xED>\x14a\x02\x1FW\x80c\xEE\x9A1\xA2\x14a\x02XW`\0\x80\xFD[\x80cp\xA0\x821\x14a\x01\x8CW\x80cu~\x98t\x14a\x01\xB5W\x80c~\xB6\xDE\xC7\x14a\x01\xC8W`\0\x80\xFD[\x80c#\xB8r\xDD\x11a\0\xC8W\x80c#\xB8r\xDD\x14a\x01BW\x80c1<\xE5g\x14a\x01UW\x80c@\xC1\x0F\x19\x14a\x01dW\x80c_\xE5k\t\x14a\x01yW`\0\x80\xFD[\x80c\x06\xFD\xDE\x03\x14a\0\xEFW\x80c\t^\xA7\xB3\x14a\x01\rW\x80c\x18\x16\r\xDD\x14a\x010W[`\0\x80\xFD[a\0\xF7a\x02\x97V[`@Qa\x01\x04\x91\x90a\x08\xF5V[`@Q\x80\x91\x03\x90\xF3[a\x01 a\x01\x1B6`\x04a\t_V[a\x03)V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[`\x02T[`@Q\x90\x81R` \x01a\x01\x04V[a\x01 a\x01P6`\x04a\t\x89V[a\x03CV[`@Q`\x12\x81R` \x01a\x01\x04V[a\x01wa\x01r6`\x04a\t_V[a\x03gV[\0[a\x01wa\x01\x876`\x04a\n\x0EV[a\x04IV[a\x014a\x01\x9A6`\x04a\n\x88V[`\x01`\x01`\xA0\x1B\x03\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x90V[a\x01wa\x01\xC36`\x04a\n\xAAV[a\x04\xEDV[a\x01\xEF\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Qc\xFF\xFF\xFF\xFF\x90\x91\x16\x81R` \x01a\x01\x04V[a\0\xF7a\x05\x87V[a\x01 a\x02\x1A6`\x04a\t_V[a\x05\x96V[a\x014a\x02-6`\x04a\n\xD6V[`\x01`\x01`\xA0\x1B\x03\x91\x82\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x90\x94\x16\x82R\x91\x90\x91R T\x90V[a\x02\x7F\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x81V[`@Q`\x01`\x01`\xA0\x1B\x03\x90\x91\x16\x81R` \x01a\x01\x04V[```\x03\x80Ta\x02\xA6\x90a\x0B\0V[\x80`\x1F\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x02\xD2\x90a\x0B\0V[\x80\x15a\x03\x1FW\x80`\x1F\x10a\x02\xF4Wa\x01\0\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x03\x1FV[\x82\x01\x91\x90`\0R` `\0 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x03\x02W\x82\x90\x03`\x1F\x16\x82\x01\x91[PPPPP\x90P\x90V[`\x003a\x037\x81\x85\x85a\x05\xA4V[`\x01\x91PP[\x92\x91PPV[`\x003a\x03Q\x85\x82\x85a\x05\xB6V[a\x03\\\x85\x85\x85a\x064V[P`\x01\x94\x93PPPPV[3`\x01`\x01`\xA0\x1B\x03\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x14a\x03\xF8W`@QbF\x1B\xCD`\xE5\x1B\x81R` `\x04\x82\x01R`+`$\x82\x01R\x7FAstriaBridgeableERC20: only brid`D\x82\x01Rj\x19\xD9H\x18\xD8[\x88\x1BZ[\x9D`\xAA\x1B`d\x82\x01R`\x84\x01[`@Q\x80\x91\x03\x90\xFD[a\x04\x02\x82\x82a\x06\x93V[\x81`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Fg\x98\xA5`y:T\xC3\xBC\xFE\x86\xA9<\xDE\x1Es\x08}\x94L\x0E\xA2\x05D\x13}A!9h\x85\x82`@Qa\x04=\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA2PPV[\x84`\0a\x04v\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B:V[\x11a\x04\x93W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xEF\x90a\x0B\\V[a\x04\x9D3\x87a\x06\xCDV[\x853`\x01`\x01`\xA0\x1B\x03\x16\x7F\x0Cd\xE2\x9ART\xA7\x1C\x7FNR\xB3\xD2\xD264\x8C\x80\xE0\n\0\xBA.\x19a\x96+\xD2\x82|\x03\xFB\x87\x87\x87\x87`@Qa\x04\xDD\x94\x93\x92\x91\x90a\x0C$V[`@Q\x80\x91\x03\x90\xA3PPPPPPV[\x81`\0a\x05\x1A\x7F\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83a\x0B:V[\x11a\x057W`@QbF\x1B\xCD`\xE5\x1B\x81R`\x04\x01a\x03\xEF\x90a\x0B\\V[a\x05A3\x84a\x06\xCDV[`@Q`\x01`\x01`\xA0\x1B\x03\x83\x16\x81R\x83\x903\x90\x7F\xAE\x8EffM\x10\x85DP\x9C\x9A[j\x9F3\xC3\xB5\xFE\xF3\xF8\x8E]?\xA6\x80pjo\xEB\x13`\xE3\x90` \x01[`@Q\x80\x91\x03\x90\xA3PPPV[```\x04\x80Ta\x02\xA6\x90a\x0B\0V[`\x003a\x037\x81\x85\x85a\x064V[a\x05\xB1\x83\x83\x83`\x01a\x07\x03V[PPPV[`\x01`\x01`\xA0\x1B\x03\x83\x81\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x86\x16\x83R\x92\x90R T`\0\x19\x81\x14a\x06.W\x81\x81\x10\x15a\x06\x1FW`@Qc}\xC7\xA0\xD9`\xE1\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x84\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEFV[a\x06.\x84\x84\x84\x84\x03`\0a\x07\x03V[PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x06^W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\x88W`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[a\x05\xB1\x83\x83\x83a\x07\xD8V[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xBDW`@Qc\xECD/\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[a\x06\xC9`\0\x83\x83a\x07\xD8V[PPV[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x06\xF7W`@QcKc~\x8F`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[a\x06\xC9\x82`\0\x83a\x07\xD8V[`\x01`\x01`\xA0\x1B\x03\x84\x16a\x07-W`@Qc\xE6\x02\xDF\x05`\xE0\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x07WW`@QcJ\x14\x06\xB1`\xE1\x1B\x81R`\0`\x04\x82\x01R`$\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x80\x85\x16`\0\x90\x81R`\x01` \x90\x81R`@\x80\x83 \x93\x87\x16\x83R\x92\x90R \x82\x90U\x80\x15a\x06.W\x82`\x01`\x01`\xA0\x1B\x03\x16\x84`\x01`\x01`\xA0\x1B\x03\x16\x7F\x8C[\xE1\xE5\xEB\xEC}[\xD1OqB}\x1E\x84\xF3\xDD\x03\x14\xC0\xF7\xB2)\x1E[ \n\xC8\xC7\xC3\xB9%\x84`@Qa\x07\xCA\x91\x81R` \x01\x90V[`@Q\x80\x91\x03\x90\xA3PPPPV[`\x01`\x01`\xA0\x1B\x03\x83\x16a\x08\x03W\x80`\x02`\0\x82\x82Ta\x07\xF8\x91\x90a\x0CVV[\x90\x91UPa\x08u\x90PV[`\x01`\x01`\xA0\x1B\x03\x83\x16`\0\x90\x81R` \x81\x90R`@\x90 T\x81\x81\x10\x15a\x08VW`@Qc9\x144\xE3`\xE2\x1B\x81R`\x01`\x01`\xA0\x1B\x03\x85\x16`\x04\x82\x01R`$\x81\x01\x82\x90R`D\x81\x01\x83\x90R`d\x01a\x03\xEFV[`\x01`\x01`\xA0\x1B\x03\x84\x16`\0\x90\x81R` \x81\x90R`@\x90 \x90\x82\x90\x03\x90U[`\x01`\x01`\xA0\x1B\x03\x82\x16a\x08\x91W`\x02\x80T\x82\x90\x03\x90Ua\x08\xB0V[`\x01`\x01`\xA0\x1B\x03\x82\x16`\0\x90\x81R` \x81\x90R`@\x90 \x80T\x82\x01\x90U[\x81`\x01`\x01`\xA0\x1B\x03\x16\x83`\x01`\x01`\xA0\x1B\x03\x16\x7F\xDD\xF2R\xAD\x1B\xE2\xC8\x9Bi\xC2\xB0h\xFC7\x8D\xAA\x95+\xA7\xF1c\xC4\xA1\x16(\xF5ZM\xF5#\xB3\xEF\x83`@Qa\x05z\x91\x81R` \x01\x90V[`\0` \x80\x83R\x83Q\x80\x82\x85\x01R`\0[\x81\x81\x10\x15a\t\"W\x85\x81\x01\x83\x01Q\x85\x82\x01`@\x01R\x82\x01a\t\x06V[P`\0`@\x82\x86\x01\x01R`@`\x1F\x19`\x1F\x83\x01\x16\x85\x01\x01\x92PPP\x92\x91PPV[\x805`\x01`\x01`\xA0\x1B\x03\x81\x16\x81\x14a\tZW`\0\x80\xFD[\x91\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\trW`\0\x80\xFD[a\t{\x83a\tCV[\x94` \x93\x90\x93\x015\x93PPPV[`\0\x80`\0``\x84\x86\x03\x12\x15a\t\x9EW`\0\x80\xFD[a\t\xA7\x84a\tCV[\x92Pa\t\xB5` \x85\x01a\tCV[\x91P`@\x84\x015\x90P\x92P\x92P\x92V[`\0\x80\x83`\x1F\x84\x01\x12a\t\xD7W`\0\x80\xFD[P\x815g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x81\x11\x15a\t\xEFW`\0\x80\xFD[` \x83\x01\x91P\x83` \x82\x85\x01\x01\x11\x15a\n\x07W`\0\x80\xFD[\x92P\x92\x90PV[`\0\x80`\0\x80`\0``\x86\x88\x03\x12\x15a\n&W`\0\x80\xFD[\x855\x94P` \x86\x015g\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x80\x82\x11\x15a\nEW`\0\x80\xFD[a\nQ\x89\x83\x8A\x01a\t\xC5V[\x90\x96P\x94P`@\x88\x015\x91P\x80\x82\x11\x15a\njW`\0\x80\xFD[Pa\nw\x88\x82\x89\x01a\t\xC5V[\x96\x99\x95\x98P\x93\x96P\x92\x94\x93\x92PPPV[`\0` \x82\x84\x03\x12\x15a\n\x9AW`\0\x80\xFD[a\n\xA3\x82a\tCV[\x93\x92PPPV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xBDW`\0\x80\xFD[\x825\x91Pa\n\xCD` \x84\x01a\tCV[\x90P\x92P\x92\x90PV[`\0\x80`@\x83\x85\x03\x12\x15a\n\xE9W`\0\x80\xFD[a\n\xF2\x83a\tCV[\x91Pa\n\xCD` \x84\x01a\tCV[`\x01\x81\x81\x1C\x90\x82\x16\x80a\x0B\x14W`\x7F\x82\x16\x91P[` \x82\x10\x81\x03a\x0B4WcNH{q`\xE0\x1B`\0R`\"`\x04R`$`\0\xFD[P\x91\x90PV[`\0\x82a\x0BWWcNH{q`\xE0\x1B`\0R`\x12`\x04R`$`\0\xFD[P\x04\x90V[` \x80\x82R`s\x90\x82\x01R\x7FAstriaBridgeableERC20: insuffici`@\x82\x01R\x7Fent value, must be greater than ``\x82\x01R\x7F10 ** (TOKEN_DECIMALS - BASE_CHA`\x80\x82\x01RrIN_ASSET_PRECISION)`h\x1B`\xA0\x82\x01R`\xC0\x01\x90V[\x81\x83R\x81\x81` \x85\x017P`\0\x82\x82\x01` \x90\x81\x01\x91\x90\x91R`\x1F\x90\x91\x01`\x1F\x19\x16\x90\x91\x01\x01\x90V[`@\x81R`\0a\x0C8`@\x83\x01\x86\x88a\x0B\xFBV[\x82\x81\x03` \x84\x01Ra\x0CK\x81\x85\x87a\x0B\xFBV[\x97\x96PPPPPPPV[\x80\x82\x01\x80\x82\x11\x15a\x03=WcNH{q`\xE0\x1B`\0R`\x11`\x04R`$`\0\xFD\xFE\xA2dipfsX\"\x12 \xEB\x94\xAB\xA7N\xD6\xA0\x81F1\xB5\n\xF4;\x84]\xC4\xAE\x1C0g\x192\x83\xA3\x82.?\xCC\xE9^\xDBdsolcC\0\x08\x15\x003"; /// The deployed bytecode of the contract. - pub static ASTRIAMINTABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = + pub static ASTRIABRIDGEABLEERC20_DEPLOYED_BYTECODE: ::ethers::core::types::Bytes = ::ethers::core::types::Bytes::from_static(__DEPLOYED_BYTECODE); - pub struct AstriaMintableERC20(::ethers::contract::Contract); - impl ::core::clone::Clone for AstriaMintableERC20 { + pub struct AstriaBridgeableERC20(::ethers::contract::Contract); + impl ::core::clone::Clone for AstriaBridgeableERC20 { fn clone(&self) -> Self { Self(::core::clone::Clone::clone(&self.0)) } } - impl ::core::ops::Deref for AstriaMintableERC20 { + impl ::core::ops::Deref for AstriaBridgeableERC20 { type Target = ::ethers::contract::Contract; fn deref(&self) -> &Self::Target { &self.0 } } - impl ::core::ops::DerefMut for AstriaMintableERC20 { + impl ::core::ops::DerefMut for AstriaBridgeableERC20 { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.0 } } - impl ::core::fmt::Debug for AstriaMintableERC20 { + impl ::core::fmt::Debug for AstriaBridgeableERC20 { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { - f.debug_tuple(::core::stringify!(AstriaMintableERC20)) + f.debug_tuple(::core::stringify!(AstriaBridgeableERC20)) .field(&self.address()) .finish() } } - impl AstriaMintableERC20 { + impl AstriaBridgeableERC20 { /// Creates a new contract instance with the specified `ethers` client at /// `address`. The contract derefs to a `ethers::Contract` object. pub fn new>( @@ -663,7 +663,7 @@ pub mod astria_mintable_erc20 { ) -> Self { Self(::ethers::contract::Contract::new( address.into(), - ASTRIAMINTABLEERC20_ABI.clone(), + ASTRIABRIDGEABLEERC20_ABI.clone(), client, )) } @@ -700,8 +700,8 @@ pub mod astria_mintable_erc20 { ::ethers::contract::ContractError, > { let factory = ::ethers::contract::ContractFactory::new( - ASTRIAMINTABLEERC20_ABI.clone(), - ASTRIAMINTABLEERC20_BYTECODE.clone().into(), + ASTRIABRIDGEABLEERC20_ABI.clone(), + ASTRIABRIDGEABLEERC20_BYTECODE.clone().into(), client, ); let deployer = factory.deploy(constructor_args)?; @@ -888,14 +888,14 @@ pub mod astria_mintable_erc20 { /// Returns an `Event` builder for all the events of this contract. pub fn events( &self, - ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaMintableERC20Events> + ) -> ::ethers::contract::builders::Event<::std::sync::Arc, M, AstriaBridgeableERC20Events> { self.0 .event_with_filter(::core::default::Default::default()) } } impl From<::ethers::contract::Contract> - for AstriaMintableERC20 + for AstriaBridgeableERC20 { fn from(contract: ::ethers::contract::Contract) -> Self { Self::new(contract.address(), contract.client()) @@ -1009,7 +1009,7 @@ pub mod astria_mintable_erc20 { } /// Container type for all of the contract's custom errors #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum AstriaMintableERC20Errors { + pub enum AstriaBridgeableERC20Errors { ERC20InsufficientAllowance(ERC20InsufficientAllowance), ERC20InsufficientBalance(ERC20InsufficientBalance), ERC20InvalidApprover(ERC20InvalidApprover), @@ -1020,7 +1020,7 @@ pub mod astria_mintable_erc20 { /// Error(string) -- 0x08c379a0 RevertString(::std::string::String), } - impl ::ethers::core::abi::AbiDecode for AstriaMintableERC20Errors { + impl ::ethers::core::abi::AbiDecode for AstriaBridgeableERC20Errors { fn decode( data: impl AsRef<[u8]>, ) -> ::core::result::Result { @@ -1063,7 +1063,7 @@ pub mod astria_mintable_erc20 { Err(::ethers::core::abi::Error::InvalidData.into()) } } - impl ::ethers::core::abi::AbiEncode for AstriaMintableERC20Errors { + impl ::ethers::core::abi::AbiEncode for AstriaBridgeableERC20Errors { fn encode(self) -> ::std::vec::Vec { match self { Self::ERC20InsufficientAllowance(element) => { @@ -1088,7 +1088,7 @@ pub mod astria_mintable_erc20 { } } } - impl ::ethers::contract::ContractRevert for AstriaMintableERC20Errors { + impl ::ethers::contract::ContractRevert for AstriaBridgeableERC20Errors { fn valid_selector(selector: [u8; 4]) -> bool { match selector { [0x08, 0xc3, 0x79, 0xa0] => true, @@ -1126,7 +1126,7 @@ pub mod astria_mintable_erc20 { } } } - impl ::core::fmt::Display for AstriaMintableERC20Errors { + impl ::core::fmt::Display for AstriaBridgeableERC20Errors { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ERC20InsufficientAllowance(element) => ::core::fmt::Display::fmt(element, f), @@ -1139,37 +1139,37 @@ pub mod astria_mintable_erc20 { } } } - impl ::core::convert::From<::std::string::String> for AstriaMintableERC20Errors { + impl ::core::convert::From<::std::string::String> for AstriaBridgeableERC20Errors { fn from(value: String) -> Self { Self::RevertString(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaBridgeableERC20Errors { fn from(value: ERC20InsufficientAllowance) -> Self { Self::ERC20InsufficientAllowance(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaBridgeableERC20Errors { fn from(value: ERC20InsufficientBalance) -> Self { Self::ERC20InsufficientBalance(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaBridgeableERC20Errors { fn from(value: ERC20InvalidApprover) -> Self { Self::ERC20InvalidApprover(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaBridgeableERC20Errors { fn from(value: ERC20InvalidReceiver) -> Self { Self::ERC20InvalidReceiver(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaBridgeableERC20Errors { fn from(value: ERC20InvalidSender) -> Self { Self::ERC20InvalidSender(value) } } - impl ::core::convert::From for AstriaMintableERC20Errors { + impl ::core::convert::From for AstriaBridgeableERC20Errors { fn from(value: ERC20InvalidSpender) -> Self { Self::ERC20InvalidSpender(value) } @@ -1271,38 +1271,38 @@ pub mod astria_mintable_erc20 { } /// Container type for all of the contract's events #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum AstriaMintableERC20Events { + pub enum AstriaBridgeableERC20Events { ApprovalFilter(ApprovalFilter), Ics20WithdrawalFilter(Ics20WithdrawalFilter), MintFilter(MintFilter), SequencerWithdrawalFilter(SequencerWithdrawalFilter), TransferFilter(TransferFilter), } - impl ::ethers::contract::EthLogDecode for AstriaMintableERC20Events { + impl ::ethers::contract::EthLogDecode for AstriaBridgeableERC20Events { fn decode_log( log: &::ethers::core::abi::RawLog, ) -> ::core::result::Result { if let Ok(decoded) = ApprovalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::ApprovalFilter(decoded)); + return Ok(AstriaBridgeableERC20Events::ApprovalFilter(decoded)); } if let Ok(decoded) = Ics20WithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::Ics20WithdrawalFilter(decoded)); + return Ok(AstriaBridgeableERC20Events::Ics20WithdrawalFilter(decoded)); } if let Ok(decoded) = MintFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::MintFilter(decoded)); + return Ok(AstriaBridgeableERC20Events::MintFilter(decoded)); } if let Ok(decoded) = SequencerWithdrawalFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::SequencerWithdrawalFilter( + return Ok(AstriaBridgeableERC20Events::SequencerWithdrawalFilter( decoded, )); } if let Ok(decoded) = TransferFilter::decode_log(log) { - return Ok(AstriaMintableERC20Events::TransferFilter(decoded)); + return Ok(AstriaBridgeableERC20Events::TransferFilter(decoded)); } Err(::ethers::core::abi::Error::InvalidData) } } - impl ::core::fmt::Display for AstriaMintableERC20Events { + impl ::core::fmt::Display for AstriaBridgeableERC20Events { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::ApprovalFilter(element) => ::core::fmt::Display::fmt(element, f), @@ -1313,27 +1313,27 @@ pub mod astria_mintable_erc20 { } } } - impl ::core::convert::From for AstriaMintableERC20Events { + impl ::core::convert::From for AstriaBridgeableERC20Events { fn from(value: ApprovalFilter) -> Self { Self::ApprovalFilter(value) } } - impl ::core::convert::From for AstriaMintableERC20Events { + impl ::core::convert::From for AstriaBridgeableERC20Events { fn from(value: Ics20WithdrawalFilter) -> Self { Self::Ics20WithdrawalFilter(value) } } - impl ::core::convert::From for AstriaMintableERC20Events { + impl ::core::convert::From for AstriaBridgeableERC20Events { fn from(value: MintFilter) -> Self { Self::MintFilter(value) } } - impl ::core::convert::From for AstriaMintableERC20Events { + impl ::core::convert::From for AstriaBridgeableERC20Events { fn from(value: SequencerWithdrawalFilter) -> Self { Self::SequencerWithdrawalFilter(value) } } - impl ::core::convert::From for AstriaMintableERC20Events { + impl ::core::convert::From for AstriaBridgeableERC20Events { fn from(value: TransferFilter) -> Self { Self::TransferFilter(value) } @@ -1570,7 +1570,7 @@ pub mod astria_mintable_erc20 { } /// Container type for all of the contract's call #[derive(Clone, ::ethers::contract::EthAbiType, Debug, PartialEq, Eq, Hash)] - pub enum AstriaMintableERC20Calls { + pub enum AstriaBridgeableERC20Calls { BaseChainAssetPrecision(BaseChainAssetPrecisionCall), Bridge(BridgeCall), Allowance(AllowanceCall), @@ -1586,7 +1586,7 @@ pub mod astria_mintable_erc20 { WithdrawToIbcChain(WithdrawToIbcChainCall), WithdrawToSequencer(WithdrawToSequencerCall), } - impl ::ethers::core::abi::AbiDecode for AstriaMintableERC20Calls { + impl ::ethers::core::abi::AbiDecode for AstriaBridgeableERC20Calls { fn decode( data: impl AsRef<[u8]>, ) -> ::core::result::Result { @@ -1643,7 +1643,7 @@ pub mod astria_mintable_erc20 { Err(::ethers::core::abi::Error::InvalidData.into()) } } - impl ::ethers::core::abi::AbiEncode for AstriaMintableERC20Calls { + impl ::ethers::core::abi::AbiEncode for AstriaBridgeableERC20Calls { fn encode(self) -> Vec { match self { Self::BaseChainAssetPrecision(element) => { @@ -1669,7 +1669,7 @@ pub mod astria_mintable_erc20 { } } } - impl ::core::fmt::Display for AstriaMintableERC20Calls { + impl ::core::fmt::Display for AstriaBridgeableERC20Calls { fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result { match self { Self::BaseChainAssetPrecision(element) => ::core::fmt::Display::fmt(element, f), @@ -1689,72 +1689,72 @@ pub mod astria_mintable_erc20 { } } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: BaseChainAssetPrecisionCall) -> Self { Self::BaseChainAssetPrecision(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: BridgeCall) -> Self { Self::Bridge(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: AllowanceCall) -> Self { Self::Allowance(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: ApproveCall) -> Self { Self::Approve(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: BalanceOfCall) -> Self { Self::BalanceOf(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: DecimalsCall) -> Self { Self::Decimals(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: MintCall) -> Self { Self::Mint(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: NameCall) -> Self { Self::Name(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: SymbolCall) -> Self { Self::Symbol(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: TotalSupplyCall) -> Self { Self::TotalSupply(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: TransferCall) -> Self { Self::Transfer(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: TransferFromCall) -> Self { Self::TransferFrom(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: WithdrawToIbcChainCall) -> Self { Self::WithdrawToIbcChain(value) } } - impl ::core::convert::From for AstriaMintableERC20Calls { + impl ::core::convert::From for AstriaBridgeableERC20Calls { fn from(value: WithdrawToSequencerCall) -> Self { Self::WithdrawToSequencer(value) } diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs index 594c86a9cc..8f535ed850 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/mod.rs @@ -10,6 +10,6 @@ pub(crate) mod astria_withdrawer_interface; #[cfg(test)] -pub(crate) mod astria_mintable_erc20; +pub(crate) mod astria_bridgeable_erc20; #[cfg(test)] pub(crate) mod astria_withdrawer; diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs index 17bc37ff46..0761dd51d6 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/test_utils.rs @@ -11,9 +11,9 @@ use ethers::{ }; use crate::withdrawer::ethereum::{ - astria_mintable_erc20::{ - ASTRIAMINTABLEERC20_ABI, - ASTRIAMINTABLEERC20_BYTECODE, + astria_bridgeable_erc20::{ + ASTRIABRIDGEABLEERC20_ABI, + ASTRIABRIDGEABLEERC20_BYTECODE, }, astria_withdrawer::{ ASTRIAWITHDRAWER_ABI, @@ -84,14 +84,14 @@ pub(crate) async fn deploy_astria_withdrawer( } #[derive(Default)] -pub(crate) struct ConfigureAstriaMintableERC20Deployer { +pub(crate) struct ConfigureAstriaBridgeableERC20Deployer { pub(crate) bridge_address: Address, pub(crate) base_chain_asset_precision: u32, pub(crate) name: String, pub(crate) symbol: String, } -impl ConfigureAstriaMintableERC20Deployer { +impl ConfigureAstriaBridgeableERC20Deployer { pub(crate) async fn deploy(self) -> (Address, Arc>, LocalWallet, AnvilInstance) { let Self { bridge_address, @@ -108,7 +108,7 @@ impl ConfigureAstriaMintableERC20Deployer { symbol = "TT".to_string(); } - deploy_astria_mintable_erc20( + deploy_astria_bridgeable_erc20( bridge_address, base_chain_asset_precision.into(), name, @@ -118,7 +118,7 @@ impl ConfigureAstriaMintableERC20Deployer { } } -/// Starts a local anvil instance and deploys the `AstriaMintableERC20` contract to it. +/// Starts a local anvil instance and deploys the `AstriaBridgeableERC20` contract to it. /// /// Returns the contract address, provider, wallet, and anvil instance. /// @@ -126,7 +126,7 @@ impl ConfigureAstriaMintableERC20Deployer { /// /// - if the provider fails to connect to the anvil instance /// - if the contract fails to deploy -pub(crate) async fn deploy_astria_mintable_erc20( +pub(crate) async fn deploy_astria_bridgeable_erc20( mut bridge_address: Address, base_chain_asset_precision: ethers::abi::Uint, name: String, @@ -146,8 +146,8 @@ pub(crate) async fn deploy_astria_mintable_erc20( wallet.clone().with_chain_id(anvil.chain_id()), ); - let abi = ASTRIAMINTABLEERC20_ABI.clone(); - let bytecode = ASTRIAMINTABLEERC20_BYTECODE.to_vec(); + let abi = ASTRIABRIDGEABLEERC20_ABI.clone(); + let bytecode = ASTRIABRIDGEABLEERC20_BYTECODE.to_vec(); let factory = ContractFactory::new(abi.clone(), bytecode.into(), signer.into()); diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs index 1f0b30bd0d..502716f55f 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs @@ -359,7 +359,7 @@ mod tests { use super::*; use crate::withdrawer::ethereum::{ - astria_mintable_erc20::AstriaMintableERC20, + astria_bridgeable_erc20::AstriaBridgeableERC20, astria_withdrawer::AstriaWithdrawer, astria_withdrawer_interface::{ Ics20WithdrawalFilter, @@ -367,7 +367,7 @@ mod tests { }, convert::EventWithMetadata, test_utils::{ - ConfigureAstriaMintableERC20Deployer, + ConfigureAstriaBridgeableERC20Deployer, ConfigureAstriaWithdrawerDeployer, }, }; @@ -571,7 +571,7 @@ mod tests { } async fn mint_tokens( - contract: &AstriaMintableERC20, + contract: &AstriaBridgeableERC20, amount: U256, recipient: ethers::types::Address, ) -> TransactionReceipt { @@ -593,7 +593,7 @@ mod tests { } async fn send_sequencer_withdraw_transaction_erc20( - contract: &AstriaMintableERC20, + contract: &AstriaBridgeableERC20, value: U256, recipient: ethers::types::Address, ) -> TransactionReceipt { @@ -616,15 +616,15 @@ mod tests { #[tokio::test] #[ignore = "requires foundry and solc to be installed"] - async fn watcher_can_watch_sequencer_withdrawals_astria_mintable_erc20() { - let (contract_address, provider, wallet, anvil) = ConfigureAstriaMintableERC20Deployer { + async fn watcher_can_watch_sequencer_withdrawals_astria_bridgeable_erc20() { + let (contract_address, provider, wallet, anvil) = ConfigureAstriaBridgeableERC20Deployer { base_chain_asset_precision: 18, ..Default::default() } .deploy() .await; let signer = Arc::new(SignerMiddleware::new(provider, wallet.clone())); - let contract = AstriaMintableERC20::new(contract_address, signer.clone()); + let contract = AstriaBridgeableERC20::new(contract_address, signer.clone()); // mint some tokens to the wallet mint_tokens(&contract, 2_000_000_000.into(), wallet.address()).await; @@ -676,8 +676,8 @@ mod tests { assert_eq!(action, &expected_action); } - async fn send_ics20_withdraw_transaction_astria_mintable_erc20( - contract: &AstriaMintableERC20, + async fn send_ics20_withdraw_transaction_astria_bridgeable_erc20( + contract: &AstriaBridgeableERC20, value: U256, recipient: String, ) -> TransactionReceipt { @@ -700,22 +700,22 @@ mod tests { #[tokio::test] #[ignore = "requires foundry and solc to be installed"] - async fn watcher_can_watch_ics20_withdrawals_astria_mintable_erc20() { - let (contract_address, provider, wallet, anvil) = ConfigureAstriaMintableERC20Deployer { + async fn watcher_can_watch_ics20_withdrawals_astria_bridgeable_erc20() { + let (contract_address, provider, wallet, anvil) = ConfigureAstriaBridgeableERC20Deployer { base_chain_asset_precision: 18, ..Default::default() } .deploy() .await; let signer = Arc::new(SignerMiddleware::new(provider, wallet.clone())); - let contract = AstriaMintableERC20::new(contract_address, signer.clone()); + let contract = AstriaBridgeableERC20::new(contract_address, signer.clone()); // mint some tokens to the wallet mint_tokens(&contract, 2_000_000_000.into(), wallet.address()).await; let value = 1_000_000_000.into(); let recipient = "somebech32address".to_string(); - let receipt = send_ics20_withdraw_transaction_astria_mintable_erc20( + let receipt = send_ics20_withdraw_transaction_astria_bridgeable_erc20( &contract, value, recipient.clone(), @@ -754,7 +754,7 @@ mod tests { tokio::task::spawn(watcher.run()); // make another tx to trigger anvil to make another block - send_ics20_withdraw_transaction_astria_mintable_erc20(&contract, value, recipient).await; + send_ics20_withdraw_transaction_astria_bridgeable_erc20(&contract, value, recipient).await; let mut batch = event_rx.recv().await.unwrap(); assert_eq!(batch.actions.len(), 1); From 4a21ce95f6df8e5d4f61ee89e3a8d3c3e66dffd3 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Wed, 5 Jun 2024 18:28:30 -0400 Subject: [PATCH 21/22] remove solc from ci --- .github/workflows/test.yml | 7 ------- .../AstriaBridgeableERC20.sol/AstriaBridgeableERC20.json | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) create mode 100644 crates/astria-bridge-withdrawer/ethereum/out/AstriaBridgeableERC20.sol/AstriaBridgeableERC20.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7535c0c9bf..90cd246c91 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -133,18 +133,11 @@ jobs: with: version: "24.4" repo-token: ${{ secrets.GITHUB_TOKEN }} - - name: Install python and solc - uses: actions/setup-python@v5 - with: - python-version: '3.10' - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 - name: Run tests timeout-minutes: 20 run: | - pip install solc-select - solc-select install 0.8.21 - solc-select use 0.8.21 cargo nextest run --package astria-bridge-withdrawer -- --include-ignored doctest: diff --git a/crates/astria-bridge-withdrawer/ethereum/out/AstriaBridgeableERC20.sol/AstriaBridgeableERC20.json b/crates/astria-bridge-withdrawer/ethereum/out/AstriaBridgeableERC20.sol/AstriaBridgeableERC20.json new file mode 100644 index 0000000000..2281fe1dab --- /dev/null +++ b/crates/astria-bridge-withdrawer/ethereum/out/AstriaBridgeableERC20.sol/AstriaBridgeableERC20.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_bridge","type":"address","internalType":"address"},{"name":"_baseChainAssetPrecision","type":"uint32","internalType":"uint32"},{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"BASE_CHAIN_ASSET_PRECISION","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"BRIDGE","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawToIbcChain","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_destinationChainAddress","type":"string","internalType":"string"},{"name":"_memo","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawToSequencer","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_destinationChainAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Ics20Withdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"string","indexed":false,"internalType":"string"},{"name":"memo","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SequencerWithdrawal","inputs":[{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"destinationChainAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60e06040523480156200001157600080fd5b50604051620012623803806200126283398101604081905262000034916200021d565b8181600362000044838262000354565b50600462000053828262000354565b5050506000620000686200015360201b60201c565b90508060ff168463ffffffff161115620001145760405162461bcd60e51b815260206004820152605e60248201527f41737472696142726964676561626c6545524332303a2062617365206368616960448201527f6e20617373657420707265636973696f6e206d757374206265206c657373207460648201527f68616e206f7220657175616c20746f20746f6b656e20646563696d616c730000608482015260a40160405180910390fd5b63ffffffff84166080526200012d8460ff831662000436565b6200013a90600a6200055c565b60c052505050506001600160a01b031660a05262000577565b601290565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018057600080fd5b81516001600160401b03808211156200019d576200019d62000158565b604051601f8301601f19908116603f01168101908282118183101715620001c857620001c862000158565b81604052838152602092508683858801011115620001e557600080fd5b600091505b83821015620002095785820183015181830184015290820190620001ea565b600093810190920192909252949350505050565b600080600080608085870312156200023457600080fd5b84516001600160a01b03811681146200024c57600080fd5b602086015190945063ffffffff811681146200026757600080fd5b60408601519093506001600160401b03808211156200028557600080fd5b62000293888389016200016e565b93506060870151915080821115620002aa57600080fd5b50620002b9878288016200016e565b91505092959194509250565b600181811c90821680620002da57607f821691505b602082108103620002fb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034f57600081815260208120601f850160051c810160208610156200032a5750805b601f850160051c820191505b818110156200034b5782815560010162000336565b5050505b505050565b81516001600160401b0381111562000370576200037062000158565b6200038881620003818454620002c5565b8462000301565b602080601f831160018114620003c05760008415620003a75750858301515b600019600386901b1c1916600185901b1785556200034b565b600085815260208120601f198616915b82811015620003f157888601518255948401946001909101908401620003d0565b5085821015620004105787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b63ffffffff82811682821603908082111562000456576200045662000420565b5092915050565b600181815b808511156200049e57816000190482111562000482576200048262000420565b808516156200049057918102915b93841c939080029062000462565b509250929050565b600082620004b75750600162000556565b81620004c65750600062000556565b8160018114620004df5760028114620004ea576200050a565b600191505062000556565b60ff841115620004fe57620004fe62000420565b50506001821b62000556565b5060208310610133831016604e8410600b84101617156200052f575081810a62000556565b6200053b83836200045d565b806000190482111562000552576200055262000420565b0290505b92915050565b60006200057063ffffffff841683620004a6565b9392505050565b60805160a05160c051610cad620005b56000396000818161045101526104f501526000818161025d0152610372015260006101cd0152610cad6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610204578063a9059cbb1461020c578063dd62ed3e1461021f578063ee9a31a21461025857600080fd5b806370a082311461018c578063757e9874146101b55780637eb6dec7146101c857600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce5671461015557806340c10f19146101645780635fe56b091461017957600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f7610297565b60405161010491906108f5565b60405180910390f35b61012061011b36600461095f565b610329565b6040519015158152602001610104565b6002545b604051908152602001610104565b610120610150366004610989565b610343565b60405160128152602001610104565b61017761017236600461095f565b610367565b005b610177610187366004610a0e565b610449565b61013461019a366004610a88565b6001600160a01b031660009081526020819052604090205490565b6101776101c3366004610aaa565b6104ed565b6101ef7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610104565b6100f7610587565b61012061021a36600461095f565b610596565b61013461022d366004610ad6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61027f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610104565b6060600380546102a690610b00565b80601f01602080910402602001604051908101604052809291908181526020018280546102d290610b00565b801561031f5780601f106102f45761010080835404028352916020019161031f565b820191906000526020600020905b81548152906001019060200180831161030257829003601f168201915b5050505050905090565b6000336103378185856105a4565b60019150505b92915050565b6000336103518582856105b6565b61035c858585610634565b506001949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103f85760405162461bcd60e51b815260206004820152602b60248201527f41737472696142726964676561626c6545524332303a206f6e6c79206272696460448201526a19d94818d85b881b5a5b9d60aa1b60648201526084015b60405180910390fd5b6104028282610693565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161043d91815260200190565b60405180910390a25050565b8460006104767f000000000000000000000000000000000000000000000000000000000000000083610b3a565b116104935760405162461bcd60e51b81526004016103ef90610b5c565b61049d33876106cd565b85336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb878787876040516104dd9493929190610c24565b60405180910390a3505050505050565b81600061051a7f000000000000000000000000000000000000000000000000000000000000000083610b3a565b116105375760405162461bcd60e51b81526004016103ef90610b5c565b61054133846106cd565b6040516001600160a01b0383168152839033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e3906020015b60405180910390a3505050565b6060600480546102a690610b00565b600033610337818585610634565b6105b18383836001610703565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461062e578181101561061f57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103ef565b61062e84848484036000610703565b50505050565b6001600160a01b03831661065e57604051634b637e8f60e11b8152600060048201526024016103ef565b6001600160a01b0382166106885760405163ec442f0560e01b8152600060048201526024016103ef565b6105b18383836107d8565b6001600160a01b0382166106bd5760405163ec442f0560e01b8152600060048201526024016103ef565b6106c9600083836107d8565b5050565b6001600160a01b0382166106f757604051634b637e8f60e11b8152600060048201526024016103ef565b6106c9826000836107d8565b6001600160a01b03841661072d5760405163e602df0560e01b8152600060048201526024016103ef565b6001600160a01b03831661075757604051634a1406b160e11b8152600060048201526024016103ef565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561062e57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107ca91815260200190565b60405180910390a350505050565b6001600160a01b0383166108035780600260008282546107f89190610c56565b909155506108759050565b6001600160a01b038316600090815260208190526040902054818110156108565760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103ef565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610891576002805482900390556108b0565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161057a91815260200190565b600060208083528351808285015260005b8181101561092257858101830151858201604001528201610906565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095a57600080fd5b919050565b6000806040838503121561097257600080fd5b61097b83610943565b946020939093013593505050565b60008060006060848603121561099e57600080fd5b6109a784610943565b92506109b560208501610943565b9150604084013590509250925092565b60008083601f8401126109d757600080fd5b50813567ffffffffffffffff8111156109ef57600080fd5b602083019150836020828501011115610a0757600080fd5b9250929050565b600080600080600060608688031215610a2657600080fd5b85359450602086013567ffffffffffffffff80821115610a4557600080fd5b610a5189838a016109c5565b90965094506040880135915080821115610a6a57600080fd5b50610a77888289016109c5565b969995985093965092949392505050565b600060208284031215610a9a57600080fd5b610aa382610943565b9392505050565b60008060408385031215610abd57600080fd5b82359150610acd60208401610943565b90509250929050565b60008060408385031215610ae957600080fd5b610af283610943565b9150610acd60208401610943565b600181811c90821680610b1457607f821691505b602082108103610b3457634e487b7160e01b600052602260045260246000fd5b50919050565b600082610b5757634e487b7160e01b600052601260045260246000fd5b500490565b60208082526073908201527f41737472696142726964676561626c6545524332303a20696e7375666669636960408201527f656e742076616c75652c206d7573742062652067726561746572207468616e2060608201527f3130202a2a2028544f4b454e5f444543494d414c53202d20424153455f434841608082015272494e5f41535345545f505245434953494f4e2960681b60a082015260c00190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610c38604083018688610bfb565b8281036020840152610c4b818587610bfb565b979650505050505050565b8082018082111561033d57634e487b7160e01b600052601160045260246000fdfea2646970667358221220eb94aba74ed6a0814631b50af43b845dc4ae1c3067193283a3822e3fcce95edb64736f6c63430008150033","sourceMap":"214:2128:5:-:0;;;855:542;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1005:5;1012:7;1962:5:1;:13;1005:5:5;1962::1;:13;:::i;:::-;-1:-1:-1;1985:7:1;:17;1995:7;1985;:17;:::i;:::-;;1896:113;;1031:14:5::1;1048:10;:8;;;:10;;:::i;:::-;1031:27;;1099:8;1072:35;;:24;:35;;;1068:170;;;1123:104;::::0;-1:-1:-1;;;1123:104:5;;4682:2:7;1123:104:5::1;::::0;::::1;4664:21:7::0;4721:2;4701:18;;;4694:30;4760:34;4740:18;;;4733:62;4831:34;4811:18;;;4804:62;4903:32;4882:19;;;4875:61;4953:19;;1123:104:5::1;;;;;;;1068:170;1248:53;::::0;::::1;;::::0;1328:35:::1;1277:24:::0;1328:35:::1;::::0;::::1;;:::i;:::-;1321:43;::::0;:2:::1;:43;:::i;:::-;1311:53;::::0;-1:-1:-1;;;;;;;;;1374:16:5::1;;::::0;214:2128;;3002:82:1;3075:2;;3002:82::o;14:127:7:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:840;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:7;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:7;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;954:1;932:15;;;928:24;;;921:35;;;;936:6;146:840;-1:-1:-1;;;;146:840:7:o;991:895::-;1107:6;1115;1123;1131;1184:3;1172:9;1163:7;1159:23;1155:33;1152:53;;;1201:1;1198;1191:12;1152:53;1227:16;;-1:-1:-1;;;;;1272:31:7;;1262:42;;1252:70;;1318:1;1315;1308:12;1252:70;1391:2;1376:18;;1370:25;1341:5;;-1:-1:-1;1439:10:7;1426:24;;1414:37;;1404:65;;1465:1;1462;1455:12;1404:65;1539:2;1524:18;;1518:25;1488:7;;-1:-1:-1;;;;;;1592:14:7;;;1589:34;;;1619:1;1616;1609:12;1589:34;1642:61;1695:7;1686:6;1675:9;1671:22;1642:61;:::i;:::-;1632:71;;1749:2;1738:9;1734:18;1728:25;1712:41;;1778:2;1768:8;1765:16;1762:36;;;1794:1;1791;1784:12;1762:36;;1817:63;1872:7;1861:8;1850:9;1846:24;1817:63;:::i;:::-;1807:73;;;991:895;;;;;;;:::o;1891:380::-;1970:1;1966:12;;;;2013;;;2034:61;;2088:4;2080:6;2076:17;2066:27;;2034:61;2141:2;2133:6;2130:14;2110:18;2107:38;2104:161;;2187:10;2182:3;2178:20;2175:1;2168:31;2222:4;2219:1;2212:15;2250:4;2247:1;2240:15;2104:161;;1891:380;;;:::o;2402:545::-;2504:2;2499:3;2496:11;2493:448;;;2540:1;2565:5;2561:2;2554:17;2610:4;2606:2;2596:19;2680:2;2668:10;2664:19;2661:1;2657:27;2651:4;2647:38;2716:4;2704:10;2701:20;2698:47;;;-1:-1:-1;2739:4:7;2698:47;2794:2;2789:3;2785:12;2782:1;2778:20;2772:4;2768:31;2758:41;;2849:82;2867:2;2860:5;2857:13;2849:82;;;2912:17;;;2893:1;2882:13;2849:82;;;2853:3;;;2493:448;2402:545;;;:::o;3123:1352::-;3243:10;;-1:-1:-1;;;;;3265:30:7;;3262:56;;;3298:18;;:::i;:::-;3327:97;3417:6;3377:38;3409:4;3403:11;3377:38;:::i;:::-;3371:4;3327:97;:::i;:::-;3479:4;;3543:2;3532:14;;3560:1;3555:663;;;;4262:1;4279:6;4276:89;;;-1:-1:-1;4331:19:7;;;4325:26;4276:89;-1:-1:-1;;3080:1:7;3076:11;;;3072:24;3068:29;3058:40;3104:1;3100:11;;;3055:57;4378:81;;3525:944;;3555:663;2349:1;2342:14;;;2386:4;2373:18;;-1:-1:-1;;3591:20:7;;;3709:236;3723:7;3720:1;3717:14;3709:236;;;3812:19;;;3806:26;3791:42;;3904:27;;;;3872:1;3860:14;;;;3739:19;;3709:236;;;3713:3;3973:6;3964:7;3961:19;3958:201;;;4034:19;;;4028:26;-1:-1:-1;;4117:1:7;4113:14;;;4129:3;4109:24;4105:37;4101:42;4086:58;4071:74;;3958:201;-1:-1:-1;;;;;4205:1:7;4189:14;;;4185:22;4172:36;;-1:-1:-1;3123:1352:7:o;4983:127::-;5044:10;5039:3;5035:20;5032:1;5025:31;5075:4;5072:1;5065:15;5099:4;5096:1;5089:15;5115:175;5183:10;5226;;;5214;;;5210:27;;5249:12;;;5246:38;;;5264:18;;:::i;:::-;5246:38;5115:175;;;;:::o;5295:422::-;5384:1;5427:5;5384:1;5441:270;5462:7;5452:8;5449:21;5441:270;;;5521:4;5517:1;5513:6;5509:17;5503:4;5500:27;5497:53;;;5530:18;;:::i;:::-;5580:7;5570:8;5566:22;5563:55;;;5600:16;;;;5563:55;5679:22;;;;5639:15;;;;5441:270;;;5445:3;5295:422;;;;;:::o;5722:806::-;5771:5;5801:8;5791:80;;-1:-1:-1;5842:1:7;5856:5;;5791:80;5890:4;5880:76;;-1:-1:-1;5927:1:7;5941:5;;5880:76;5972:4;5990:1;5985:59;;;;6058:1;6053:130;;;;5965:218;;5985:59;6015:1;6006:10;;6029:5;;;6053:130;6090:3;6080:8;6077:17;6074:43;;;6097:18;;:::i;:::-;-1:-1:-1;;6153:1:7;6139:16;;6168:5;;5965:218;;6267:2;6257:8;6254:16;6248:3;6242:4;6239:13;6235:36;6229:2;6219:8;6216:16;6211:2;6205:4;6202:12;6198:35;6195:77;6192:159;;;-1:-1:-1;6304:19:7;;;6336:5;;6192:159;6383:34;6408:8;6402:4;6383:34;:::i;:::-;6453:6;6449:1;6445:6;6441:19;6432:7;6429:32;6426:58;;;6464:18;;:::i;:::-;6502:20;;-1:-1:-1;5722:806:7;;;;;:::o;6533:147::-;6592:5;6621:53;6662:10;6652:8;6648:25;6642:4;6621:53;:::i;:::-;6612:62;6533:147;-1:-1:-1;;;6533:147:7:o;:::-;214:2128:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c57806395d89b411161006657806395d89b4114610204578063a9059cbb1461020c578063dd62ed3e1461021f578063ee9a31a21461025857600080fd5b806370a082311461018c578063757e9874146101b55780637eb6dec7146101c857600080fd5b806323b872dd116100c857806323b872dd14610142578063313ce5671461015557806340c10f19146101645780635fe56b091461017957600080fd5b806306fdde03146100ef578063095ea7b31461010d57806318160ddd14610130575b600080fd5b6100f7610297565b60405161010491906108f5565b60405180910390f35b61012061011b36600461095f565b610329565b6040519015158152602001610104565b6002545b604051908152602001610104565b610120610150366004610989565b610343565b60405160128152602001610104565b61017761017236600461095f565b610367565b005b610177610187366004610a0e565b610449565b61013461019a366004610a88565b6001600160a01b031660009081526020819052604090205490565b6101776101c3366004610aaa565b6104ed565b6101ef7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610104565b6100f7610587565b61012061021a36600461095f565b610596565b61013461022d366004610ad6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61027f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610104565b6060600380546102a690610b00565b80601f01602080910402602001604051908101604052809291908181526020018280546102d290610b00565b801561031f5780601f106102f45761010080835404028352916020019161031f565b820191906000526020600020905b81548152906001019060200180831161030257829003601f168201915b5050505050905090565b6000336103378185856105a4565b60019150505b92915050565b6000336103518582856105b6565b61035c858585610634565b506001949350505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103f85760405162461bcd60e51b815260206004820152602b60248201527f41737472696142726964676561626c6545524332303a206f6e6c79206272696460448201526a19d94818d85b881b5a5b9d60aa1b60648201526084015b60405180910390fd5b6104028282610693565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405161043d91815260200190565b60405180910390a25050565b8460006104767f000000000000000000000000000000000000000000000000000000000000000083610b3a565b116104935760405162461bcd60e51b81526004016103ef90610b5c565b61049d33876106cd565b85336001600160a01b03167f0c64e29a5254a71c7f4e52b3d2d236348c80e00a00ba2e1961962bd2827c03fb878787876040516104dd9493929190610c24565b60405180910390a3505050505050565b81600061051a7f000000000000000000000000000000000000000000000000000000000000000083610b3a565b116105375760405162461bcd60e51b81526004016103ef90610b5c565b61054133846106cd565b6040516001600160a01b0383168152839033907fae8e66664d108544509c9a5b6a9f33c3b5fef3f88e5d3fa680706a6feb1360e3906020015b60405180910390a3505050565b6060600480546102a690610b00565b600033610337818585610634565b6105b18383836001610703565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461062e578181101561061f57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016103ef565b61062e84848484036000610703565b50505050565b6001600160a01b03831661065e57604051634b637e8f60e11b8152600060048201526024016103ef565b6001600160a01b0382166106885760405163ec442f0560e01b8152600060048201526024016103ef565b6105b18383836107d8565b6001600160a01b0382166106bd5760405163ec442f0560e01b8152600060048201526024016103ef565b6106c9600083836107d8565b5050565b6001600160a01b0382166106f757604051634b637e8f60e11b8152600060048201526024016103ef565b6106c9826000836107d8565b6001600160a01b03841661072d5760405163e602df0560e01b8152600060048201526024016103ef565b6001600160a01b03831661075757604051634a1406b160e11b8152600060048201526024016103ef565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561062e57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107ca91815260200190565b60405180910390a350505050565b6001600160a01b0383166108035780600260008282546107f89190610c56565b909155506108759050565b6001600160a01b038316600090815260208190526040902054818110156108565760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103ef565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610891576002805482900390556108b0565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161057a91815260200190565b600060208083528351808285015260005b8181101561092257858101830151858201604001528201610906565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095a57600080fd5b919050565b6000806040838503121561097257600080fd5b61097b83610943565b946020939093013593505050565b60008060006060848603121561099e57600080fd5b6109a784610943565b92506109b560208501610943565b9150604084013590509250925092565b60008083601f8401126109d757600080fd5b50813567ffffffffffffffff8111156109ef57600080fd5b602083019150836020828501011115610a0757600080fd5b9250929050565b600080600080600060608688031215610a2657600080fd5b85359450602086013567ffffffffffffffff80821115610a4557600080fd5b610a5189838a016109c5565b90965094506040880135915080821115610a6a57600080fd5b50610a77888289016109c5565b969995985093965092949392505050565b600060208284031215610a9a57600080fd5b610aa382610943565b9392505050565b60008060408385031215610abd57600080fd5b82359150610acd60208401610943565b90509250929050565b60008060408385031215610ae957600080fd5b610af283610943565b9150610acd60208401610943565b600181811c90821680610b1457607f821691505b602082108103610b3457634e487b7160e01b600052602260045260246000fd5b50919050565b600082610b5757634e487b7160e01b600052601260045260246000fd5b500490565b60208082526073908201527f41737472696142726964676561626c6545524332303a20696e7375666669636960408201527f656e742076616c75652c206d7573742062652067726561746572207468616e2060608201527f3130202a2a2028544f4b454e5f444543494d414c53202d20424153455f434841608082015272494e5f41535345545f505245434953494f4e2960681b60a082015260c00190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000610c38604083018688610bfb565b8281036020840152610c4b818587610bfb565b979650505050505050565b8082018082111561033d57634e487b7160e01b600052601160045260246000fdfea2646970667358221220eb94aba74ed6a0814631b50af43b845dc4ae1c3067193283a3822e3fcce95edb64736f6c63430008150033","sourceMap":"214:2128:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89:1;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4293:186;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:7;;1162:22;1144:41;;1132:2;1117:18;4293:186:1;1004:187:7;3144:97:1;3222:12;;3144:97;;;1342:25:7;;;1330:2;1315:18;3144:97:1;1196:177:7;5039:244:1;;;;;;:::i;:::-;;:::i;3002:82::-;;;3075:2;1853:36:7;;1841:2;1826:18;3002:82:1;1711:184:7;1626:153:5;;;;;;:::i;:::-;;:::i;:::-;;2049:291;;;;;;:::i;:::-;;:::i;3299:116:1:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3390:18:1;3364:7;3390:18;;;;;;;;;;;;3299:116;1785:258:5;;;;;;:::i;:::-;;:::i;375:50:6:-;;;;;;;;3671:10:7;3659:23;;;3641:42;;3629:2;3614:18;375:50:6;3497:192:7;2276:93:1;;;:::i;3610:178::-;;;;;;:::i;:::-;;:::i;3846:140::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3952:18:1;;;3926:7;3952:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3846:140;350:31:5;;;;;;;;-1:-1:-1;;;;;4123:32:7;;;4105:51;;4093:2;4078:18;350:31:5;3959:203:7;2074:89:1;2119:13;2151:5;2144:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89;:::o;4293:186::-;4366:4;735:10:4;4420:31:1;735:10:4;4436:7:1;4445:5;4420:8;:31::i;:::-;4468:4;4461:11;;;4293:186;;;;;:::o;5039:244::-;5126:4;735:10:4;5182:37:1;5198:4;735:10:4;5213:5:1;5182:15;:37::i;:::-;5229:26;5239:4;5245:2;5249:5;5229:9;:26::i;:::-;-1:-1:-1;5272:4:1;;5039:244;-1:-1:-1;;;;5039:244:1:o;1626:153:5:-;763:10;-1:-1:-1;;;;;777:6:5;763:20;;755:76;;;;-1:-1:-1;;;755:76:5;;4754:2:7;755:76:5;;;4736:21:7;4793:2;4773:18;;;4766:30;4832:34;4812:18;;;4805:62;-1:-1:-1;;;4883:18:7;;;4876:41;4934:19;;755:76:5;;;;;;;;;1720:19:::1;1726:3;1731:7;1720:5;:19::i;:::-;1759:3;-1:-1:-1::0;;;;;1754:18:5::1;;1764:7;1754:18;;;;1342:25:7::0;;1330:2;1315:18;;1196:177;1754:18:5::1;;;;;;;;1626:153:::0;;:::o;2049:291::-;2200:7;1481:1;1462:16;1471:7;2200;1462:16;:::i;:::-;:20;1454:148;;;;-1:-1:-1;;;1454:148:5;;;;;;;:::i;:::-;2223:26:::1;2229:10;2241:7;2223:5;:26::i;:::-;2292:7;2280:10;-1:-1:-1::0;;;;;2264:69:5::1;;2301:24;;2327:5;;2264:69;;;;;;;;;:::i;:::-;;;;;;;;2049:291:::0;;;;;;:::o;1785:258::-;1906:7;1481:1;1462:16;1471:7;1906;1462:16;:::i;:::-;:20;1454:148;;;;-1:-1:-1;;;1454:148:5;;;;;;;:::i;:::-;1929:26:::1;1935:10;1947:7;1929:5;:26::i;:::-;1970:66;::::0;-1:-1:-1;;;;;4123:32:7;;4105:51;;2002:7:5;;1990:10:::1;::::0;1970:66:::1;::::0;4093:2:7;4078:18;1970:66:5::1;;;;;;;;1785:258:::0;;;:::o;2276:93:1:-;2323:13;2355:7;2348:14;;;;;:::i;3610:178::-;3679:4;735:10:4;3733:27:1;735:10:4;3750:2:1;3754:5;3733:9;:27::i;8989:128::-;9073:37;9082:5;9089:7;9098:5;9105:4;9073:8;:37::i;:::-;8989:128;;;:::o;10663:477::-;-1:-1:-1;;;;;3952:18:1;;;10762:24;3952:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;10828:37:1;;10824:310;;10904:5;10885:16;:24;10881:130;;;10936:60;;-1:-1:-1;;;10936:60:1;;-1:-1:-1;;;;;6685:32:7;;10936:60:1;;;6667:51:7;6734:18;;;6727:34;;;6777:18;;;6770:34;;;6640:18;;10936:60:1;6465:345:7;10881:130:1;11052:57;11061:5;11068:7;11096:5;11077:16;:24;11103:5;11052:8;:57::i;:::-;10752:388;10663:477;;;:::o;5656:300::-;-1:-1:-1;;;;;5739:18:1;;5735:86;;5780:30;;-1:-1:-1;;;5780:30:1;;5807:1;5780:30;;;4105:51:7;4078:18;;5780:30:1;3959:203:7;5735:86:1;-1:-1:-1;;;;;5834:16:1;;5830:86;;5873:32;;-1:-1:-1;;;5873:32:1;;5902:1;5873:32;;;4105:51:7;4078:18;;5873:32:1;3959:203:7;5830:86:1;5925:24;5933:4;5939:2;5943:5;5925:7;:24::i;7721:208::-;-1:-1:-1;;;;;7791:21:1;;7787:91;;7835:32;;-1:-1:-1;;;7835:32:1;;7864:1;7835:32;;;4105:51:7;4078:18;;7835:32:1;3959:203:7;7787:91:1;7887:35;7903:1;7907:7;7916:5;7887:7;:35::i;:::-;7721:208;;:::o;8247:206::-;-1:-1:-1;;;;;8317:21:1;;8313:89;;8361:30;;-1:-1:-1;;;8361:30:1;;8388:1;8361:30;;;4105:51:7;4078:18;;8361:30:1;3959:203:7;8313:89:1;8411:35;8419:7;8436:1;8440:5;8411:7;:35::i;9949:432::-;-1:-1:-1;;;;;10061:19:1;;10057:89;;10103:32;;-1:-1:-1;;;10103:32:1;;10132:1;10103:32;;;4105:51:7;4078:18;;10103:32:1;3959:203:7;10057:89:1;-1:-1:-1;;;;;10159:21:1;;10155:90;;10203:31;;-1:-1:-1;;;10203:31:1;;10231:1;10203:31;;;4105:51:7;4078:18;;10203:31:1;3959:203:7;10155:90:1;-1:-1:-1;;;;;10254:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;10299:76;;;;10349:7;-1:-1:-1;;;;;10333:31:1;10342:5;-1:-1:-1;;;;;10333:31:1;;10358:5;10333:31;;;;1342:25:7;;1330:2;1315:18;;1196:177;10333:31:1;;;;;;;;9949:432;;;;:::o;6271:1107::-;-1:-1:-1;;;;;6360:18:1;;6356:540;;6512:5;6496:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;6356:540:1;;-1:-1:-1;6356:540:1;;-1:-1:-1;;;;;6570:15:1;;6548:19;6570:15;;;;;;;;;;;6603:19;;;6599:115;;;6649:50;;-1:-1:-1;;;6649:50:1;;-1:-1:-1;;;;;6685:32:7;;6649:50:1;;;6667:51:7;6734:18;;;6727:34;;;6777:18;;;6770:34;;;6640:18;;6649:50:1;6465:345:7;6599:115:1;-1:-1:-1;;;;;6834:15:1;;:9;:15;;;;;;;;;;6852:19;;;;6834:37;;6356:540;-1:-1:-1;;;;;6910:16:1;;6906:425;;7073:12;:21;;;;;;;6906:425;;;-1:-1:-1;;;;;7284:13:1;;:9;:13;;;;;;;;;;:22;;;;;;6906:425;7361:2;-1:-1:-1;;;;;7346:25:1;7355:4;-1:-1:-1;;;;;7346:25:1;;7365:5;7346:25;;;;1342::7;;1330:2;1315:18;;1196:177;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:7;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:7:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:348::-;1952:8;1962:6;2016:3;2009:4;2001:6;1997:17;1993:27;1983:55;;2034:1;2031;2024:12;1983:55;-1:-1:-1;2057:20:7;;2100:18;2089:30;;2086:50;;;2132:1;2129;2122:12;2086:50;2169:4;2161:6;2157:17;2145:29;;2221:3;2214:4;2205:6;2197;2193:19;2189:30;2186:39;2183:59;;;2238:1;2235;2228:12;2183:59;1900:348;;;;;:::o;2253:789::-;2354:6;2362;2370;2378;2386;2439:2;2427:9;2418:7;2414:23;2410:32;2407:52;;;2455:1;2452;2445:12;2407:52;2491:9;2478:23;2468:33;;2552:2;2541:9;2537:18;2524:32;2575:18;2616:2;2608:6;2605:14;2602:34;;;2632:1;2629;2622:12;2602:34;2671:59;2722:7;2713:6;2702:9;2698:22;2671:59;:::i;:::-;2749:8;;-1:-1:-1;2645:85:7;-1:-1:-1;2837:2:7;2822:18;;2809:32;;-1:-1:-1;2853:16:7;;;2850:36;;;2882:1;2879;2872:12;2850:36;;2921:61;2974:7;2963:8;2952:9;2948:24;2921:61;:::i;:::-;2253:789;;;;-1:-1:-1;2253:789:7;;-1:-1:-1;3001:8:7;;2895:87;2253:789;-1:-1:-1;;;2253:789:7:o;3047:186::-;3106:6;3159:2;3147:9;3138:7;3134:23;3130:32;3127:52;;;3175:1;3172;3165:12;3127:52;3198:29;3217:9;3198:29;:::i;:::-;3188:39;3047:186;-1:-1:-1;;;3047:186:7:o;3238:254::-;3306:6;3314;3367:2;3355:9;3346:7;3342:23;3338:32;3335:52;;;3383:1;3380;3373:12;3335:52;3419:9;3406:23;3396:33;;3448:38;3482:2;3471:9;3467:18;3448:38;:::i;:::-;3438:48;;3238:254;;;;;:::o;3694:260::-;3762:6;3770;3823:2;3811:9;3802:7;3798:23;3794:32;3791:52;;;3839:1;3836;3829:12;3791:52;3862:29;3881:9;3862:29;:::i;:::-;3852:39;;3910:38;3944:2;3933:9;3929:18;3910:38;:::i;4167:380::-;4246:1;4242:12;;;;4289;;;4310:61;;4364:4;4356:6;4352:17;4342:27;;4310:61;4417:2;4409:6;4406:14;4386:18;4383:38;4380:161;;4463:10;4458:3;4454:20;4451:1;4444:31;4498:4;4495:1;4488:15;4526:4;4523:1;4516:15;4380:161;;4167:380;;;:::o;4964:217::-;5004:1;5030;5020:132;;5074:10;5069:3;5065:20;5062:1;5055:31;5109:4;5106:1;5099:15;5137:4;5134:1;5127:15;5020:132;-1:-1:-1;5166:9:7;;4964:217::o;5186:560::-;5388:2;5370:21;;;5427:3;5407:18;;;5400:31;5467:34;5462:2;5447:18;;5440:62;5538:34;5533:2;5518:18;;5511:62;5610:34;5604:3;5589:19;;5582:63;-1:-1:-1;;;5676:3:7;5661:19;;5654:50;5736:3;5721:19;;5186:560::o;5751:267::-;5840:6;5835:3;5828:19;5892:6;5885:5;5878:4;5873:3;5869:14;5856:43;-1:-1:-1;5944:1:7;5919:16;;;5937:4;5915:27;;;5908:38;;;;6000:2;5979:15;;;-1:-1:-1;;5975:29:7;5966:39;;;5962:50;;5751:267::o;6023:437::-;6240:2;6229:9;6222:21;6203:4;6266:62;6324:2;6313:9;6309:18;6301:6;6293;6266:62;:::i;:::-;6376:9;6368:6;6364:22;6359:2;6348:9;6344:18;6337:50;6404;6447:6;6439;6431;6404:50;:::i;:::-;6396:58;6023:437;-1:-1:-1;;;;;;;6023:437:7:o;6815:222::-;6880:9;;;6901:10;;;6898:133;;;6953:10;6948:3;6944:20;6941:1;6934:31;6988:4;6985:1;6978:15;7016:4;7013:1;7006:15","linkReferences":{},"immutableReferences":{"797":[{"start":605,"length":32},{"start":882,"length":32}],"799":[{"start":1105,"length":32},{"start":1269,"length":32}],"955":[{"start":461,"length":32}]}},"methodIdentifiers":{"BASE_CHAIN_ASSET_PRECISION()":"7eb6dec7","BRIDGE()":"ee9a31a2","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdrawToIbcChain(uint256,string,string)":"5fe56b09","withdrawToSequencer(uint256,address)":"757e9874"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_bridge\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"_baseChainAssetPrecision\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"destinationChainAddress\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"Ics20Withdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destinationChainAddress\",\"type\":\"address\"}],\"name\":\"SequencerWithdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_CHAIN_ASSET_PRECISION\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"BRIDGE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_destinationChainAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_memo\",\"type\":\"string\"}],\"name\":\"withdrawToIbcChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_destinationChainAddress\",\"type\":\"address\"}],\"name\":\"withdrawToSequencer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/AstriaBridgeableERC20.sol\":\"AstriaBridgeableERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229\",\"dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"src/AstriaBridgeableERC20.sol\":{\"keccak256\":\"0xb14e27d808b77cabe7cd43c98df09b613605dd02058dd6186275f4c019d33a97\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://bb7f0732e471bc3aa9c3fea9cd0fc1e6cbfd76fba4503c87b618d442824138cf\",\"dweb:/ipfs/QmcVveF7yQW82cjgXPirDSCSjSMMqu63uEZqE2L8393aQv\"]},\"src/IAstriaWithdrawer.sol\":{\"keccak256\":\"0x295686ee47b1773604ef7950e11414255138b729d51b9083418c3f33f54915e3\",\"license\":\"MIT or Apache-2.0\",\"urls\":[\"bzz-raw://70246fa4531669128896bc1da40e16c0ab991cc6afb7bbb1ec1804c278cc3b9b\",\"dweb:/ipfs/QmaxsmxN9PnBhizMeE3rKhWAnTkKgamPcXvUNsjb5Ed4Cb\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"uint32","name":"_baseChainAssetPrecision","type":"uint32"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"string","name":"destinationChainAddress","type":"string","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false}],"type":"event","name":"Ics20Withdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":true},{"internalType":"address","name":"destinationChainAddress","type":"address","indexed":false}],"type":"event","name":"SequencerWithdrawal","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_CHAIN_ASSET_PRECISION","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"BRIDGE","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"string","name":"_destinationChainAddress","type":"string"},{"internalType":"string","name":"_memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"withdrawToIbcChain"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_destinationChainAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawToSequencer"}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/AstriaBridgeableERC20.sol":"AstriaBridgeableERC20"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80","urls":["bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229","dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"src/AstriaBridgeableERC20.sol":{"keccak256":"0xb14e27d808b77cabe7cd43c98df09b613605dd02058dd6186275f4c019d33a97","urls":["bzz-raw://bb7f0732e471bc3aa9c3fea9cd0fc1e6cbfd76fba4503c87b618d442824138cf","dweb:/ipfs/QmcVveF7yQW82cjgXPirDSCSjSMMqu63uEZqE2L8393aQv"],"license":"MIT or Apache-2.0"},"src/IAstriaWithdrawer.sol":{"keccak256":"0x295686ee47b1773604ef7950e11414255138b729d51b9083418c3f33f54915e3","urls":["bzz-raw://70246fa4531669128896bc1da40e16c0ab991cc6afb7bbb1ec1804c278cc3b9b","dweb:/ipfs/QmaxsmxN9PnBhizMeE3rKhWAnTkKgamPcXvUNsjb5Ed4Cb"],"license":"MIT or Apache-2.0"}},"version":1},"ast":{"absolutePath":"src/AstriaBridgeableERC20.sol","id":952,"exportedSymbols":{"AstriaBridgeableERC20":[951],"ERC20":[651],"IAstriaWithdrawer":[974]},"nodeType":"SourceUnit","src":"46:2297:5","nodes":[{"id":787,"nodeType":"PragmaDirective","src":"46:24:5","nodes":[],"literals":["solidity","^","0.8",".21"]},{"id":789,"nodeType":"ImportDirective","src":"72:58:5","nodes":[],"absolutePath":"src/IAstriaWithdrawer.sol","file":"./IAstriaWithdrawer.sol","nameLocation":"-1:-1:-1","scope":952,"sourceUnit":975,"symbolAliases":[{"foreign":{"id":788,"name":"IAstriaWithdrawer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":974,"src":"80:17:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":791,"nodeType":"ImportDirective","src":"131:81:5","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","file":"lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":952,"sourceUnit":652,"symbolAliases":[{"foreign":{"id":790,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":651,"src":"139:5:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":951,"nodeType":"ContractDefinition","src":"214:2128:5","nodes":[{"id":797,"nodeType":"VariableDeclaration","src":"350:31:5","nodes":[],"constant":false,"functionSelector":"ee9a31a2","mutability":"immutable","name":"BRIDGE","nameLocation":"375:6:5","scope":951,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":796,"name":"address","nodeType":"ElementaryTypeName","src":"350:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":799,"nodeType":"VariableDeclaration","src":"572:33:5","nodes":[],"constant":false,"mutability":"immutable","name":"DIVISOR","nameLocation":"598:7:5","scope":951,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":798,"name":"uint256","nodeType":"ElementaryTypeName","src":"572:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":805,"nodeType":"EventDefinition","src":"665:52:5","nodes":[],"anonymous":false,"eventSelector":"0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885","name":"Mint","nameLocation":"671:4:5","parameters":{"id":804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":801,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"692:7:5","nodeType":"VariableDeclaration","scope":805,"src":"676:23:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":800,"name":"address","nodeType":"ElementaryTypeName","src":"676:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":803,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"709:6:5","nodeType":"VariableDeclaration","scope":805,"src":"701:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":802,"name":"uint256","nodeType":"ElementaryTypeName","src":"701:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"675:41:5"}},{"id":817,"nodeType":"ModifierDefinition","src":"723:126:5","nodes":[],"body":{"id":816,"nodeType":"Block","src":"745:104:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":808,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"763:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"767:6:5","memberName":"sender","nodeType":"MemberAccess","src":"763:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":810,"name":"BRIDGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":797,"src":"777:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"763:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"41737472696142726964676561626c6545524332303a206f6e6c79206272696467652063616e206d696e74","id":812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"785:45:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b9146552dde8fc6a59af17b746f82c14750e632315943ad876e6b22dfde9fb5","typeString":"literal_string \"AstriaBridgeableERC20: only bridge can mint\""},"value":"AstriaBridgeableERC20: only bridge can mint"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2b9146552dde8fc6a59af17b746f82c14750e632315943ad876e6b22dfde9fb5","typeString":"literal_string \"AstriaBridgeableERC20: only bridge can mint\""}],"id":807,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"755:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"755:76:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":814,"nodeType":"ExpressionStatement","src":"755:76:5"},{"id":815,"nodeType":"PlaceholderStatement","src":"841:1:5"}]},"name":"onlyBridge","nameLocation":"732:10:5","parameters":{"id":806,"nodeType":"ParameterList","parameters":[],"src":"742:2:5"},"virtual":false,"visibility":"internal"},{"id":864,"nodeType":"FunctionDefinition","src":"855:542:5","nodes":[],"body":{"id":863,"nodeType":"Block","src":"1021:376:5","nodes":[],"statements":[{"assignments":[833],"declarations":[{"constant":false,"id":833,"mutability":"mutable","name":"decimals","nameLocation":"1037:8:5","nodeType":"VariableDeclaration","scope":863,"src":"1031:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":832,"name":"uint8","nodeType":"ElementaryTypeName","src":"1031:5:5","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":836,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":834,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":215,"src":"1048:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint8_$","typeString":"function () view returns (uint8)"}},"id":835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1048:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"1031:27:5"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":837,"name":"_baseChainAssetPrecision","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"src":"1072:24:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":838,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":833,"src":"1099:8:5","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1072:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":845,"nodeType":"IfStatement","src":"1068:170:5","trueBody":{"id":844,"nodeType":"Block","src":"1109:129:5","statements":[{"expression":{"arguments":[{"hexValue":"41737472696142726964676561626c6545524332303a206261736520636861696e20617373657420707265636973696f6e206d757374206265206c657373207468616e206f7220657175616c20746f20746f6b656e20646563696d616c73","id":841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1130:96:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a6e66fc0c429e43ef50fa4d54d0412fe7db0b91983a6b3ea3fc331a5e2e65ca","typeString":"literal_string \"AstriaBridgeableERC20: base chain asset precision must be less than or equal to token decimals\""},"value":"AstriaBridgeableERC20: base chain asset precision must be less than or equal to token decimals"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a6e66fc0c429e43ef50fa4d54d0412fe7db0b91983a6b3ea3fc331a5e2e65ca","typeString":"literal_string \"AstriaBridgeableERC20: base chain asset precision must be less than or equal to token decimals\""}],"id":840,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1123:6:5","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1123:104:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":843,"nodeType":"ExpressionStatement","src":"1123:104:5"}]}},{"expression":{"id":848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":846,"name":"BASE_CHAIN_ASSET_PRECISION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"1248:26:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":847,"name":"_baseChainAssetPrecision","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"src":"1277:24:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1248:53:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":849,"nodeType":"ExpressionStatement","src":"1248:53:5"},{"expression":{"id":857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":850,"name":"DIVISOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":799,"src":"1311:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:2:5","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":852,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":833,"src":"1328:8:5","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":853,"name":"_baseChainAssetPrecision","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"src":"1339:24:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1328:35:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"id":855,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1327:37:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"1321:43:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1311:53:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":858,"nodeType":"ExpressionStatement","src":"1311:53:5"},{"expression":{"id":861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":859,"name":"BRIDGE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":797,"src":"1374:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":860,"name":"_bridge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":819,"src":"1383:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1374:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":862,"nodeType":"ExpressionStatement","src":"1374:16:5"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":828,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":823,"src":"1005:5:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":829,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":825,"src":"1012:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":830,"kind":"baseConstructorSpecifier","modifierName":{"id":827,"name":"ERC20","nameLocations":["999:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"999:5:5"},"nodeType":"ModifierInvocation","src":"999:21:5"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":819,"mutability":"mutable","name":"_bridge","nameLocation":"884:7:5","nodeType":"VariableDeclaration","scope":864,"src":"876:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":818,"name":"address","nodeType":"ElementaryTypeName","src":"876:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":821,"mutability":"mutable","name":"_baseChainAssetPrecision","nameLocation":"908:24:5","nodeType":"VariableDeclaration","scope":864,"src":"901:31:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":820,"name":"uint32","nodeType":"ElementaryTypeName","src":"901:6:5","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":823,"mutability":"mutable","name":"_name","nameLocation":"956:5:5","nodeType":"VariableDeclaration","scope":864,"src":"942:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":822,"name":"string","nodeType":"ElementaryTypeName","src":"942:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":825,"mutability":"mutable","name":"_symbol","nameLocation":"985:7:5","nodeType":"VariableDeclaration","scope":864,"src":"971:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":824,"name":"string","nodeType":"ElementaryTypeName","src":"971:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"866:132:5"},"returnParameters":{"id":831,"nodeType":"ParameterList","parameters":[],"src":"1021:0:5"},"scope":951,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":879,"nodeType":"ModifierDefinition","src":"1403:217:5","nodes":[],"body":{"id":878,"nodeType":"Block","src":"1444:176:5","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":869,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":866,"src":"1462:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":870,"name":"DIVISOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":799,"src":"1471:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1462:16:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1481:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1462:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"41737472696142726964676561626c6545524332303a20696e73756666696369656e742076616c75652c206d7573742062652067726561746572207468616e203130202a2a2028544f4b454e5f444543494d414c53202d20424153455f434841494e5f41535345545f505245434953494f4e29","id":874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1484:117:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_0a1fafcfe2814b9edaab69864f15ff933f223c5f8d9a056856d6cd9787c99eba","typeString":"literal_string \"AstriaBridgeableERC20: insufficient value, must be greater than 10 ** (TOKEN_DECIMALS - BASE_CHAIN_ASSET_PRECISION)\""},"value":"AstriaBridgeableERC20: insufficient value, must be greater than 10 ** (TOKEN_DECIMALS - BASE_CHAIN_ASSET_PRECISION)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0a1fafcfe2814b9edaab69864f15ff933f223c5f8d9a056856d6cd9787c99eba","typeString":"literal_string \"AstriaBridgeableERC20: insufficient value, must be greater than 10 ** (TOKEN_DECIMALS - BASE_CHAIN_ASSET_PRECISION)\""}],"id":868,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1454:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1454:148:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":876,"nodeType":"ExpressionStatement","src":"1454:148:5"},{"id":877,"nodeType":"PlaceholderStatement","src":"1612:1:5"}]},"name":"sufficientValue","nameLocation":"1412:15:5","parameters":{"id":867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":866,"mutability":"mutable","name":"amount","nameLocation":"1436:6:5","nodeType":"VariableDeclaration","scope":879,"src":"1428:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":865,"name":"uint256","nodeType":"ElementaryTypeName","src":"1428:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1427:16:5"},"virtual":false,"visibility":"internal"},{"id":899,"nodeType":"FunctionDefinition","src":"1626:153:5","nodes":[],"body":{"id":898,"nodeType":"Block","src":"1710:69:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":889,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":881,"src":"1726:3:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":890,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"1731:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":888,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":491,"src":"1720:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1720:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":892,"nodeType":"ExpressionStatement","src":"1720:19:5"},{"eventCall":{"arguments":[{"id":894,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":881,"src":"1759:3:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":895,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"1764:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":893,"name":"Mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":805,"src":"1754:4:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1754:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":897,"nodeType":"EmitStatement","src":"1749:23:5"}]},"functionSelector":"40c10f19","implemented":true,"kind":"function","modifiers":[{"id":886,"kind":"modifierInvocation","modifierName":{"id":885,"name":"onlyBridge","nameLocations":["1695:10:5"],"nodeType":"IdentifierPath","referencedDeclaration":817,"src":"1695:10:5"},"nodeType":"ModifierInvocation","src":"1695:10:5"}],"name":"mint","nameLocation":"1635:4:5","parameters":{"id":884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":881,"mutability":"mutable","name":"_to","nameLocation":"1648:3:5","nodeType":"VariableDeclaration","scope":899,"src":"1640:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":880,"name":"address","nodeType":"ElementaryTypeName","src":"1640:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":883,"mutability":"mutable","name":"_amount","nameLocation":"1661:7:5","nodeType":"VariableDeclaration","scope":899,"src":"1653:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":882,"name":"uint256","nodeType":"ElementaryTypeName","src":"1653:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1639:30:5"},"returnParameters":{"id":887,"nodeType":"ParameterList","parameters":[],"src":"1710:0:5"},"scope":951,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":923,"nodeType":"FunctionDefinition","src":"1785:258:5","nodes":[],"body":{"id":922,"nodeType":"Block","src":"1919:124:5","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":910,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1935:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1939:6:5","memberName":"sender","nodeType":"MemberAccess","src":"1935:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":912,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"1947:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":909,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":524,"src":"1929:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1929:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":914,"nodeType":"ExpressionStatement","src":"1929:26:5"},{"eventCall":{"arguments":[{"expression":{"id":916,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1990:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1994:6:5","memberName":"sender","nodeType":"MemberAccess","src":"1990:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":918,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"2002:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":919,"name":"_destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":903,"src":"2011:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":915,"name":"SequencerWithdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":963,"src":"1970:19:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1970:66:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":921,"nodeType":"EmitStatement","src":"1965:71:5"}]},"functionSelector":"757e9874","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":906,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":901,"src":"1906:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":907,"kind":"modifierInvocation","modifierName":{"id":905,"name":"sufficientValue","nameLocations":["1890:15:5"],"nodeType":"IdentifierPath","referencedDeclaration":879,"src":"1890:15:5"},"nodeType":"ModifierInvocation","src":"1890:24:5"}],"name":"withdrawToSequencer","nameLocation":"1794:19:5","parameters":{"id":904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":901,"mutability":"mutable","name":"_amount","nameLocation":"1822:7:5","nodeType":"VariableDeclaration","scope":923,"src":"1814:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":900,"name":"uint256","nodeType":"ElementaryTypeName","src":"1814:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":903,"mutability":"mutable","name":"_destinationChainAddress","nameLocation":"1839:24:5","nodeType":"VariableDeclaration","scope":923,"src":"1831:32:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":902,"name":"address","nodeType":"ElementaryTypeName","src":"1831:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1813:51:5"},"returnParameters":{"id":908,"nodeType":"ParameterList","parameters":[],"src":"1919:0:5"},"scope":951,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":950,"nodeType":"FunctionDefinition","src":"2049:291:5","nodes":[],"body":{"id":949,"nodeType":"Block","src":"2213:127:5","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":936,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2229:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2233:6:5","memberName":"sender","nodeType":"MemberAccess","src":"2229:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":938,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"2241:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":935,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":524,"src":"2223:5:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2223:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":940,"nodeType":"ExpressionStatement","src":"2223:26:5"},{"eventCall":{"arguments":[{"expression":{"id":942,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2280:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2284:6:5","memberName":"sender","nodeType":"MemberAccess","src":"2280:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":944,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"2292:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":945,"name":"_destinationChainAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":927,"src":"2301:24:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":946,"name":"_memo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":929,"src":"2327:5:5","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":941,"name":"Ics20Withdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":973,"src":"2264:15:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,uint256,string memory,string memory)"}},"id":947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2264:69:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":948,"nodeType":"EmitStatement","src":"2259:74:5"}]},"functionSelector":"5fe56b09","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":932,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":925,"src":"2200:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":933,"kind":"modifierInvocation","modifierName":{"id":931,"name":"sufficientValue","nameLocations":["2184:15:5"],"nodeType":"IdentifierPath","referencedDeclaration":879,"src":"2184:15:5"},"nodeType":"ModifierInvocation","src":"2184:24:5"}],"name":"withdrawToIbcChain","nameLocation":"2058:18:5","parameters":{"id":930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":925,"mutability":"mutable","name":"_amount","nameLocation":"2085:7:5","nodeType":"VariableDeclaration","scope":950,"src":"2077:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":924,"name":"uint256","nodeType":"ElementaryTypeName","src":"2077:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":927,"mutability":"mutable","name":"_destinationChainAddress","nameLocation":"2110:24:5","nodeType":"VariableDeclaration","scope":950,"src":"2094:40:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":926,"name":"string","nodeType":"ElementaryTypeName","src":"2094:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":929,"mutability":"mutable","name":"_memo","nameLocation":"2152:5:5","nodeType":"VariableDeclaration","scope":950,"src":"2136:21:5","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":928,"name":"string","nodeType":"ElementaryTypeName","src":"2136:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2076:82:5"},"returnParameters":{"id":934,"nodeType":"ParameterList","parameters":[],"src":"2213:0:5"},"scope":951,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":792,"name":"IAstriaWithdrawer","nameLocations":["248:17:5"],"nodeType":"IdentifierPath","referencedDeclaration":974,"src":"248:17:5"},"id":793,"nodeType":"InheritanceSpecifier","src":"248:17:5"},{"baseName":{"id":794,"name":"ERC20","nameLocations":["267:5:5"],"nodeType":"IdentifierPath","referencedDeclaration":651,"src":"267:5:5"},"id":795,"nodeType":"InheritanceSpecifier","src":"267:5:5"}],"canonicalName":"AstriaBridgeableERC20","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[951,651,41,755,729,785,974],"name":"AstriaBridgeableERC20","nameLocation":"223:21:5","scope":952,"usedErrors":[11,16,21,30,35,40],"usedEvents":[663,672,805,963,973]}],"license":"MIT or Apache-2.0"},"id":5} \ No newline at end of file From 85e9ec41b199695f54345fcba259e22bc3532730 Mon Sep 17 00:00:00 2001 From: elizabeth Date: Thu, 6 Jun 2024 22:23:02 -0400 Subject: [PATCH 22/22] address comments --- .gitattributes | 2 ++ .../src/withdrawer/ethereum/watcher.rs | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitattributes b/.gitattributes index 0546be78b8..27a3563bb5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,4 @@ crates/astria-core/src/generated/** linguist-generated=true +crates/astria-bridge-withdrawer/src/withdrawer/ethereum/generated/** linguist-generated=true +crates/astria-bridge-withdrawer/ethereum/out/** linguist-generated=true specs/** linguist-documentation=true diff --git a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs index 502716f55f..e4ddb3ac5c 100644 --- a/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs +++ b/crates/astria-bridge-withdrawer/src/withdrawer/ethereum/watcher.rs @@ -415,7 +415,7 @@ mod tests { } #[tokio::test] - #[ignore = "requires foundry and solc to be installed"] + #[ignore = "requires foundry to be installed"] async fn astria_withdrawer_invalid_value_fails() { let (contract_address, provider, wallet, _anvil) = ConfigureAstriaWithdrawerDeployer { base_chain_asset_precision: 15, @@ -434,7 +434,7 @@ mod tests { } #[tokio::test] - #[ignore = "requires foundry and solc to be installed"] + #[ignore = "requires foundry to be installed"] async fn watcher_can_watch_sequencer_withdrawals_astria_withdrawer() { let (contract_address, provider, wallet, anvil) = ConfigureAstriaWithdrawerDeployer::default().deploy().await; @@ -513,7 +513,7 @@ mod tests { } #[tokio::test] - #[ignore = "requires foundry and solc to be installed"] + #[ignore = "requires foundry to be installed"] async fn watcher_can_watch_ics20_withdrawals_astria_withdrawer() { let (contract_address, provider, wallet, anvil) = ConfigureAstriaWithdrawerDeployer::default().deploy().await; @@ -615,7 +615,7 @@ mod tests { } #[tokio::test] - #[ignore = "requires foundry and solc to be installed"] + #[ignore = "requires foundry to be installed"] async fn watcher_can_watch_sequencer_withdrawals_astria_bridgeable_erc20() { let (contract_address, provider, wallet, anvil) = ConfigureAstriaBridgeableERC20Deployer { base_chain_asset_precision: 18, @@ -699,7 +699,7 @@ mod tests { } #[tokio::test] - #[ignore = "requires foundry and solc to be installed"] + #[ignore = "requires foundry to be installed"] async fn watcher_can_watch_ics20_withdrawals_astria_bridgeable_erc20() { let (contract_address, provider, wallet, anvil) = ConfigureAstriaBridgeableERC20Deployer { base_chain_asset_precision: 18,