diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 65b4dfda..e58a721b 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -27,13 +27,17 @@ jobs: node-version: "18" registry-url: "https://registry.npmjs.org" + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + - name: Install Dependencies run: yarn install - name: Test with coverage - run: yarn coverage || true - + run: yarn coverage + - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v4.0.1 with: token: ${{ secrets.CODECOV_TOKEN }} + files: lcov.info diff --git a/.github/workflows/generated-files.yaml b/.github/workflows/generated-files.yaml index fa7378fe..bbbd540d 100644 --- a/.github/workflows/generated-files.yaml +++ b/.github/workflows/generated-files.yaml @@ -18,14 +18,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: "18" + node-version: "18.0.0" registry-url: "https://registry.npmjs.org" - name: Install dependencies diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 94efc210..2e2a20b4 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -19,14 +19,14 @@ jobs: steps: - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: "20" + node-version: "18.0.0" registry-url: "https://registry.npmjs.org" - name: Install Foundry @@ -37,6 +37,9 @@ jobs: - name: Build project run: yarn build + + - name: Test (foundry) + run: yarn test:foundry - name: Test (hardhat) run: yarn test diff --git a/.gitignore b/.gitignore index 23576439..ddb1d374 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ tsconfig.tsbuildinfo # Coverage coverage coverage.json +lcov.info # Slither scripts/slither-results/* diff --git a/.gitmodules b/.gitmodules index 888d42dc..7d79667c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "lib/forge-std"] path = lib/forge-std url = https://github.com/foundry-rs/forge-std +[submodule "lib/openzeppelin-foundry-upgrades"] + path = lib/openzeppelin-foundry-upgrades + url = https://github.com/OpenZeppelin/openzeppelin-foundry-upgrades diff --git a/contracts/prototypes/evm/ERC20CustodyNew.sol b/contracts/prototypes/evm/ERC20CustodyNew.sol index 89a1c597..0b0ec3f2 100644 --- a/contracts/prototypes/evm/ERC20CustodyNew.sol +++ b/contracts/prototypes/evm/ERC20CustodyNew.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.7; +pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "./interfaces.sol"; diff --git a/contracts/prototypes/evm/GatewayEVM.sol b/contracts/prototypes/evm/GatewayEVM.sol index 78ca2a49..bafa41c1 100644 --- a/contracts/prototypes/evm/GatewayEVM.sol +++ b/contracts/prototypes/evm/GatewayEVM.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.7; +pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; @@ -16,7 +16,10 @@ contract GatewayEVM is Initializable, OwnableUpgradeable, UUPSUpgradeable, IGate address public custody; address public tssAddress; - constructor() {} + /// @custom:oz-upgrades-unsafe-allow constructor + constructor() { + _disableInitializers(); + } function initialize(address _tssAddress) public initializer { __Ownable_init(); @@ -31,7 +34,6 @@ contract GatewayEVM is Initializable, OwnableUpgradeable, UUPSUpgradeable, IGate function _execute(address destination, bytes calldata data) internal returns (bytes memory) { (bool success, bytes memory result) = destination.call{value: msg.value}(data); - if (!success) revert ExecutionFailed(); return result; diff --git a/contracts/prototypes/evm/GatewayEVMUpgradeTest.sol b/contracts/prototypes/evm/GatewayEVMUpgradeTest.sol index 00d3342f..13307c0c 100644 --- a/contracts/prototypes/evm/GatewayEVMUpgradeTest.sol +++ b/contracts/prototypes/evm/GatewayEVMUpgradeTest.sol @@ -11,6 +11,7 @@ import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; // NOTE: Purpose of this contract is to test upgrade process, the only difference should be name of Executed event // The Gateway contract is the endpoint to call smart contracts on external chains // The contract doesn't hold any funds and should never have active allowances +/// @custom:oz-upgrades-from GatewayEVM contract GatewayEVMUpgradeTest is Initializable, OwnableUpgradeable, UUPSUpgradeable { using SafeERC20 for IERC20; diff --git a/contracts/prototypes/evm/ReceiverEVM.sol b/contracts/prototypes/evm/ReceiverEVM.sol index 1ac1ad26..c13597b5 100644 --- a/contracts/prototypes/evm/ReceiverEVM.sol +++ b/contracts/prototypes/evm/ReceiverEVM.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.7; +pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; diff --git a/contracts/prototypes/evm/TestERC20.sol b/contracts/prototypes/evm/TestERC20.sol index 6a9859c3..7ffb1988 100644 --- a/contracts/prototypes/evm/TestERC20.sol +++ b/contracts/prototypes/evm/TestERC20.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.7; +pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; diff --git a/contracts/prototypes/evm/interfaces.sol b/contracts/prototypes/evm/interfaces.sol index d170da79..9f89c877 100644 --- a/contracts/prototypes/evm/interfaces.sol +++ b/contracts/prototypes/evm/interfaces.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.7; +pragma solidity ^0.8.0; interface IGatewayEVMEvents { event Executed(address indexed destination, uint256 value, bytes data); diff --git a/contracts/prototypes/test/GatewayEVM.t.sol b/contracts/prototypes/test/GatewayEVM.t.sol deleted file mode 100644 index 4391da90..00000000 --- a/contracts/prototypes/test/GatewayEVM.t.sol +++ /dev/null @@ -1,59 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "forge-std/Test.sol"; -import "forge-std/Vm.sol"; - -import "contracts/prototypes/evm/GatewayEVM.sol"; -import "contracts/prototypes/evm/ReceiverEVM.sol"; -import "contracts/prototypes/evm/ERC20CustodyNew.sol"; -import "contracts/prototypes/evm/TestERC20.sol"; -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; -import "../evm/interfaces.sol"; - -contract GatewayEVMTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IReceiverEVMEvents { - using SafeERC20 for IERC20; - - GatewayEVM gateway; - ReceiverEVM receiver; - ERC20CustodyNew custody; - TestERC20 token; - address owner; - address destination; - address tssAddress; - - function setUp() public { - owner = address(this); - destination = address(0x1234); - tssAddress = address(0x5678); - - token = new TestERC20("test", "TTK"); - gateway = new GatewayEVM(); - custody = new ERC20CustodyNew(address(gateway)); - - gateway.initialize(tssAddress); - gateway.setCustody(address(custody)); - - // Mint initial supply to the owner - token.mint(owner, 1000000); - - // Transfer some tokens to the custody contract - token.transfer(address(custody), 500000); - } - - function testForwardCallToReceivePayable() public { - string memory str = "Hello, Foundry!"; - uint256 num = 42; - bool flag = true; - uint256 value = 1 ether; - - bytes memory data = abi.encodeWithSignature("receivePayable(string,uint256,bool)", str, num, flag); - - vm.expectCall(address(receiver), value, data); - vm.expectEmit(true, true, true, true, address(gateway)); - emit Executed(address(receiver), value, data); - - gateway.execute{value: value}(address(receiver), data); - } -} diff --git a/contracts/prototypes/test/GatewayEVMZEVM.t.sol b/contracts/prototypes/test/GatewayEVMZEVM.t.sol deleted file mode 100644 index 731be2df..00000000 --- a/contracts/prototypes/test/GatewayEVMZEVM.t.sol +++ /dev/null @@ -1,101 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity 0.8.7; - -import "forge-std/Test.sol"; -import "forge-std/Vm.sol"; - -import "contracts/prototypes/evm/GatewayEVM.sol"; -import "contracts/prototypes/evm/ReceiverEVM.sol"; -import "contracts/prototypes/evm/ERC20CustodyNew.sol"; -import "contracts/prototypes/evm/TestERC20.sol"; -import "contracts/prototypes/evm/ReceiverEVM.sol"; - -import "contracts/prototypes/zevm/GatewayZEVM.sol"; -import "contracts/prototypes/zevm/SenderZEVM.sol"; -import "contracts/zevm/ZRC20New.sol"; -import "contracts/zevm/testing/SystemContractMock.sol"; - -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; -import "../evm/interfaces.sol"; -import "../zevm/interfaces.sol"; - -contract GatewayEVMZEVMTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IGatewayZEVMEvents, IGatewayZEVMErrors, IReceiverEVMEvents { - // evm - using SafeERC20 for IERC20; - - GatewayEVM gatewayEVM; - ERC20CustodyNew custody; - TestERC20 token; - ReceiverEVM receiverEVM; - address ownerEVM; - address destination; - address tssAddress; - - // zevm - GatewayZEVM gatewayZEVM; - SenderZEVM senderZEVM; - SystemContractMock systemContract; - ZRC20New zrc20; - address ownerZEVM; - - function setUp() public { - // evm - ownerEVM = address(this); - destination = address(0x1234); - tssAddress = address(0x5678); - ownerZEVM = address(0x4321); - - token = new TestERC20("test", "TTK"); - gatewayEVM = new GatewayEVM(); - custody = new ERC20CustodyNew(address(gatewayEVM)); - - gatewayEVM.initialize(tssAddress); - gatewayEVM.setCustody(address(custody)); - - // Mint initial supply to the ownerEVM - token.mint(ownerEVM, 1000000); - - // Transfer some tokens to the custody contract - token.transfer(address(custody), 500000); - - receiverEVM = new ReceiverEVM(); - - // zevm - gatewayZEVM = new GatewayZEVM(); - senderZEVM = new SenderZEVM(address(gatewayZEVM)); - // Impersonate the fungible module account - address fungibleModuleAddress = address(0x735b14BB79463307AAcBED86DAf3322B1e6226aB); - vm.startPrank(fungibleModuleAddress); - systemContract = new SystemContractMock(address(0), address(0), address(0)); - zrc20 = new ZRC20New("TOKEN", "TKN", 18, 1, CoinType.Zeta, 0, address(systemContract), address(gatewayZEVM)); - systemContract.setGasCoinZRC20(1, address(zrc20)); - systemContract.setGasPrice(1, 1); - zrc20.deposit(ownerZEVM, 1000000); - zrc20.deposit(address(senderZEVM), 1000000); - vm.stopPrank(); - - vm.prank(ownerZEVM); - zrc20.approve(address(gatewayZEVM), 1000000); - } - - function testCallReceiverEVMFromZEVM() public { - string memory str = "Hello, Hardhat!"; - uint256 num = 42; - bool flag = true; - uint256 value = 1 ether; - - // Encode the function call data and call on zevm - bytes memory message = abi.encodeWithSelector(receiverEVM.receivePayable.selector, str, num, flag); - vm.prank(ownerZEVM); - vm.expectEmit(true, true, true, true, address(gatewayZEVM)); - emit Call(address(ownerZEVM), abi.encodePacked(receiverEVM), message); - gatewayZEVM.call(abi.encodePacked(receiverEVM), message); - - // Call execute on evm - vm.deal(address(gatewayEVM), value); - vm.expectEmit(true, true, true, true, address(gatewayEVM)); - emit Executed(address(receiverEVM), value, message); - gatewayEVM.execute{value: value}(address(receiverEVM), message); - } -} \ No newline at end of file diff --git a/echidna.yaml b/echidna.yaml index a7bce751..de1bb2de 100644 --- a/echidna.yaml +++ b/echidna.yaml @@ -3,4 +3,5 @@ cryticArgs: ['--solc-remaps', '@=node_modules/@'] testMode: "assertion" testLimit: 50000 seqLen: 10000 -allContracts: false \ No newline at end of file +allContracts: false +balanceAddr: 0x1043561a8829300000 \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index 7c103896..ecfb1b77 100644 --- a/foundry.toml +++ b/foundry.toml @@ -2,8 +2,14 @@ src = 'contracts' out = 'out' libs = ['node_modules', 'lib'] -test = 'test' +test = 'testFoundry' cache_path = 'cache_forge' no-match-contract = '.*EchidnaTest$' optimizer = true -optimizer_runs = 10_000 \ No newline at end of file +optimizer_runs = 10_000 +ffi = true +ast = true +build_info = true +extra_output = ["storageLayout"] +fs_permissions = [{ access = "read", path = "out"}] +evm_version = "london" \ No newline at end of file diff --git a/hardhat.config.ts b/hardhat.config.ts index fbc22e99..61fb6b4c 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -44,6 +44,7 @@ const config: HardhatUserConfig = { }, networks: { ...getHardhatConfigNetworks(), + hardhat: {}, }, solidity: { compilers: [ diff --git a/lib/openzeppelin-foundry-upgrades b/lib/openzeppelin-foundry-upgrades new file mode 160000 index 00000000..4cd15fc5 --- /dev/null +++ b/lib/openzeppelin-foundry-upgrades @@ -0,0 +1 @@ +Subproject commit 4cd15fc50b141c77d8cc9ff8efb44d00e841a299 diff --git a/lib/types.ts b/lib/types.ts index 651dc5c5..00a69db4 100644 --- a/lib/types.ts +++ b/lib/types.ts @@ -1,42 +1,4 @@ -export type ParamSymbol = - | "BNB.BSC" - | "BTC.BTC" - | "ETH.ETH" - | "gETH" - | "MATIC.AMOY" - | "sETH.SEPOLIA" - | "tBNB" - | "tBTC" - | "tMATIC" - | "USDC.BSC" - | "USDC.ETH" - | "USDC.SEPOLIA" - | "USDC" - | "USDT.BSC" - | "USDT.ETH"; -export type ParamChainName = - | "amoy_testnet" - | "bsc_mainnet" - | "bsc_testnet" - | "btc_mainnet" - | "btc_testnet" - | "eth_mainnet" - | "sepolia_testnet" - | "zeta_mainnet" - | "zeta_testnet"; -export type ParamType = - | "connector" - | "erc20Custody" - | "fungibleModule" - | "pauser" - | "systemContract" - | "tss" - | "tssUpdater" - | "uniswapV2Factory" - | "uniswapV2Router02" - | "uniswapV3Factory" - | "uniswapV3Router" - | "weth9" - | "zetaToken" - | "zetaTokenConsumerUniV3" - | "zrc20"; +export type ParamSymbol = "USDC.BSC" | "USDC.ETH" | "BTC.BTC" | "BNB.BSC" | "USDT.ETH" | "USDT.BSC" | "ETH.ETH" | "sETH.SEPOLIA" | "USDC" | "gETH" | "tMATIC" | "tBTC" | "MATIC.AMOY" | "USDC.SEPOLIA" | "tBNB"; +export type ParamChainName = "eth_mainnet" | "bsc_mainnet" | "zeta_mainnet" | "btc_mainnet" | "bsc_testnet" | "zeta_testnet" | "btc_testnet" | "amoy_testnet" | "sepolia_testnet"; +export type ParamType = "connector" | "erc20Custody" | "pauser" | "tss" | "tssUpdater" | "uniswapV2Factory" | "uniswapV2Router02" | "uniswapV3Factory" | "uniswapV3Router" | "weth9" | "zetaToken" | "fungibleModule" | "systemContract" | "zrc20" | "zetaTokenConsumerUniV3"; + diff --git a/package.json b/package.json index 26012fa4..852b6aee 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "chai": "^4.3.6", "concurrently": "^8.2.2", "cpx": "^1.5.0", + "cross-env": "^7.0.3", "del-cli": "^5.0.0", "dotenv": "^16.0.0", "eslint": "^8.13.0", @@ -80,16 +81,16 @@ "scripts": { "build": "yarn compile && npx del-cli dist abi && npx tsc || true && npx del-cli './dist/typechain-types/**/*.js' && npx cpx './data/**/*' dist/data && npx cpx './artifacts/contracts/**/*' ./abi && npx del-cli './abi/**/*.dbg.json'", "compile": "npx hardhat compile --force", - "coverage": "npx hardhat coverage --temp ./coverage-artifacts", + "coverage": "forge clean && cross-env FOUNDRY_SRC='contracts/prototypes' forge coverage --report lcov", "docs": "forge doc", "generate": "yarn compile && ./scripts/generate_go.sh || true && ./scripts/generate_addresses.sh && yarn lint:fix", - "lint": "npx eslint . --ext .js,.ts", - "lint:fix": "npx eslint . --ext .js,.ts,.json --fix --ignore-pattern coverage/ --ignore-pattern coverage.json --ignore-pattern lib/forge-std/ --ignore-pattern out --ignore-pattern cache_forge/", + "lint": "npx eslint . --ext .js,.ts --ignore-pattern lib/", + "lint:fix": "npx eslint . --ext .js,.ts,.json --fix --ignore-pattern coverage/ --ignore-pattern coverage.json --ignore-pattern lib/ --ignore-pattern out --ignore-pattern cache_forge/", "lint:sol": "solhint 'contracts/**/*.sol'", "localnet": "concurrently --names \"NODE,WORKER\" --prefix-colors \"blue.bold,green.bold\" \"npx hardhat node\" \"wait-on tcp:8545 && yarn worker\"", "prepublishOnly": "yarn build", "test": "npx hardhat test", - "test:forge": "forge test -vvv", + "test:foundry": "forge clean && forge test -vvv", "test:prototypes": "yarn compile && npx hardhat test test/prototypes/*", "tsc:watch": "npx tsc --watch", "worker": "npx hardhat run scripts/worker.ts --network localhost" diff --git a/pkg/contracts/prototypes/evm/erc20custodynew.sol/erc20custodynew.go b/pkg/contracts/prototypes/evm/erc20custodynew.sol/erc20custodynew.go index 369c9690..31454cbd 100644 --- a/pkg/contracts/prototypes/evm/erc20custodynew.sol/erc20custodynew.go +++ b/pkg/contracts/prototypes/evm/erc20custodynew.sol/erc20custodynew.go @@ -32,7 +32,7 @@ var ( // ERC20CustodyNewMetaData contains all meta data concerning the ERC20CustodyNew contract. var ERC20CustodyNewMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_gateway\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"WithdrawAndCall\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"gateway\",\"outputs\":[{\"internalType\":\"contractIGatewayEVM\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"withdrawAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033", + Bin: "0x60806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea26469706673582212209da1299d57511a448299616d5b9981cce3a960f4b22dcb0d38ff714263de7de564736f6c63430008070033", } // ERC20CustodyNewABI is the input ABI used to generate the binding from. diff --git a/pkg/contracts/prototypes/evm/gatewayevm.sol/gatewayevm.go b/pkg/contracts/prototypes/evm/gatewayevm.sol/gatewayevm.go index db197e19..3fcb662d 100644 --- a/pkg/contracts/prototypes/evm/gatewayevm.sol/gatewayevm.go +++ b/pkg/contracts/prototypes/evm/gatewayevm.sol/gatewayevm.go @@ -32,7 +32,7 @@ var ( // GatewayEVMMetaData contains all meta data concerning the GatewayEVM contract. var GatewayEVMMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ApprovalFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CustodyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExecutionFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientERC20Amount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientETHAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"Call\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Executed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExecutedWithERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"custody\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"depositAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"depositAndCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"executeWithERC20\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tssAddress\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_custody\",\"type\":\"address\"}],\"name\":\"setCustody\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tssAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", - Bin: "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220154452ab17b7ec6558ae20cf0777deee4780b8e192489db9d10e2ac9e3d689a364736f6c63430008070033", + Bin: "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c61312362000243600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220dc52fc7d58bfe3dc5ace9e348e11ef61df6b49159168382a1ac68268acb86ebf64736f6c63430008070033", } // GatewayEVMABI is the input ABI used to generate the binding from. diff --git a/pkg/contracts/prototypes/evm/gatewayevmupgradetest.sol/gatewayevmupgradetest.go b/pkg/contracts/prototypes/evm/gatewayevmupgradetest.sol/gatewayevmupgradetest.go index bc451ccc..30b437ad 100644 --- a/pkg/contracts/prototypes/evm/gatewayevmupgradetest.sol/gatewayevmupgradetest.go +++ b/pkg/contracts/prototypes/evm/gatewayevmupgradetest.sol/gatewayevmupgradetest.go @@ -32,7 +32,7 @@ var ( // GatewayEVMUpgradeTestMetaData contains all meta data concerning the GatewayEVMUpgradeTest contract. var GatewayEVMUpgradeTestMetaData = &bind.MetaData{ ABI: "[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ApprovalFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExecutionFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientETHAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SendFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExecutedV2\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExecutedWithERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"recipient\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Send\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"recipient\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"SendERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"custody\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"executeWithERC20\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tssAddress\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"recipient\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"send\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"recipient\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"sendERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_custody\",\"type\":\"address\"}],\"name\":\"setCustody\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tssAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", - Bin: "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c4d620002436000396000818161038701528181610416015281816105100152818161059f0152610a060152612c4d6000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063c4d66de811610059578063c4d66de814610271578063cb0271ed1461029a578063dda79b75146102c3578063f2fde38b146102ee576100dd565b80638da5cb5b146102015780639372c4ab1461022c578063ae7a3a6f14610248576100dd565b80635131ab59116100bb5780635131ab591461015757806352d1902d146101945780635b112591146101bf578063715018a6146101ea576100dd565b80631cff79cd146100e25780633659cfe6146101125780634f1ef2861461013b575b600080fd5b6100fc60048036038101906100f79190611d45565b610317565b60405161010991906123bc565b60405180910390f35b34801561011e57600080fd5b5061013960048036038101906101349190611c90565b610385565b005b61015560048036038101906101509190611da5565b61050e565b005b34801561016357600080fd5b5061017e60048036038101906101799190611cbd565b61064b565b60405161018b91906123bc565b60405180910390f35b3480156101a057600080fd5b506101a9610a02565b6040516101b6919061236f565b60405180910390f35b3480156101cb57600080fd5b506101d4610abb565b6040516101e191906122cb565b60405180910390f35b3480156101f657600080fd5b506101ff610ae1565b005b34801561020d57600080fd5b50610216610af5565b60405161022391906122cb565b60405180910390f35b61024660048036038101906102419190611ecf565b610b1f565b005b34801561025457600080fd5b5061026f600480360381019061026a9190611c90565b610c68565b005b34801561027d57600080fd5b5061029860048036038101906102939190611c90565b610cac565b005b3480156102a657600080fd5b506102c160048036038101906102bc9190611e5b565b610e9b565b005b3480156102cf57600080fd5b506102d8610f42565b6040516102e591906122cb565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190611c90565b610f68565b005b60606000610326858585610fec565b90508473ffffffffffffffffffffffffffffffffffffffff167f373df382b9c587826f3de13f16d67f8d99f28ee947fc0924c6ef2d6d2c7e8546348686604051610372939291906125bb565b60405180910390a2809150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040b9061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104536110a3565b73ffffffffffffffffffffffffffffffffffffffff16146104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a09061245b565b60405180910390fd5b6104b2816110fa565b61050b81600067ffffffffffffffff8111156104d1576104d061277c565b5b6040519080825280601f01601f1916602001820160405280156105035781602001600182028036833780820191505090505b506000611105565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16141561059d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105949061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105dc6110a3565b73ffffffffffffffffffffffffffffffffffffffff1614610632576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106299061245b565b60405180910390fd5b61063b826110fa565b61064782826001611105565b5050565b60608573ffffffffffffffffffffffffffffffffffffffff1663095ea7b38660006040518363ffffffff1660e01b815260040161068992919061231d565b602060405180830381600087803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190611e01565b610711576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b815260040161074c929190612346565b602060405180830381600087803b15801561076657600080fd5b505af115801561077a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079e9190611e01565b6107d4576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107e1868585610fec565b90508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b38760006040518363ffffffff1660e01b815260040161081f92919061231d565b602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108719190611e01565b6108a7576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108e291906122cb565b60206040518083038186803b1580156108fa57600080fd5b505afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190611f2f565b9050600081111561098b5761098a60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166112829092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b73828888886040516109ec939291906125bb565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061249b565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae9611308565b610af36000611386565b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000341415610b5a576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610ba2906122b6565b60006040518083038185875af1925050503d8060008114610bdf576040519150601f19603f3d011682016040523d82523d6000602084013e610be4565b606091505b50509050600015158115151415610c27576040517f81063e5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa93afc57f3be4641cf20c7165d11856f3b46dd376108e5fffb06f73f2b2a6d58848434604051610c5a9392919061238a565b60405180910390a150505050565b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610cdd5750600160008054906101000a900460ff1660ff16105b80610d0a5750610cec3061144c565b158015610d095750600160008054906101000a900460ff1660ff16145b5b610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906124db565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610d86576001600060016101000a81548160ff0219169083151502179055505b610d8e61146f565b610d966114c8565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dfd576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610e975760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610e8e91906123de565b60405180910390a15b5050565b610eea3360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838573ffffffffffffffffffffffffffffffffffffffff16611519909392919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f35fb30ed1b8e81eb91001dad742b13b1491a67c722e8c593a886a18500f7d9af858584604051610f349392919061238a565b60405180910390a250505050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f70611308565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd79061241b565b60405180910390fd5b610fe981611386565b50565b60606000808573ffffffffffffffffffffffffffffffffffffffff16348686604051611019929190612286565b60006040518083038185875af1925050503d8060008114611056576040519150601f19603f3d011682016040523d82523d6000602084013e61105b565b606091505b509150915081611097576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006110d17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611102611308565b50565b6111317f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6115ac565b60000160009054906101000a900460ff161561115557611150836115b6565b61127d565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561119b57600080fd5b505afa9250505080156111cc57506040513d601f19601f820116820180604052508101906111c99190611e2e565b60015b61120b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611202906124fb565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611270576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611267906124bb565b60405180910390fd5b5061127c83838361166f565b5b505050565b6113038363a9059cbb60e01b84846040516024016112a1929190612346565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b505050565b611310611762565b73ffffffffffffffffffffffffffffffffffffffff1661132e610af5565b73ffffffffffffffffffffffffffffffffffffffff1614611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b9061253b565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b59061257b565b60405180910390fd5b6114c661176a565b565b600060019054906101000a900460ff16611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e9061257b565b60405180910390fd5b565b61159c846323b872dd60e01b85858560405160240161153a939291906122e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b50505050565b6000819050919050565b6000819050919050565b6115bf8161144c565b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061251b565b60405180910390fd5b8061162b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611678836117cb565b6000825111806116855750805b1561169657611694838361181a565b505b505050565b60006116fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166118479092919063ffffffff16565b905060008151111561175d578080602001905181019061171d9190611e01565b61175c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117539061259b565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff166117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09061257b565b60405180910390fd5b6117c96117c4611762565b611386565b565b6117d4816115b6565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b606061183f8383604051806060016040528060278152602001612bf16027913961185f565b905092915050565b606061185684846000856118e5565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611889919061229f565b600060405180830381855af49150503d80600081146118c4576040519150601f19603f3d011682016040523d82523d6000602084013e6118c9565b606091505b50915091506118da868383876119b2565b925050509392505050565b60608247101561192a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119219061247b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611953919061229f565b60006040518083038185875af1925050503d8060008114611990576040519150601f19603f3d011682016040523d82523d6000602084013e611995565b606091505b50915091506119a687838387611a28565b92505050949350505050565b60608315611a1557600083511415611a0d576119cd8561144c565b611a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a039061255b565b60405180910390fd5b5b829050611a20565b611a1f8383611a9e565b5b949350505050565b60608315611a8b57600083511415611a8357611a4385611aee565b611a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a799061255b565b60405180910390fd5b5b829050611a96565b611a958383611b11565b5b949350505050565b600082511115611ab15781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae591906123f9565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611b245781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5891906123f9565b60405180910390fd5b6000611b74611b6f84612612565b6125ed565b905082815260208101848484011115611b9057611b8f6127ba565b5b611b9b848285612709565b509392505050565b600081359050611bb281612b94565b92915050565b600081519050611bc781612bab565b92915050565b600081519050611bdc81612bc2565b92915050565b60008083601f840112611bf857611bf76127b0565b5b8235905067ffffffffffffffff811115611c1557611c146127ab565b5b602083019150836001820283011115611c3157611c306127b5565b5b9250929050565b600082601f830112611c4d57611c4c6127b0565b5b8135611c5d848260208601611b61565b91505092915050565b600081359050611c7581612bd9565b92915050565b600081519050611c8a81612bd9565b92915050565b600060208284031215611ca657611ca56127c4565b5b6000611cb484828501611ba3565b91505092915050565b600080600080600060808688031215611cd957611cd86127c4565b5b6000611ce788828901611ba3565b9550506020611cf888828901611ba3565b9450506040611d0988828901611c66565b935050606086013567ffffffffffffffff811115611d2a57611d296127bf565b5b611d3688828901611be2565b92509250509295509295909350565b600080600060408486031215611d5e57611d5d6127c4565b5b6000611d6c86828701611ba3565b935050602084013567ffffffffffffffff811115611d8d57611d8c6127bf565b5b611d9986828701611be2565b92509250509250925092565b60008060408385031215611dbc57611dbb6127c4565b5b6000611dca85828601611ba3565b925050602083013567ffffffffffffffff811115611deb57611dea6127bf565b5b611df785828601611c38565b9150509250929050565b600060208284031215611e1757611e166127c4565b5b6000611e2584828501611bb8565b91505092915050565b600060208284031215611e4457611e436127c4565b5b6000611e5284828501611bcd565b91505092915050565b60008060008060608587031215611e7557611e746127c4565b5b600085013567ffffffffffffffff811115611e9357611e926127bf565b5b611e9f87828801611be2565b94509450506020611eb287828801611ba3565b9250506040611ec387828801611c66565b91505092959194509250565b600080600060408486031215611ee857611ee76127c4565b5b600084013567ffffffffffffffff811115611f0657611f056127bf565b5b611f1286828701611be2565b93509350506020611f2586828701611c66565b9150509250925092565b600060208284031215611f4557611f446127c4565b5b6000611f5384828501611c7b565b91505092915050565b611f6581612686565b82525050565b611f74816126a4565b82525050565b6000611f868385612659565b9350611f93838584612709565b611f9c836127c9565b840190509392505050565b6000611fb3838561266a565b9350611fc0838584612709565b82840190509392505050565b6000611fd782612643565b611fe18185612659565b9350611ff1818560208601612718565b611ffa816127c9565b840191505092915050565b600061201082612643565b61201a818561266a565b935061202a818560208601612718565b80840191505092915050565b61203f816126e5565b82525050565b61204e816126f7565b82525050565b600061205f8261264e565b6120698185612675565b9350612079818560208601612718565b612082816127c9565b840191505092915050565b600061209a602683612675565b91506120a5826127da565b604082019050919050565b60006120bd602c83612675565b91506120c882612829565b604082019050919050565b60006120e0602c83612675565b91506120eb82612878565b604082019050919050565b6000612103602683612675565b915061210e826128c7565b604082019050919050565b6000612126603883612675565b915061213182612916565b604082019050919050565b6000612149602983612675565b915061215482612965565b604082019050919050565b600061216c602e83612675565b9150612177826129b4565b604082019050919050565b600061218f602e83612675565b915061219a82612a03565b604082019050919050565b60006121b2602d83612675565b91506121bd82612a52565b604082019050919050565b60006121d5602083612675565b91506121e082612aa1565b602082019050919050565b60006121f860008361266a565b915061220382612aca565b600082019050919050565b600061221b601d83612675565b915061222682612acd565b602082019050919050565b600061223e602b83612675565b915061224982612af6565b604082019050919050565b6000612261602a83612675565b915061226c82612b45565b604082019050919050565b612280816126ce565b82525050565b6000612293828486611fa7565b91508190509392505050565b60006122ab8284612005565b915081905092915050565b60006122c1826121eb565b9150819050919050565b60006020820190506122e06000830184611f5c565b92915050565b60006060820190506122fb6000830186611f5c565b6123086020830185611f5c565b6123156040830184612277565b949350505050565b60006040820190506123326000830185611f5c565b61233f6020830184612036565b9392505050565b600060408201905061235b6000830185611f5c565b6123686020830184612277565b9392505050565b60006020820190506123846000830184611f6b565b92915050565b600060408201905081810360008301526123a5818587611f7a565b90506123b46020830184612277565b949350505050565b600060208201905081810360008301526123d68184611fcc565b905092915050565b60006020820190506123f36000830184612045565b92915050565b600060208201905081810360008301526124138184612054565b905092915050565b600060208201905081810360008301526124348161208d565b9050919050565b60006020820190508181036000830152612454816120b0565b9050919050565b60006020820190508181036000830152612474816120d3565b9050919050565b60006020820190508181036000830152612494816120f6565b9050919050565b600060208201905081810360008301526124b481612119565b9050919050565b600060208201905081810360008301526124d48161213c565b9050919050565b600060208201905081810360008301526124f48161215f565b9050919050565b6000602082019050818103600083015261251481612182565b9050919050565b60006020820190508181036000830152612534816121a5565b9050919050565b60006020820190508181036000830152612554816121c8565b9050919050565b600060208201905081810360008301526125748161220e565b9050919050565b6000602082019050818103600083015261259481612231565b9050919050565b600060208201905081810360008301526125b481612254565b9050919050565b60006040820190506125d06000830186612277565b81810360208301526125e3818486611f7a565b9050949350505050565b60006125f7612608565b9050612603828261274b565b919050565b6000604051905090565b600067ffffffffffffffff82111561262d5761262c61277c565b5b612636826127c9565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612691826126ae565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126f0826126ce565b9050919050565b6000612702826126d8565b9050919050565b82818337600083830152505050565b60005b8381101561273657808201518184015260208101905061271b565b83811115612745576000848401525b50505050565b612754826127c9565b810181811067ffffffffffffffff821117156127735761277261277c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b612b9d81612686565b8114612ba857600080fd5b50565b612bb481612698565b8114612bbf57600080fd5b50565b612bcb816126a4565b8114612bd657600080fd5b50565b612be2816126ce565b8114612bed57600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122079a8a81715ebf41d134bb64167fb2f56e849b251fc0b7d2e8b4e5d2f3b96b57a64736f6c63430008070033", + Bin: "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c4d620002436000396000818161038701528181610416015281816105100152818161059f0152610a060152612c4d6000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063c4d66de811610059578063c4d66de814610271578063cb0271ed1461029a578063dda79b75146102c3578063f2fde38b146102ee576100dd565b80638da5cb5b146102015780639372c4ab1461022c578063ae7a3a6f14610248576100dd565b80635131ab59116100bb5780635131ab591461015757806352d1902d146101945780635b112591146101bf578063715018a6146101ea576100dd565b80631cff79cd146100e25780633659cfe6146101125780634f1ef2861461013b575b600080fd5b6100fc60048036038101906100f79190611d45565b610317565b60405161010991906123bc565b60405180910390f35b34801561011e57600080fd5b5061013960048036038101906101349190611c90565b610385565b005b61015560048036038101906101509190611da5565b61050e565b005b34801561016357600080fd5b5061017e60048036038101906101799190611cbd565b61064b565b60405161018b91906123bc565b60405180910390f35b3480156101a057600080fd5b506101a9610a02565b6040516101b6919061236f565b60405180910390f35b3480156101cb57600080fd5b506101d4610abb565b6040516101e191906122cb565b60405180910390f35b3480156101f657600080fd5b506101ff610ae1565b005b34801561020d57600080fd5b50610216610af5565b60405161022391906122cb565b60405180910390f35b61024660048036038101906102419190611ecf565b610b1f565b005b34801561025457600080fd5b5061026f600480360381019061026a9190611c90565b610c68565b005b34801561027d57600080fd5b5061029860048036038101906102939190611c90565b610cac565b005b3480156102a657600080fd5b506102c160048036038101906102bc9190611e5b565b610e9b565b005b3480156102cf57600080fd5b506102d8610f42565b6040516102e591906122cb565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190611c90565b610f68565b005b60606000610326858585610fec565b90508473ffffffffffffffffffffffffffffffffffffffff167f373df382b9c587826f3de13f16d67f8d99f28ee947fc0924c6ef2d6d2c7e8546348686604051610372939291906125bb565b60405180910390a2809150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040b9061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104536110a3565b73ffffffffffffffffffffffffffffffffffffffff16146104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a09061245b565b60405180910390fd5b6104b2816110fa565b61050b81600067ffffffffffffffff8111156104d1576104d061277c565b5b6040519080825280601f01601f1916602001820160405280156105035781602001600182028036833780820191505090505b506000611105565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16141561059d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105949061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105dc6110a3565b73ffffffffffffffffffffffffffffffffffffffff1614610632576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106299061245b565b60405180910390fd5b61063b826110fa565b61064782826001611105565b5050565b60608573ffffffffffffffffffffffffffffffffffffffff1663095ea7b38660006040518363ffffffff1660e01b815260040161068992919061231d565b602060405180830381600087803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190611e01565b610711576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b815260040161074c929190612346565b602060405180830381600087803b15801561076657600080fd5b505af115801561077a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079e9190611e01565b6107d4576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107e1868585610fec565b90508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b38760006040518363ffffffff1660e01b815260040161081f92919061231d565b602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108719190611e01565b6108a7576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108e291906122cb565b60206040518083038186803b1580156108fa57600080fd5b505afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190611f2f565b9050600081111561098b5761098a60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166112829092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b73828888886040516109ec939291906125bb565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061249b565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae9611308565b610af36000611386565b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000341415610b5a576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610ba2906122b6565b60006040518083038185875af1925050503d8060008114610bdf576040519150601f19603f3d011682016040523d82523d6000602084013e610be4565b606091505b50509050600015158115151415610c27576040517f81063e5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa93afc57f3be4641cf20c7165d11856f3b46dd376108e5fffb06f73f2b2a6d58848434604051610c5a9392919061238a565b60405180910390a150505050565b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610cdd5750600160008054906101000a900460ff1660ff16105b80610d0a5750610cec3061144c565b158015610d095750600160008054906101000a900460ff1660ff16145b5b610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906124db565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610d86576001600060016101000a81548160ff0219169083151502179055505b610d8e61146f565b610d966114c8565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dfd576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610e975760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610e8e91906123de565b60405180910390a15b5050565b610eea3360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838573ffffffffffffffffffffffffffffffffffffffff16611519909392919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f35fb30ed1b8e81eb91001dad742b13b1491a67c722e8c593a886a18500f7d9af858584604051610f349392919061238a565b60405180910390a250505050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f70611308565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd79061241b565b60405180910390fd5b610fe981611386565b50565b60606000808573ffffffffffffffffffffffffffffffffffffffff16348686604051611019929190612286565b60006040518083038185875af1925050503d8060008114611056576040519150601f19603f3d011682016040523d82523d6000602084013e61105b565b606091505b509150915081611097576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006110d17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611102611308565b50565b6111317f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6115ac565b60000160009054906101000a900460ff161561115557611150836115b6565b61127d565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561119b57600080fd5b505afa9250505080156111cc57506040513d601f19601f820116820180604052508101906111c99190611e2e565b60015b61120b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611202906124fb565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611270576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611267906124bb565b60405180910390fd5b5061127c83838361166f565b5b505050565b6113038363a9059cbb60e01b84846040516024016112a1929190612346565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b505050565b611310611762565b73ffffffffffffffffffffffffffffffffffffffff1661132e610af5565b73ffffffffffffffffffffffffffffffffffffffff1614611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b9061253b565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b59061257b565b60405180910390fd5b6114c661176a565b565b600060019054906101000a900460ff16611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e9061257b565b60405180910390fd5b565b61159c846323b872dd60e01b85858560405160240161153a939291906122e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b50505050565b6000819050919050565b6000819050919050565b6115bf8161144c565b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061251b565b60405180910390fd5b8061162b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611678836117cb565b6000825111806116855750805b1561169657611694838361181a565b505b505050565b60006116fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166118479092919063ffffffff16565b905060008151111561175d578080602001905181019061171d9190611e01565b61175c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117539061259b565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff166117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09061257b565b60405180910390fd5b6117c96117c4611762565b611386565b565b6117d4816115b6565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b606061183f8383604051806060016040528060278152602001612bf16027913961185f565b905092915050565b606061185684846000856118e5565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611889919061229f565b600060405180830381855af49150503d80600081146118c4576040519150601f19603f3d011682016040523d82523d6000602084013e6118c9565b606091505b50915091506118da868383876119b2565b925050509392505050565b60608247101561192a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119219061247b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611953919061229f565b60006040518083038185875af1925050503d8060008114611990576040519150601f19603f3d011682016040523d82523d6000602084013e611995565b606091505b50915091506119a687838387611a28565b92505050949350505050565b60608315611a1557600083511415611a0d576119cd8561144c565b611a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a039061255b565b60405180910390fd5b5b829050611a20565b611a1f8383611a9e565b5b949350505050565b60608315611a8b57600083511415611a8357611a4385611aee565b611a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a799061255b565b60405180910390fd5b5b829050611a96565b611a958383611b11565b5b949350505050565b600082511115611ab15781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae591906123f9565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611b245781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5891906123f9565b60405180910390fd5b6000611b74611b6f84612612565b6125ed565b905082815260208101848484011115611b9057611b8f6127ba565b5b611b9b848285612709565b509392505050565b600081359050611bb281612b94565b92915050565b600081519050611bc781612bab565b92915050565b600081519050611bdc81612bc2565b92915050565b60008083601f840112611bf857611bf76127b0565b5b8235905067ffffffffffffffff811115611c1557611c146127ab565b5b602083019150836001820283011115611c3157611c306127b5565b5b9250929050565b600082601f830112611c4d57611c4c6127b0565b5b8135611c5d848260208601611b61565b91505092915050565b600081359050611c7581612bd9565b92915050565b600081519050611c8a81612bd9565b92915050565b600060208284031215611ca657611ca56127c4565b5b6000611cb484828501611ba3565b91505092915050565b600080600080600060808688031215611cd957611cd86127c4565b5b6000611ce788828901611ba3565b9550506020611cf888828901611ba3565b9450506040611d0988828901611c66565b935050606086013567ffffffffffffffff811115611d2a57611d296127bf565b5b611d3688828901611be2565b92509250509295509295909350565b600080600060408486031215611d5e57611d5d6127c4565b5b6000611d6c86828701611ba3565b935050602084013567ffffffffffffffff811115611d8d57611d8c6127bf565b5b611d9986828701611be2565b92509250509250925092565b60008060408385031215611dbc57611dbb6127c4565b5b6000611dca85828601611ba3565b925050602083013567ffffffffffffffff811115611deb57611dea6127bf565b5b611df785828601611c38565b9150509250929050565b600060208284031215611e1757611e166127c4565b5b6000611e2584828501611bb8565b91505092915050565b600060208284031215611e4457611e436127c4565b5b6000611e5284828501611bcd565b91505092915050565b60008060008060608587031215611e7557611e746127c4565b5b600085013567ffffffffffffffff811115611e9357611e926127bf565b5b611e9f87828801611be2565b94509450506020611eb287828801611ba3565b9250506040611ec387828801611c66565b91505092959194509250565b600080600060408486031215611ee857611ee76127c4565b5b600084013567ffffffffffffffff811115611f0657611f056127bf565b5b611f1286828701611be2565b93509350506020611f2586828701611c66565b9150509250925092565b600060208284031215611f4557611f446127c4565b5b6000611f5384828501611c7b565b91505092915050565b611f6581612686565b82525050565b611f74816126a4565b82525050565b6000611f868385612659565b9350611f93838584612709565b611f9c836127c9565b840190509392505050565b6000611fb3838561266a565b9350611fc0838584612709565b82840190509392505050565b6000611fd782612643565b611fe18185612659565b9350611ff1818560208601612718565b611ffa816127c9565b840191505092915050565b600061201082612643565b61201a818561266a565b935061202a818560208601612718565b80840191505092915050565b61203f816126e5565b82525050565b61204e816126f7565b82525050565b600061205f8261264e565b6120698185612675565b9350612079818560208601612718565b612082816127c9565b840191505092915050565b600061209a602683612675565b91506120a5826127da565b604082019050919050565b60006120bd602c83612675565b91506120c882612829565b604082019050919050565b60006120e0602c83612675565b91506120eb82612878565b604082019050919050565b6000612103602683612675565b915061210e826128c7565b604082019050919050565b6000612126603883612675565b915061213182612916565b604082019050919050565b6000612149602983612675565b915061215482612965565b604082019050919050565b600061216c602e83612675565b9150612177826129b4565b604082019050919050565b600061218f602e83612675565b915061219a82612a03565b604082019050919050565b60006121b2602d83612675565b91506121bd82612a52565b604082019050919050565b60006121d5602083612675565b91506121e082612aa1565b602082019050919050565b60006121f860008361266a565b915061220382612aca565b600082019050919050565b600061221b601d83612675565b915061222682612acd565b602082019050919050565b600061223e602b83612675565b915061224982612af6565b604082019050919050565b6000612261602a83612675565b915061226c82612b45565b604082019050919050565b612280816126ce565b82525050565b6000612293828486611fa7565b91508190509392505050565b60006122ab8284612005565b915081905092915050565b60006122c1826121eb565b9150819050919050565b60006020820190506122e06000830184611f5c565b92915050565b60006060820190506122fb6000830186611f5c565b6123086020830185611f5c565b6123156040830184612277565b949350505050565b60006040820190506123326000830185611f5c565b61233f6020830184612036565b9392505050565b600060408201905061235b6000830185611f5c565b6123686020830184612277565b9392505050565b60006020820190506123846000830184611f6b565b92915050565b600060408201905081810360008301526123a5818587611f7a565b90506123b46020830184612277565b949350505050565b600060208201905081810360008301526123d68184611fcc565b905092915050565b60006020820190506123f36000830184612045565b92915050565b600060208201905081810360008301526124138184612054565b905092915050565b600060208201905081810360008301526124348161208d565b9050919050565b60006020820190508181036000830152612454816120b0565b9050919050565b60006020820190508181036000830152612474816120d3565b9050919050565b60006020820190508181036000830152612494816120f6565b9050919050565b600060208201905081810360008301526124b481612119565b9050919050565b600060208201905081810360008301526124d48161213c565b9050919050565b600060208201905081810360008301526124f48161215f565b9050919050565b6000602082019050818103600083015261251481612182565b9050919050565b60006020820190508181036000830152612534816121a5565b9050919050565b60006020820190508181036000830152612554816121c8565b9050919050565b600060208201905081810360008301526125748161220e565b9050919050565b6000602082019050818103600083015261259481612231565b9050919050565b600060208201905081810360008301526125b481612254565b9050919050565b60006040820190506125d06000830186612277565b81810360208301526125e3818486611f7a565b9050949350505050565b60006125f7612608565b9050612603828261274b565b919050565b6000604051905090565b600067ffffffffffffffff82111561262d5761262c61277c565b5b612636826127c9565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612691826126ae565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126f0826126ce565b9050919050565b6000612702826126d8565b9050919050565b82818337600083830152505050565b60005b8381101561273657808201518184015260208101905061271b565b83811115612745576000848401525b50505050565b612754826127c9565b810181811067ffffffffffffffff821117156127735761277261277c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b612b9d81612686565b8114612ba857600080fd5b50565b612bb481612698565b8114612bbf57600080fd5b50565b612bcb816126a4565b8114612bd657600080fd5b50565b612be2816126ce565b8114612bed57600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220699c2256eca66f8488c1485e7974cf745161cc9a860fbfb0f8c6b08bc28e39a364736f6c63430008070033", } // GatewayEVMUpgradeTestABI is the input ABI used to generate the binding from. diff --git a/pkg/contracts/prototypes/evm/receiverevm.sol/receiverevm.go b/pkg/contracts/prototypes/evm/receiverevm.sol/receiverevm.go index 5856f803..74e1c04d 100644 --- a/pkg/contracts/prototypes/evm/receiverevm.sol/receiverevm.go +++ b/pkg/contracts/prototypes/evm/receiverevm.sol/receiverevm.go @@ -32,7 +32,7 @@ var ( // ReceiverEVMMetaData contains all meta data concerning the ReceiverEVM contract. var ReceiverEVMMetaData = &bind.MetaData{ ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"}],\"name\":\"ReceivedERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ReceivedNoParams\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"strs\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"nums\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"ReceivedNonPayable\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"ReceivedPayable\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"}],\"name\":\"receiveERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiveNoParams\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"strs\",\"type\":\"string[]\"},{\"internalType\":\"uint256[]\",\"name\":\"nums\",\"type\":\"uint256[]\"},{\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"receiveNonPayable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"receivePayable\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea2646970667358221220086a1c9f56ed96506c7198d50cf431a5b03003c16cd4168d2395cdedfc1ac06164736f6c63430008070033", + Bin: "0x608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea264697066735822122051bc1e54f38c77a2494563adb3467b39c2fd6e537d1dc0ced5a09c32d03b765064736f6c63430008070033", } // ReceiverEVMABI is the input ABI used to generate the binding from. diff --git a/pkg/contracts/prototypes/evm/testerc20.sol/testerc20.go b/pkg/contracts/prototypes/evm/testerc20.sol/testerc20.go index 5e2a85eb..b759aaaf 100644 --- a/pkg/contracts/prototypes/evm/testerc20.sol/testerc20.go +++ b/pkg/contracts/prototypes/evm/testerc20.sol/testerc20.go @@ -32,7 +32,7 @@ var ( // TestERC20MetaData contains all meta data concerning the TestERC20 contract. var TestERC20MetaData = &bind.MetaData{ ABI: "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"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\":\"amount\",\"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\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c63430008070033", + Bin: "0x60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220545991303ac9a4f6b3cfc261c565c8e48863d83d13d75ba6df5ddb3ee8e609dd64736f6c63430008070033", } // TestERC20ABI is the input ABI used to generate the binding from. diff --git a/pkg/contracts/prototypes/test/gatewayevm.t.sol/gatewayevmtest.go b/pkg/contracts/prototypes/test/gatewayevm.t.sol/gatewayevmtest.go deleted file mode 100644 index b7168498..00000000 --- a/pkg/contracts/prototypes/test/gatewayevm.t.sol/gatewayevmtest.go +++ /dev/null @@ -1,4753 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package gatewayevm - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdInvariantFuzzArtifactSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzArtifactSelector struct { - Artifact string - Selectors [][4]byte -} - -// StdInvariantFuzzInterface is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzInterface struct { - Addr common.Address - Artifacts []string -} - -// StdInvariantFuzzSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzSelector struct { - Addr common.Address - Selectors [][4]byte -} - -// GatewayEVMTestMetaData contains all meta data concerning the GatewayEVMTest contract. -var GatewayEVMTestMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"ApprovalFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CustodyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExecutionFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientERC20Amount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientETHAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"Call\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Executed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExecutedWithERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"}],\"name\":\"ReceivedERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ReceivedNoParams\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"strs\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"nums\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"ReceivedNonPayable\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"ReceivedPayable\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"structStdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testForwardCallToReceivePayable\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b5061807d806100566000396000f3fe60806040523480156200001157600080fd5b5060043610620001005760003560e01c8063916a17c61162000099578063ba414fa6116200006f578063ba414fa61462000243578063e20c9f711462000265578063fa7626d41462000287578063fe7bdbb214620002a95762000100565b8063916a17c614620001dd578063b0464fdc14620001ff578063b5508aa914620002215762000100565b80633e5e3c2311620000db5780633e5e3c2314620001555780633f7286f4146200017757806366d9a9a0146200019957806385226c8114620001bb5762000100565b80630a9254e414620001055780631ed7831c14620001115780632ade38801462000133575b600080fd5b6200010f620002b5565b005b6200011b620007f5565b6040516200012a919062001fc1565b60405180910390f35b6200013d62000885565b6040516200014c91906200202d565b60405180910390f35b6200015f62000a1f565b6040516200016e919062001fc1565b60405180910390f35b6200018162000aaf565b60405162000190919062001fc1565b60405180910390f35b620001a362000b3f565b604051620001b2919062002009565b60405180910390f35b620001c562000cd6565b604051620001d4919062001fe5565b60405180910390f35b620001e762000db9565b604051620001f6919062002051565b60405180910390f35b6200020962000f0c565b60405162000218919062002051565b60405180910390f35b6200022b6200105f565b6040516200023a919062001fe5565b60405180910390f35b6200024d62001142565b6040516200025c919062002075565b60405180910390f35b6200026f62001275565b6040516200027e919062001fc1565b60405180910390f35b6200029162001305565b604051620002a0919062002075565b60405180910390f35b620002b362001318565b005b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615678602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040516200038a90620016d2565b620003959062002133565b604051809103906000f080158015620003b2573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040516200040190620016e0565b604051809103906000f0801580156200041e573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200049090620016ee565b6200049c919062001ea5565b604051809103906000f080158015620004b9573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de8602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000579919062001ea5565b600060405180830381600087803b1580156200059457600080fd5b505af1158015620005a9573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae7a3a6f602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200062c919062001ea5565b600060405180830381600087803b1580156200064757600080fd5b505af11580156200065c573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b8152600401620006e492919062001f23565b600060405180830381600087803b158015620006ff57600080fd5b505af115801562000714573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166207a1206040518363ffffffff1660e01b81526004016200079c92919062001f50565b602060405180830381600087803b158015620007b757600080fd5b505af1158015620007cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007f29190620017a8565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200087b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000830575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000a1657838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015620009fe5783829060005260206000200180546200096a906200248b565b80601f016020809104026020016040519081016040528092919081815260200182805462000998906200248b565b8015620009e95780601f10620009bd57610100808354040283529160200191620009e9565b820191906000526020600020905b815481529060010190602001808311620009cb57829003601f168201915b50505050508152602001906001019062000948565b505050508152505081526020019060010190620008a9565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000aa557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000a5a575b5050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000b3557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000aea575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000ccd578382906000526020600020906002020160405180604001604052908160008201805462000b99906200248b565b80601f016020809104026020016040519081016040528092919081815260200182805462000bc7906200248b565b801562000c185780601f1062000bec5761010080835404028352916020019162000c18565b820191906000526020600020905b81548152906001019060200180831162000bfa57829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801562000cb457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000c605790505b5050505050815250508152602001906001019062000b63565b50505050905090565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000db057838290600052602060002001805462000d1c906200248b565b80601f016020809104026020016040519081016040528092919081815260200182805462000d4a906200248b565b801562000d9b5780601f1062000d6f5761010080835404028352916020019162000d9b565b820191906000526020600020905b81548152906001019060200180831162000d7d57829003601f168201915b50505050508152602001906001019062000cfa565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000f0357838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562000eea57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000e965790505b5050505050815250508152602001906001019062000ddd565b50505050905090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200105657838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156200103d57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000fe95790505b5050505050815250508152602001906001019062000f30565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001139578382906000526020600020018054620010a5906200248b565b80601f0160208091040260200160405190810160405280929190818152602001828054620010d3906200248b565b8015620011245780601f10620010f85761010080835404028352916020019162001124565b820191906000526020600020905b8154815290600101906020018083116200110657829003601f168201915b50505050508152602001906001019062001083565b50505050905090565b6000600860009054906101000a900460ff16156200117257600860009054906101000a900460ff16905062001272565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016200121992919062001ec2565b60206040518083038186803b1580156200123257600080fd5b505afa15801562001247573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200126d9190620017da565b141590505b90565b60606015805480602002602001604051908101604052809291908181526020018280548015620012fb57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620012b0575b5050505050905090565b601f60009054906101000a900460ff1681565b60006040518060400160405280600f81526020017f48656c6c6f2c20466f756e64727921000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a7640000905060008484846040516024016200138493929190620020ef565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f30c7ba3602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684846040518463ffffffff1660e01b8152600401620014879392919062001f7d565b600060405180830381600087803b158015620014a257600080fd5b505af1158015620014b7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200154595949392919062002092565b600060405180830381600087803b1580156200156057600080fd5b505af115801562001575573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f8383604051620015e59291906200216a565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd83602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b81526004016200166f92919062001eef565b6000604051808303818588803b1580156200168957600080fd5b505af11580156200169e573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f82011682018060405250810190620016ca91906200180c565b505050505050565b611813806200260183390190565b6131a48062003e1483390190565b6110908062006fb883390190565b6000620017136200170d84620021c7565b6200219e565b9050828152602081018484840111156200173257620017316200255a565b5b6200173f84828562002455565b509392505050565b6000815190506200175881620025cc565b92915050565b6000815190506200176f81620025e6565b92915050565b600082601f8301126200178d576200178c62002555565b5b81516200179f848260208601620016fc565b91505092915050565b600060208284031215620017c157620017c062002564565b5b6000620017d18482850162001747565b91505092915050565b600060208284031215620017f357620017f262002564565b5b600062001803848285016200175e565b91505092915050565b60006020828403121562001825576200182462002564565b5b600082015167ffffffffffffffff8111156200184657620018456200255f565b5b620018548482850162001775565b91505092915050565b60006200186b8383620018e9565b60208301905092915050565b600062001885838362001c86565b60208301905092915050565b60006200189f838362001cfa565b905092915050565b6000620018b5838362001dca565b905092915050565b6000620018cb838362001e12565b905092915050565b6000620018e1838362001e53565b905092915050565b620018f481620023ad565b82525050565b6200190581620023ad565b82525050565b600062001918826200225d565b62001924818562002303565b93506200193183620021fd565b8060005b83811015620019685781516200194c88826200185d565b97506200195983620022b5565b92505060018101905062001935565b5085935050505092915050565b6000620019828262002268565b6200198e818562002314565b93506200199b836200220d565b8060005b83811015620019d2578151620019b6888262001877565b9750620019c383620022c2565b9250506001810190506200199f565b5085935050505092915050565b6000620019ec8262002273565b620019f8818562002325565b93508360208202850162001a0c856200221d565b8060005b8581101562001a4e578484038952815162001a2c858262001891565b945062001a3983620022cf565b925060208a0199505060018101905062001a10565b50829750879550505050505092915050565b600062001a6d8262002273565b62001a79818562002336565b93508360208202850162001a8d856200221d565b8060005b8581101562001acf578484038952815162001aad858262001891565b945062001aba83620022cf565b925060208a0199505060018101905062001a91565b50829750879550505050505092915050565b600062001aee826200227e565b62001afa818562002347565b93508360208202850162001b0e856200222d565b8060005b8581101562001b50578484038952815162001b2e8582620018a7565b945062001b3b83620022dc565b925060208a0199505060018101905062001b12565b50829750879550505050505092915050565b600062001b6f8262002289565b62001b7b818562002358565b93508360208202850162001b8f856200223d565b8060005b8581101562001bd1578484038952815162001baf8582620018bd565b945062001bbc83620022e9565b925060208a0199505060018101905062001b93565b50829750879550505050505092915050565b600062001bf08262002294565b62001bfc818562002369565b93508360208202850162001c10856200224d565b8060005b8581101562001c52578484038952815162001c308582620018d3565b945062001c3d83620022f6565b925060208a0199505060018101905062001c14565b50829750879550505050505092915050565b62001c6f81620023c1565b82525050565b62001c8081620023cd565b82525050565b62001c9181620023d7565b82525050565b600062001ca4826200229f565b62001cb081856200237a565b935062001cc281856020860162002455565b62001ccd8162002569565b840191505092915050565b62001ce3816200242d565b82525050565b62001cf48162002441565b82525050565b600062001d0782620022aa565b62001d1381856200238b565b935062001d2581856020860162002455565b62001d308162002569565b840191505092915050565b600062001d4882620022aa565b62001d5481856200239c565b935062001d6681856020860162002455565b62001d718162002569565b840191505092915050565b600062001d8b6003836200239c565b915062001d98826200257a565b602082019050919050565b600062001db26004836200239c565b915062001dbf82620025a3565b602082019050919050565b6000604083016000830151848203600086015262001de9828262001cfa565b9150506020830151848203602086015262001e05828262001975565b9150508091505092915050565b600060408301600083015162001e2c6000860182620018e9565b506020830151848203602086015262001e468282620019df565b9150508091505092915050565b600060408301600083015162001e6d6000860182620018e9565b506020830151848203602086015262001e87828262001975565b9150508091505092915050565b62001e9f8162002423565b82525050565b600060208201905062001ebc6000830184620018fa565b92915050565b600060408201905062001ed96000830185620018fa565b62001ee8602083018462001c75565b9392505050565b600060408201905062001f066000830185620018fa565b818103602083015262001f1a818462001c97565b90509392505050565b600060408201905062001f3a6000830185620018fa565b62001f49602083018462001cd8565b9392505050565b600060408201905062001f676000830185620018fa565b62001f76602083018462001ce9565b9392505050565b600060608201905062001f946000830186620018fa565b62001fa3602083018562001e94565b818103604083015262001fb7818462001c97565b9050949350505050565b6000602082019050818103600083015262001fdd81846200190b565b905092915050565b6000602082019050818103600083015262002001818462001a60565b905092915050565b6000602082019050818103600083015262002025818462001ae1565b905092915050565b6000602082019050818103600083015262002049818462001b62565b905092915050565b600060208201905081810360008301526200206d818462001be3565b905092915050565b60006020820190506200208c600083018462001c64565b92915050565b600060a082019050620020a9600083018862001c64565b620020b8602083018762001c64565b620020c7604083018662001c64565b620020d6606083018562001c64565b620020e56080830184620018fa565b9695505050505050565b600060608201905081810360008301526200210b818662001d3b565b90506200211c602083018562001e94565b6200212b604083018462001c64565b949350505050565b600060408201905081810360008301526200214e8162001da3565b90508181036020830152620021638162001d7c565b9050919050565b600060408201905062002181600083018562001e94565b818103602083015262002195818462001c97565b90509392505050565b6000620021aa620021bd565b9050620021b88282620024c1565b919050565b6000604051905090565b600067ffffffffffffffff821115620021e557620021e462002526565b5b620021f08262002569565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620023ba8262002403565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200243a8262002423565b9050919050565b60006200244e8262002423565b9050919050565b60005b838110156200247557808201518184015260208101905062002458565b8381111562002485576000848401525b50505050565b60006002820490506001821680620024a457607f821691505b60208210811415620024bb57620024ba620024f7565b5b50919050565b620024cc8262002569565b810181811067ffffffffffffffff82111715620024ee57620024ed62002526565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54544b0000000000000000000000000000000000000000000000000000000000600082015250565b7f7465737400000000000000000000000000000000000000000000000000000000600082015250565b620025d781620023c1565b8114620025e357600080fd5b50565b620025f181620023cd565b8114620025fd57600080fd5b5056fe60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220154452ab17b7ec6558ae20cf0777deee4780b8e192489db9d10e2ac9e3d689a364736f6c6343000807003360806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033a2646970667358221220f8f2d8477a234d7a8fcaca5977a1df95d9cfab29717831cdaf5b49b35190234764736f6c63430008070033", -} - -// GatewayEVMTestABI is the input ABI used to generate the binding from. -// Deprecated: Use GatewayEVMTestMetaData.ABI instead. -var GatewayEVMTestABI = GatewayEVMTestMetaData.ABI - -// GatewayEVMTestBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use GatewayEVMTestMetaData.Bin instead. -var GatewayEVMTestBin = GatewayEVMTestMetaData.Bin - -// DeployGatewayEVMTest deploys a new Ethereum contract, binding an instance of GatewayEVMTest to it. -func DeployGatewayEVMTest(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *GatewayEVMTest, error) { - parsed, err := GatewayEVMTestMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(GatewayEVMTestBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &GatewayEVMTest{GatewayEVMTestCaller: GatewayEVMTestCaller{contract: contract}, GatewayEVMTestTransactor: GatewayEVMTestTransactor{contract: contract}, GatewayEVMTestFilterer: GatewayEVMTestFilterer{contract: contract}}, nil -} - -// GatewayEVMTest is an auto generated Go binding around an Ethereum contract. -type GatewayEVMTest struct { - GatewayEVMTestCaller // Read-only binding to the contract - GatewayEVMTestTransactor // Write-only binding to the contract - GatewayEVMTestFilterer // Log filterer for contract events -} - -// GatewayEVMTestCaller is an auto generated read-only Go binding around an Ethereum contract. -type GatewayEVMTestCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// GatewayEVMTestTransactor is an auto generated write-only Go binding around an Ethereum contract. -type GatewayEVMTestTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// GatewayEVMTestFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type GatewayEVMTestFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// GatewayEVMTestSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type GatewayEVMTestSession struct { - Contract *GatewayEVMTest // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// GatewayEVMTestCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type GatewayEVMTestCallerSession struct { - Contract *GatewayEVMTestCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// GatewayEVMTestTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type GatewayEVMTestTransactorSession struct { - Contract *GatewayEVMTestTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// GatewayEVMTestRaw is an auto generated low-level Go binding around an Ethereum contract. -type GatewayEVMTestRaw struct { - Contract *GatewayEVMTest // Generic contract binding to access the raw methods on -} - -// GatewayEVMTestCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type GatewayEVMTestCallerRaw struct { - Contract *GatewayEVMTestCaller // Generic read-only contract binding to access the raw methods on -} - -// GatewayEVMTestTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type GatewayEVMTestTransactorRaw struct { - Contract *GatewayEVMTestTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewGatewayEVMTest creates a new instance of GatewayEVMTest, bound to a specific deployed contract. -func NewGatewayEVMTest(address common.Address, backend bind.ContractBackend) (*GatewayEVMTest, error) { - contract, err := bindGatewayEVMTest(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &GatewayEVMTest{GatewayEVMTestCaller: GatewayEVMTestCaller{contract: contract}, GatewayEVMTestTransactor: GatewayEVMTestTransactor{contract: contract}, GatewayEVMTestFilterer: GatewayEVMTestFilterer{contract: contract}}, nil -} - -// NewGatewayEVMTestCaller creates a new read-only instance of GatewayEVMTest, bound to a specific deployed contract. -func NewGatewayEVMTestCaller(address common.Address, caller bind.ContractCaller) (*GatewayEVMTestCaller, error) { - contract, err := bindGatewayEVMTest(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &GatewayEVMTestCaller{contract: contract}, nil -} - -// NewGatewayEVMTestTransactor creates a new write-only instance of GatewayEVMTest, bound to a specific deployed contract. -func NewGatewayEVMTestTransactor(address common.Address, transactor bind.ContractTransactor) (*GatewayEVMTestTransactor, error) { - contract, err := bindGatewayEVMTest(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &GatewayEVMTestTransactor{contract: contract}, nil -} - -// NewGatewayEVMTestFilterer creates a new log filterer instance of GatewayEVMTest, bound to a specific deployed contract. -func NewGatewayEVMTestFilterer(address common.Address, filterer bind.ContractFilterer) (*GatewayEVMTestFilterer, error) { - contract, err := bindGatewayEVMTest(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &GatewayEVMTestFilterer{contract: contract}, nil -} - -// bindGatewayEVMTest binds a generic wrapper to an already deployed contract. -func bindGatewayEVMTest(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := GatewayEVMTestMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_GatewayEVMTest *GatewayEVMTestRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _GatewayEVMTest.Contract.GatewayEVMTestCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_GatewayEVMTest *GatewayEVMTestRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMTest.Contract.GatewayEVMTestTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_GatewayEVMTest *GatewayEVMTestRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _GatewayEVMTest.Contract.GatewayEVMTestTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_GatewayEVMTest *GatewayEVMTestCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _GatewayEVMTest.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_GatewayEVMTest *GatewayEVMTestTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMTest.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_GatewayEVMTest *GatewayEVMTestTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _GatewayEVMTest.Contract.contract.Transact(opts, method, params...) -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_GatewayEVMTest *GatewayEVMTestCaller) ISTEST(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "IS_TEST") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_GatewayEVMTest *GatewayEVMTestSession) ISTEST() (bool, error) { - return _GatewayEVMTest.Contract.ISTEST(&_GatewayEVMTest.CallOpts) -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) ISTEST() (bool, error) { - return _GatewayEVMTest.Contract.ISTEST(&_GatewayEVMTest.CallOpts) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_GatewayEVMTest *GatewayEVMTestCaller) ExcludeArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "excludeArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_GatewayEVMTest *GatewayEVMTestSession) ExcludeArtifacts() ([]string, error) { - return _GatewayEVMTest.Contract.ExcludeArtifacts(&_GatewayEVMTest.CallOpts) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) ExcludeArtifacts() ([]string, error) { - return _GatewayEVMTest.Contract.ExcludeArtifacts(&_GatewayEVMTest.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_GatewayEVMTest *GatewayEVMTestCaller) ExcludeContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "excludeContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_GatewayEVMTest *GatewayEVMTestSession) ExcludeContracts() ([]common.Address, error) { - return _GatewayEVMTest.Contract.ExcludeContracts(&_GatewayEVMTest.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) ExcludeContracts() ([]common.Address, error) { - return _GatewayEVMTest.Contract.ExcludeContracts(&_GatewayEVMTest.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_GatewayEVMTest *GatewayEVMTestCaller) ExcludeSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "excludeSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_GatewayEVMTest *GatewayEVMTestSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMTest.Contract.ExcludeSelectors(&_GatewayEVMTest.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMTest.Contract.ExcludeSelectors(&_GatewayEVMTest.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_GatewayEVMTest *GatewayEVMTestCaller) ExcludeSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "excludeSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_GatewayEVMTest *GatewayEVMTestSession) ExcludeSenders() ([]common.Address, error) { - return _GatewayEVMTest.Contract.ExcludeSenders(&_GatewayEVMTest.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) ExcludeSenders() ([]common.Address, error) { - return _GatewayEVMTest.Contract.ExcludeSenders(&_GatewayEVMTest.CallOpts) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_GatewayEVMTest *GatewayEVMTestCaller) Failed(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "failed") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_GatewayEVMTest *GatewayEVMTestSession) Failed() (bool, error) { - return _GatewayEVMTest.Contract.Failed(&_GatewayEVMTest.CallOpts) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) Failed() (bool, error) { - return _GatewayEVMTest.Contract.Failed(&_GatewayEVMTest.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_GatewayEVMTest *GatewayEVMTestCaller) TargetArtifactSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzArtifactSelector, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "targetArtifactSelectors") - - if err != nil { - return *new([]StdInvariantFuzzArtifactSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzArtifactSelector)).(*[]StdInvariantFuzzArtifactSelector) - - return out0, err - -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_GatewayEVMTest *GatewayEVMTestSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _GatewayEVMTest.Contract.TargetArtifactSelectors(&_GatewayEVMTest.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _GatewayEVMTest.Contract.TargetArtifactSelectors(&_GatewayEVMTest.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_GatewayEVMTest *GatewayEVMTestCaller) TargetArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "targetArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_GatewayEVMTest *GatewayEVMTestSession) TargetArtifacts() ([]string, error) { - return _GatewayEVMTest.Contract.TargetArtifacts(&_GatewayEVMTest.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) TargetArtifacts() ([]string, error) { - return _GatewayEVMTest.Contract.TargetArtifacts(&_GatewayEVMTest.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_GatewayEVMTest *GatewayEVMTestCaller) TargetContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "targetContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_GatewayEVMTest *GatewayEVMTestSession) TargetContracts() ([]common.Address, error) { - return _GatewayEVMTest.Contract.TargetContracts(&_GatewayEVMTest.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) TargetContracts() ([]common.Address, error) { - return _GatewayEVMTest.Contract.TargetContracts(&_GatewayEVMTest.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_GatewayEVMTest *GatewayEVMTestCaller) TargetInterfaces(opts *bind.CallOpts) ([]StdInvariantFuzzInterface, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "targetInterfaces") - - if err != nil { - return *new([]StdInvariantFuzzInterface), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzInterface)).(*[]StdInvariantFuzzInterface) - - return out0, err - -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_GatewayEVMTest *GatewayEVMTestSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _GatewayEVMTest.Contract.TargetInterfaces(&_GatewayEVMTest.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _GatewayEVMTest.Contract.TargetInterfaces(&_GatewayEVMTest.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_GatewayEVMTest *GatewayEVMTestCaller) TargetSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "targetSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_GatewayEVMTest *GatewayEVMTestSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMTest.Contract.TargetSelectors(&_GatewayEVMTest.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMTest.Contract.TargetSelectors(&_GatewayEVMTest.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_GatewayEVMTest *GatewayEVMTestCaller) TargetSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMTest.contract.Call(opts, &out, "targetSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_GatewayEVMTest *GatewayEVMTestSession) TargetSenders() ([]common.Address, error) { - return _GatewayEVMTest.Contract.TargetSenders(&_GatewayEVMTest.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_GatewayEVMTest *GatewayEVMTestCallerSession) TargetSenders() ([]common.Address, error) { - return _GatewayEVMTest.Contract.TargetSenders(&_GatewayEVMTest.CallOpts) -} - -// SetUp is a paid mutator transaction binding the contract method 0x0a9254e4. -// -// Solidity: function setUp() returns() -func (_GatewayEVMTest *GatewayEVMTestTransactor) SetUp(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMTest.contract.Transact(opts, "setUp") -} - -// SetUp is a paid mutator transaction binding the contract method 0x0a9254e4. -// -// Solidity: function setUp() returns() -func (_GatewayEVMTest *GatewayEVMTestSession) SetUp() (*types.Transaction, error) { - return _GatewayEVMTest.Contract.SetUp(&_GatewayEVMTest.TransactOpts) -} - -// SetUp is a paid mutator transaction binding the contract method 0x0a9254e4. -// -// Solidity: function setUp() returns() -func (_GatewayEVMTest *GatewayEVMTestTransactorSession) SetUp() (*types.Transaction, error) { - return _GatewayEVMTest.Contract.SetUp(&_GatewayEVMTest.TransactOpts) -} - -// TestForwardCallToReceivePayable is a paid mutator transaction binding the contract method 0xfe7bdbb2. -// -// Solidity: function testForwardCallToReceivePayable() returns() -func (_GatewayEVMTest *GatewayEVMTestTransactor) TestForwardCallToReceivePayable(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMTest.contract.Transact(opts, "testForwardCallToReceivePayable") -} - -// TestForwardCallToReceivePayable is a paid mutator transaction binding the contract method 0xfe7bdbb2. -// -// Solidity: function testForwardCallToReceivePayable() returns() -func (_GatewayEVMTest *GatewayEVMTestSession) TestForwardCallToReceivePayable() (*types.Transaction, error) { - return _GatewayEVMTest.Contract.TestForwardCallToReceivePayable(&_GatewayEVMTest.TransactOpts) -} - -// TestForwardCallToReceivePayable is a paid mutator transaction binding the contract method 0xfe7bdbb2. -// -// Solidity: function testForwardCallToReceivePayable() returns() -func (_GatewayEVMTest *GatewayEVMTestTransactorSession) TestForwardCallToReceivePayable() (*types.Transaction, error) { - return _GatewayEVMTest.Contract.TestForwardCallToReceivePayable(&_GatewayEVMTest.TransactOpts) -} - -// GatewayEVMTestCallIterator is returned from FilterCall and is used to iterate over the raw logs and unpacked data for Call events raised by the GatewayEVMTest contract. -type GatewayEVMTestCallIterator struct { - Event *GatewayEVMTestCall // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestCallIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestCall) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestCall) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestCallIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestCallIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestCall represents a Call event raised by the GatewayEVMTest contract. -type GatewayEVMTestCall struct { - Sender common.Address - Receiver common.Address - Payload []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterCall is a free log retrieval operation binding the contract event 0x2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde3. -// -// Solidity: event Call(address indexed sender, address indexed receiver, bytes payload) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterCall(opts *bind.FilterOpts, sender []common.Address, receiver []common.Address) (*GatewayEVMTestCallIterator, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "Call", senderRule, receiverRule) - if err != nil { - return nil, err - } - return &GatewayEVMTestCallIterator{contract: _GatewayEVMTest.contract, event: "Call", logs: logs, sub: sub}, nil -} - -// WatchCall is a free log subscription operation binding the contract event 0x2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde3. -// -// Solidity: event Call(address indexed sender, address indexed receiver, bytes payload) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchCall(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestCall, sender []common.Address, receiver []common.Address) (event.Subscription, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "Call", senderRule, receiverRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestCall) - if err := _GatewayEVMTest.contract.UnpackLog(event, "Call", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseCall is a log parse operation binding the contract event 0x2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde3. -// -// Solidity: event Call(address indexed sender, address indexed receiver, bytes payload) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseCall(log types.Log) (*GatewayEVMTestCall, error) { - event := new(GatewayEVMTestCall) - if err := _GatewayEVMTest.contract.UnpackLog(event, "Call", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestDepositIterator is returned from FilterDeposit and is used to iterate over the raw logs and unpacked data for Deposit events raised by the GatewayEVMTest contract. -type GatewayEVMTestDepositIterator struct { - Event *GatewayEVMTestDeposit // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestDepositIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestDeposit) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestDeposit) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestDepositIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestDepositIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestDeposit represents a Deposit event raised by the GatewayEVMTest contract. -type GatewayEVMTestDeposit struct { - Sender common.Address - Receiver common.Address - Amount *big.Int - Asset common.Address - Payload []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterDeposit is a free log retrieval operation binding the contract event 0x2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4. -// -// Solidity: event Deposit(address indexed sender, address indexed receiver, uint256 amount, address asset, bytes payload) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterDeposit(opts *bind.FilterOpts, sender []common.Address, receiver []common.Address) (*GatewayEVMTestDepositIterator, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "Deposit", senderRule, receiverRule) - if err != nil { - return nil, err - } - return &GatewayEVMTestDepositIterator{contract: _GatewayEVMTest.contract, event: "Deposit", logs: logs, sub: sub}, nil -} - -// WatchDeposit is a free log subscription operation binding the contract event 0x2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4. -// -// Solidity: event Deposit(address indexed sender, address indexed receiver, uint256 amount, address asset, bytes payload) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchDeposit(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestDeposit, sender []common.Address, receiver []common.Address) (event.Subscription, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "Deposit", senderRule, receiverRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestDeposit) - if err := _GatewayEVMTest.contract.UnpackLog(event, "Deposit", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseDeposit is a log parse operation binding the contract event 0x2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4. -// -// Solidity: event Deposit(address indexed sender, address indexed receiver, uint256 amount, address asset, bytes payload) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseDeposit(log types.Log) (*GatewayEVMTestDeposit, error) { - event := new(GatewayEVMTestDeposit) - if err := _GatewayEVMTest.contract.UnpackLog(event, "Deposit", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestExecutedIterator is returned from FilterExecuted and is used to iterate over the raw logs and unpacked data for Executed events raised by the GatewayEVMTest contract. -type GatewayEVMTestExecutedIterator struct { - Event *GatewayEVMTestExecuted // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestExecutedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestExecuted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestExecuted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestExecutedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestExecutedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestExecuted represents a Executed event raised by the GatewayEVMTest contract. -type GatewayEVMTestExecuted struct { - Destination common.Address - Value *big.Int - Data []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterExecuted is a free log retrieval operation binding the contract event 0xcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f. -// -// Solidity: event Executed(address indexed destination, uint256 value, bytes data) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterExecuted(opts *bind.FilterOpts, destination []common.Address) (*GatewayEVMTestExecutedIterator, error) { - - var destinationRule []interface{} - for _, destinationItem := range destination { - destinationRule = append(destinationRule, destinationItem) - } - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "Executed", destinationRule) - if err != nil { - return nil, err - } - return &GatewayEVMTestExecutedIterator{contract: _GatewayEVMTest.contract, event: "Executed", logs: logs, sub: sub}, nil -} - -// WatchExecuted is a free log subscription operation binding the contract event 0xcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f. -// -// Solidity: event Executed(address indexed destination, uint256 value, bytes data) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchExecuted(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestExecuted, destination []common.Address) (event.Subscription, error) { - - var destinationRule []interface{} - for _, destinationItem := range destination { - destinationRule = append(destinationRule, destinationItem) - } - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "Executed", destinationRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestExecuted) - if err := _GatewayEVMTest.contract.UnpackLog(event, "Executed", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseExecuted is a log parse operation binding the contract event 0xcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f. -// -// Solidity: event Executed(address indexed destination, uint256 value, bytes data) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseExecuted(log types.Log) (*GatewayEVMTestExecuted, error) { - event := new(GatewayEVMTestExecuted) - if err := _GatewayEVMTest.contract.UnpackLog(event, "Executed", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestExecutedWithERC20Iterator is returned from FilterExecutedWithERC20 and is used to iterate over the raw logs and unpacked data for ExecutedWithERC20 events raised by the GatewayEVMTest contract. -type GatewayEVMTestExecutedWithERC20Iterator struct { - Event *GatewayEVMTestExecutedWithERC20 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestExecutedWithERC20Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestExecutedWithERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestExecutedWithERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestExecutedWithERC20Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestExecutedWithERC20Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestExecutedWithERC20 represents a ExecutedWithERC20 event raised by the GatewayEVMTest contract. -type GatewayEVMTestExecutedWithERC20 struct { - Token common.Address - To common.Address - Amount *big.Int - Data []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterExecutedWithERC20 is a free log retrieval operation binding the contract event 0x29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382. -// -// Solidity: event ExecutedWithERC20(address indexed token, address indexed to, uint256 amount, bytes data) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterExecutedWithERC20(opts *bind.FilterOpts, token []common.Address, to []common.Address) (*GatewayEVMTestExecutedWithERC20Iterator, error) { - - var tokenRule []interface{} - for _, tokenItem := range token { - tokenRule = append(tokenRule, tokenItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "ExecutedWithERC20", tokenRule, toRule) - if err != nil { - return nil, err - } - return &GatewayEVMTestExecutedWithERC20Iterator{contract: _GatewayEVMTest.contract, event: "ExecutedWithERC20", logs: logs, sub: sub}, nil -} - -// WatchExecutedWithERC20 is a free log subscription operation binding the contract event 0x29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382. -// -// Solidity: event ExecutedWithERC20(address indexed token, address indexed to, uint256 amount, bytes data) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchExecutedWithERC20(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestExecutedWithERC20, token []common.Address, to []common.Address) (event.Subscription, error) { - - var tokenRule []interface{} - for _, tokenItem := range token { - tokenRule = append(tokenRule, tokenItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "ExecutedWithERC20", tokenRule, toRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestExecutedWithERC20) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ExecutedWithERC20", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseExecutedWithERC20 is a log parse operation binding the contract event 0x29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382. -// -// Solidity: event ExecutedWithERC20(address indexed token, address indexed to, uint256 amount, bytes data) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseExecutedWithERC20(log types.Log) (*GatewayEVMTestExecutedWithERC20, error) { - event := new(GatewayEVMTestExecutedWithERC20) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ExecutedWithERC20", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestReceivedERC20Iterator is returned from FilterReceivedERC20 and is used to iterate over the raw logs and unpacked data for ReceivedERC20 events raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedERC20Iterator struct { - Event *GatewayEVMTestReceivedERC20 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestReceivedERC20Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestReceivedERC20Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestReceivedERC20Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestReceivedERC20 represents a ReceivedERC20 event raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedERC20 struct { - Sender common.Address - Amount *big.Int - Token common.Address - Destination common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedERC20 is a free log retrieval operation binding the contract event 0x2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af60. -// -// Solidity: event ReceivedERC20(address sender, uint256 amount, address token, address destination) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterReceivedERC20(opts *bind.FilterOpts) (*GatewayEVMTestReceivedERC20Iterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "ReceivedERC20") - if err != nil { - return nil, err - } - return &GatewayEVMTestReceivedERC20Iterator{contract: _GatewayEVMTest.contract, event: "ReceivedERC20", logs: logs, sub: sub}, nil -} - -// WatchReceivedERC20 is a free log subscription operation binding the contract event 0x2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af60. -// -// Solidity: event ReceivedERC20(address sender, uint256 amount, address token, address destination) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchReceivedERC20(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestReceivedERC20) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "ReceivedERC20") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestReceivedERC20) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedERC20", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedERC20 is a log parse operation binding the contract event 0x2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af60. -// -// Solidity: event ReceivedERC20(address sender, uint256 amount, address token, address destination) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseReceivedERC20(log types.Log) (*GatewayEVMTestReceivedERC20, error) { - event := new(GatewayEVMTestReceivedERC20) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedERC20", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestReceivedNoParamsIterator is returned from FilterReceivedNoParams and is used to iterate over the raw logs and unpacked data for ReceivedNoParams events raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedNoParamsIterator struct { - Event *GatewayEVMTestReceivedNoParams // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestReceivedNoParamsIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedNoParams) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedNoParams) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestReceivedNoParamsIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestReceivedNoParamsIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestReceivedNoParams represents a ReceivedNoParams event raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedNoParams struct { - Sender common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedNoParams is a free log retrieval operation binding the contract event 0xbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0. -// -// Solidity: event ReceivedNoParams(address sender) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterReceivedNoParams(opts *bind.FilterOpts) (*GatewayEVMTestReceivedNoParamsIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "ReceivedNoParams") - if err != nil { - return nil, err - } - return &GatewayEVMTestReceivedNoParamsIterator{contract: _GatewayEVMTest.contract, event: "ReceivedNoParams", logs: logs, sub: sub}, nil -} - -// WatchReceivedNoParams is a free log subscription operation binding the contract event 0xbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0. -// -// Solidity: event ReceivedNoParams(address sender) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchReceivedNoParams(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestReceivedNoParams) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "ReceivedNoParams") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestReceivedNoParams) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedNoParams", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedNoParams is a log parse operation binding the contract event 0xbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0. -// -// Solidity: event ReceivedNoParams(address sender) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseReceivedNoParams(log types.Log) (*GatewayEVMTestReceivedNoParams, error) { - event := new(GatewayEVMTestReceivedNoParams) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedNoParams", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestReceivedNonPayableIterator is returned from FilterReceivedNonPayable and is used to iterate over the raw logs and unpacked data for ReceivedNonPayable events raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedNonPayableIterator struct { - Event *GatewayEVMTestReceivedNonPayable // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestReceivedNonPayableIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedNonPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedNonPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestReceivedNonPayableIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestReceivedNonPayableIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestReceivedNonPayable represents a ReceivedNonPayable event raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedNonPayable struct { - Sender common.Address - Strs []string - Nums []*big.Int - Flag bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedNonPayable is a free log retrieval operation binding the contract event 0x74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146. -// -// Solidity: event ReceivedNonPayable(address sender, string[] strs, uint256[] nums, bool flag) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterReceivedNonPayable(opts *bind.FilterOpts) (*GatewayEVMTestReceivedNonPayableIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "ReceivedNonPayable") - if err != nil { - return nil, err - } - return &GatewayEVMTestReceivedNonPayableIterator{contract: _GatewayEVMTest.contract, event: "ReceivedNonPayable", logs: logs, sub: sub}, nil -} - -// WatchReceivedNonPayable is a free log subscription operation binding the contract event 0x74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146. -// -// Solidity: event ReceivedNonPayable(address sender, string[] strs, uint256[] nums, bool flag) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchReceivedNonPayable(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestReceivedNonPayable) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "ReceivedNonPayable") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestReceivedNonPayable) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedNonPayable", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedNonPayable is a log parse operation binding the contract event 0x74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146. -// -// Solidity: event ReceivedNonPayable(address sender, string[] strs, uint256[] nums, bool flag) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseReceivedNonPayable(log types.Log) (*GatewayEVMTestReceivedNonPayable, error) { - event := new(GatewayEVMTestReceivedNonPayable) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedNonPayable", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestReceivedPayableIterator is returned from FilterReceivedPayable and is used to iterate over the raw logs and unpacked data for ReceivedPayable events raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedPayableIterator struct { - Event *GatewayEVMTestReceivedPayable // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestReceivedPayableIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestReceivedPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestReceivedPayableIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestReceivedPayableIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestReceivedPayable represents a ReceivedPayable event raised by the GatewayEVMTest contract. -type GatewayEVMTestReceivedPayable struct { - Sender common.Address - Value *big.Int - Str string - Num *big.Int - Flag bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedPayable is a free log retrieval operation binding the contract event 0x1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa. -// -// Solidity: event ReceivedPayable(address sender, uint256 value, string str, uint256 num, bool flag) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterReceivedPayable(opts *bind.FilterOpts) (*GatewayEVMTestReceivedPayableIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "ReceivedPayable") - if err != nil { - return nil, err - } - return &GatewayEVMTestReceivedPayableIterator{contract: _GatewayEVMTest.contract, event: "ReceivedPayable", logs: logs, sub: sub}, nil -} - -// WatchReceivedPayable is a free log subscription operation binding the contract event 0x1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa. -// -// Solidity: event ReceivedPayable(address sender, uint256 value, string str, uint256 num, bool flag) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchReceivedPayable(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestReceivedPayable) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "ReceivedPayable") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestReceivedPayable) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedPayable", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedPayable is a log parse operation binding the contract event 0x1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa. -// -// Solidity: event ReceivedPayable(address sender, uint256 value, string str, uint256 num, bool flag) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseReceivedPayable(log types.Log) (*GatewayEVMTestReceivedPayable, error) { - event := new(GatewayEVMTestReceivedPayable) - if err := _GatewayEVMTest.contract.UnpackLog(event, "ReceivedPayable", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogIterator is returned from FilterLog and is used to iterate over the raw logs and unpacked data for Log events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogIterator struct { - Event *GatewayEVMTestLog // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLog represents a Log event raised by the GatewayEVMTest contract. -type GatewayEVMTestLog struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLog is a free log retrieval operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLog(opts *bind.FilterOpts) (*GatewayEVMTestLogIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogIterator{contract: _GatewayEVMTest.contract, event: "log", logs: logs, sub: sub}, nil -} - -// WatchLog is a free log subscription operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLog(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLog) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLog) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLog is a log parse operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLog(log types.Log) (*GatewayEVMTestLog, error) { - event := new(GatewayEVMTestLog) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogAddressIterator is returned from FilterLogAddress and is used to iterate over the raw logs and unpacked data for LogAddress events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogAddressIterator struct { - Event *GatewayEVMTestLogAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogAddress represents a LogAddress event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogAddress struct { - Arg0 common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogAddress is a free log retrieval operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogAddress(opts *bind.FilterOpts) (*GatewayEVMTestLogAddressIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_address") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogAddressIterator{contract: _GatewayEVMTest.contract, event: "log_address", logs: logs, sub: sub}, nil -} - -// WatchLogAddress is a free log subscription operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogAddress(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogAddress) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogAddress) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogAddress is a log parse operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogAddress(log types.Log) (*GatewayEVMTestLogAddress, error) { - event := new(GatewayEVMTestLogAddress) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogArrayIterator is returned from FilterLogArray and is used to iterate over the raw logs and unpacked data for LogArray events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogArrayIterator struct { - Event *GatewayEVMTestLogArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogArray represents a LogArray event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogArray struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray is a free log retrieval operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogArray(opts *bind.FilterOpts) (*GatewayEVMTestLogArrayIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_array") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogArrayIterator{contract: _GatewayEVMTest.contract, event: "log_array", logs: logs, sub: sub}, nil -} - -// WatchLogArray is a free log subscription operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogArray(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogArray) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogArray) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray is a log parse operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogArray(log types.Log) (*GatewayEVMTestLogArray, error) { - event := new(GatewayEVMTestLogArray) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogArray0Iterator is returned from FilterLogArray0 and is used to iterate over the raw logs and unpacked data for LogArray0 events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogArray0Iterator struct { - Event *GatewayEVMTestLogArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogArray0 represents a LogArray0 event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogArray0 struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray0 is a free log retrieval operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogArray0(opts *bind.FilterOpts) (*GatewayEVMTestLogArray0Iterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogArray0Iterator{contract: _GatewayEVMTest.contract, event: "log_array0", logs: logs, sub: sub}, nil -} - -// WatchLogArray0 is a free log subscription operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogArray0(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogArray0) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogArray0) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray0 is a log parse operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogArray0(log types.Log) (*GatewayEVMTestLogArray0, error) { - event := new(GatewayEVMTestLogArray0) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogArray1Iterator is returned from FilterLogArray1 and is used to iterate over the raw logs and unpacked data for LogArray1 events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogArray1Iterator struct { - Event *GatewayEVMTestLogArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogArray1 represents a LogArray1 event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogArray1 struct { - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray1 is a free log retrieval operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogArray1(opts *bind.FilterOpts) (*GatewayEVMTestLogArray1Iterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogArray1Iterator{contract: _GatewayEVMTest.contract, event: "log_array1", logs: logs, sub: sub}, nil -} - -// WatchLogArray1 is a free log subscription operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogArray1(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogArray1) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogArray1) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray1 is a log parse operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogArray1(log types.Log) (*GatewayEVMTestLogArray1, error) { - event := new(GatewayEVMTestLogArray1) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogBytesIterator is returned from FilterLogBytes and is used to iterate over the raw logs and unpacked data for LogBytes events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogBytesIterator struct { - Event *GatewayEVMTestLogBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogBytes represents a LogBytes event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogBytes struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes is a free log retrieval operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogBytes(opts *bind.FilterOpts) (*GatewayEVMTestLogBytesIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogBytesIterator{contract: _GatewayEVMTest.contract, event: "log_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogBytes is a free log subscription operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogBytes(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogBytes) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogBytes) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes is a log parse operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogBytes(log types.Log) (*GatewayEVMTestLogBytes, error) { - event := new(GatewayEVMTestLogBytes) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogBytes32Iterator is returned from FilterLogBytes32 and is used to iterate over the raw logs and unpacked data for LogBytes32 events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogBytes32Iterator struct { - Event *GatewayEVMTestLogBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogBytes32 represents a LogBytes32 event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogBytes32 struct { - Arg0 [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes32 is a free log retrieval operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogBytes32(opts *bind.FilterOpts) (*GatewayEVMTestLogBytes32Iterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogBytes32Iterator{contract: _GatewayEVMTest.contract, event: "log_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogBytes32 is a free log subscription operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogBytes32(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogBytes32) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogBytes32) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes32 is a log parse operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogBytes32(log types.Log) (*GatewayEVMTestLogBytes32, error) { - event := new(GatewayEVMTestLogBytes32) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogIntIterator is returned from FilterLogInt and is used to iterate over the raw logs and unpacked data for LogInt events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogIntIterator struct { - Event *GatewayEVMTestLogInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogInt represents a LogInt event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogInt struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogInt is a free log retrieval operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogInt(opts *bind.FilterOpts) (*GatewayEVMTestLogIntIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_int") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogIntIterator{contract: _GatewayEVMTest.contract, event: "log_int", logs: logs, sub: sub}, nil -} - -// WatchLogInt is a free log subscription operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogInt(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogInt) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogInt) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogInt is a log parse operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogInt(log types.Log) (*GatewayEVMTestLogInt, error) { - event := new(GatewayEVMTestLogInt) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedAddressIterator is returned from FilterLogNamedAddress and is used to iterate over the raw logs and unpacked data for LogNamedAddress events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedAddressIterator struct { - Event *GatewayEVMTestLogNamedAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedAddress represents a LogNamedAddress event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedAddress struct { - Key string - Val common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedAddress is a free log retrieval operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedAddress(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedAddressIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedAddressIterator{contract: _GatewayEVMTest.contract, event: "log_named_address", logs: logs, sub: sub}, nil -} - -// WatchLogNamedAddress is a free log subscription operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedAddress(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedAddress) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedAddress) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedAddress is a log parse operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedAddress(log types.Log) (*GatewayEVMTestLogNamedAddress, error) { - event := new(GatewayEVMTestLogNamedAddress) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedArrayIterator is returned from FilterLogNamedArray and is used to iterate over the raw logs and unpacked data for LogNamedArray events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedArrayIterator struct { - Event *GatewayEVMTestLogNamedArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedArray represents a LogNamedArray event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedArray struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray is a free log retrieval operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedArray(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedArrayIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedArrayIterator{contract: _GatewayEVMTest.contract, event: "log_named_array", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray is a free log subscription operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedArray(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedArray) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedArray) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray is a log parse operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedArray(log types.Log) (*GatewayEVMTestLogNamedArray, error) { - event := new(GatewayEVMTestLogNamedArray) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedArray0Iterator is returned from FilterLogNamedArray0 and is used to iterate over the raw logs and unpacked data for LogNamedArray0 events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedArray0Iterator struct { - Event *GatewayEVMTestLogNamedArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedArray0 represents a LogNamedArray0 event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedArray0 struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray0 is a free log retrieval operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedArray0(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedArray0Iterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedArray0Iterator{contract: _GatewayEVMTest.contract, event: "log_named_array0", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray0 is a free log subscription operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedArray0(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedArray0) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedArray0) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray0 is a log parse operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedArray0(log types.Log) (*GatewayEVMTestLogNamedArray0, error) { - event := new(GatewayEVMTestLogNamedArray0) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedArray1Iterator is returned from FilterLogNamedArray1 and is used to iterate over the raw logs and unpacked data for LogNamedArray1 events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedArray1Iterator struct { - Event *GatewayEVMTestLogNamedArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedArray1 represents a LogNamedArray1 event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedArray1 struct { - Key string - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray1 is a free log retrieval operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedArray1(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedArray1Iterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedArray1Iterator{contract: _GatewayEVMTest.contract, event: "log_named_array1", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray1 is a free log subscription operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedArray1(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedArray1) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedArray1) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray1 is a log parse operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedArray1(log types.Log) (*GatewayEVMTestLogNamedArray1, error) { - event := new(GatewayEVMTestLogNamedArray1) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedBytesIterator is returned from FilterLogNamedBytes and is used to iterate over the raw logs and unpacked data for LogNamedBytes events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedBytesIterator struct { - Event *GatewayEVMTestLogNamedBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedBytes represents a LogNamedBytes event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedBytes struct { - Key string - Val []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes is a free log retrieval operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedBytes(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedBytesIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedBytesIterator{contract: _GatewayEVMTest.contract, event: "log_named_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes is a free log subscription operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedBytes(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedBytes) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedBytes) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes is a log parse operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedBytes(log types.Log) (*GatewayEVMTestLogNamedBytes, error) { - event := new(GatewayEVMTestLogNamedBytes) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedBytes32Iterator is returned from FilterLogNamedBytes32 and is used to iterate over the raw logs and unpacked data for LogNamedBytes32 events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedBytes32Iterator struct { - Event *GatewayEVMTestLogNamedBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedBytes32 represents a LogNamedBytes32 event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedBytes32 struct { - Key string - Val [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes32 is a free log retrieval operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedBytes32(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedBytes32Iterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedBytes32Iterator{contract: _GatewayEVMTest.contract, event: "log_named_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes32 is a free log subscription operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedBytes32(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedBytes32) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedBytes32) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes32 is a log parse operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedBytes32(log types.Log) (*GatewayEVMTestLogNamedBytes32, error) { - event := new(GatewayEVMTestLogNamedBytes32) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedDecimalIntIterator is returned from FilterLogNamedDecimalInt and is used to iterate over the raw logs and unpacked data for LogNamedDecimalInt events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedDecimalIntIterator struct { - Event *GatewayEVMTestLogNamedDecimalInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedDecimalIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedDecimalIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedDecimalIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedDecimalInt represents a LogNamedDecimalInt event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedDecimalInt struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalInt is a free log retrieval operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedDecimalInt(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedDecimalIntIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedDecimalIntIterator{contract: _GatewayEVMTest.contract, event: "log_named_decimal_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalInt is a free log subscription operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedDecimalInt(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedDecimalInt) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedDecimalInt) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalInt is a log parse operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedDecimalInt(log types.Log) (*GatewayEVMTestLogNamedDecimalInt, error) { - event := new(GatewayEVMTestLogNamedDecimalInt) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedDecimalUintIterator is returned from FilterLogNamedDecimalUint and is used to iterate over the raw logs and unpacked data for LogNamedDecimalUint events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedDecimalUintIterator struct { - Event *GatewayEVMTestLogNamedDecimalUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedDecimalUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedDecimalUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedDecimalUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedDecimalUint represents a LogNamedDecimalUint event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedDecimalUint struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalUint is a free log retrieval operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedDecimalUint(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedDecimalUintIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedDecimalUintIterator{contract: _GatewayEVMTest.contract, event: "log_named_decimal_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalUint is a free log subscription operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedDecimalUint(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedDecimalUint) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedDecimalUint) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalUint is a log parse operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedDecimalUint(log types.Log) (*GatewayEVMTestLogNamedDecimalUint, error) { - event := new(GatewayEVMTestLogNamedDecimalUint) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedIntIterator is returned from FilterLogNamedInt and is used to iterate over the raw logs and unpacked data for LogNamedInt events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedIntIterator struct { - Event *GatewayEVMTestLogNamedInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedInt represents a LogNamedInt event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedInt struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedInt is a free log retrieval operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedInt(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedIntIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedIntIterator{contract: _GatewayEVMTest.contract, event: "log_named_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedInt is a free log subscription operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedInt(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedInt) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedInt) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedInt is a log parse operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedInt(log types.Log) (*GatewayEVMTestLogNamedInt, error) { - event := new(GatewayEVMTestLogNamedInt) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedStringIterator is returned from FilterLogNamedString and is used to iterate over the raw logs and unpacked data for LogNamedString events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedStringIterator struct { - Event *GatewayEVMTestLogNamedString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedString represents a LogNamedString event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedString struct { - Key string - Val string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedString is a free log retrieval operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedString(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedStringIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedStringIterator{contract: _GatewayEVMTest.contract, event: "log_named_string", logs: logs, sub: sub}, nil -} - -// WatchLogNamedString is a free log subscription operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedString(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedString) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedString) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedString is a log parse operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedString(log types.Log) (*GatewayEVMTestLogNamedString, error) { - event := new(GatewayEVMTestLogNamedString) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogNamedUintIterator is returned from FilterLogNamedUint and is used to iterate over the raw logs and unpacked data for LogNamedUint events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedUintIterator struct { - Event *GatewayEVMTestLogNamedUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogNamedUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogNamedUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogNamedUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogNamedUint represents a LogNamedUint event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogNamedUint struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedUint is a free log retrieval operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogNamedUint(opts *bind.FilterOpts) (*GatewayEVMTestLogNamedUintIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogNamedUintIterator{contract: _GatewayEVMTest.contract, event: "log_named_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedUint is a free log subscription operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogNamedUint(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogNamedUint) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogNamedUint) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedUint is a log parse operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogNamedUint(log types.Log) (*GatewayEVMTestLogNamedUint, error) { - event := new(GatewayEVMTestLogNamedUint) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogStringIterator is returned from FilterLogString and is used to iterate over the raw logs and unpacked data for LogString events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogStringIterator struct { - Event *GatewayEVMTestLogString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogString represents a LogString event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogString struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogString is a free log retrieval operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogString(opts *bind.FilterOpts) (*GatewayEVMTestLogStringIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_string") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogStringIterator{contract: _GatewayEVMTest.contract, event: "log_string", logs: logs, sub: sub}, nil -} - -// WatchLogString is a free log subscription operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogString(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogString) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogString) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogString is a log parse operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogString(log types.Log) (*GatewayEVMTestLogString, error) { - event := new(GatewayEVMTestLogString) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogUintIterator is returned from FilterLogUint and is used to iterate over the raw logs and unpacked data for LogUint events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogUintIterator struct { - Event *GatewayEVMTestLogUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogUint represents a LogUint event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogUint struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogUint is a free log retrieval operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogUint(opts *bind.FilterOpts) (*GatewayEVMTestLogUintIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogUintIterator{contract: _GatewayEVMTest.contract, event: "log_uint", logs: logs, sub: sub}, nil -} - -// WatchLogUint is a free log subscription operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogUint(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogUint) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogUint) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogUint is a log parse operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogUint(log types.Log) (*GatewayEVMTestLogUint, error) { - event := new(GatewayEVMTestLogUint) - if err := _GatewayEVMTest.contract.UnpackLog(event, "log_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMTestLogsIterator is returned from FilterLogs and is used to iterate over the raw logs and unpacked data for Logs events raised by the GatewayEVMTest contract. -type GatewayEVMTestLogsIterator struct { - Event *GatewayEVMTestLogs // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMTestLogsIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMTestLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMTestLogsIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMTestLogsIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMTestLogs represents a Logs event raised by the GatewayEVMTest contract. -type GatewayEVMTestLogs struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogs is a free log retrieval operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) FilterLogs(opts *bind.FilterOpts) (*GatewayEVMTestLogsIterator, error) { - - logs, sub, err := _GatewayEVMTest.contract.FilterLogs(opts, "logs") - if err != nil { - return nil, err - } - return &GatewayEVMTestLogsIterator{contract: _GatewayEVMTest.contract, event: "logs", logs: logs, sub: sub}, nil -} - -// WatchLogs is a free log subscription operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) WatchLogs(opts *bind.WatchOpts, sink chan<- *GatewayEVMTestLogs) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMTest.contract.WatchLogs(opts, "logs") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMTestLogs) - if err := _GatewayEVMTest.contract.UnpackLog(event, "logs", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogs is a log parse operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_GatewayEVMTest *GatewayEVMTestFilterer) ParseLogs(log types.Log) (*GatewayEVMTestLogs, error) { - event := new(GatewayEVMTestLogs) - if err := _GatewayEVMTest.contract.UnpackLog(event, "logs", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/contracts/prototypes/test/gatewayevmzevm.t.sol/gatewayevmzevmtest.go b/pkg/contracts/prototypes/test/gatewayevmzevm.t.sol/gatewayevmzevmtest.go deleted file mode 100644 index 258118d3..00000000 --- a/pkg/contracts/prototypes/test/gatewayevmzevm.t.sol/gatewayevmzevmtest.go +++ /dev/null @@ -1,5048 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package gatewayevmzevm - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdInvariantFuzzArtifactSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzArtifactSelector struct { - Artifact string - Selectors [][4]byte -} - -// StdInvariantFuzzInterface is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzInterface struct { - Addr common.Address - Artifacts []string -} - -// StdInvariantFuzzSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzSelector struct { - Addr common.Address - Selectors [][4]byte -} - -// GatewayEVMZEVMTestMetaData contains all meta data concerning the GatewayEVMZEVMTest contract. -var GatewayEVMZEVMTestMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"ApprovalFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CallerIsNotFungibleModule\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CustodyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExecutionFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"GasFeeTransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientERC20Amount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientETHAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientZRC20Amount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTarget\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WithdrawalFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZRC20BurnFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZRC20TransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"receiver\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"Call\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"Call\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Executed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExecutedWithERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"}],\"name\":\"ReceivedERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ReceivedNoParams\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"strs\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"nums\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"ReceivedNonPayable\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"ReceivedPayable\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"to\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasfee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"protocolFlatFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"structStdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCallReceiverEVMFromZEVM\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b506201142f80620000586000396000f3fe60806040523480156200001157600080fd5b5060043610620001005760003560e01c8063916a17c61162000099578063b5508aa9116200006f578063b5508aa9146200022d578063ba414fa6146200024f578063e20c9f711462000271578063fa7626d414620002935762000100565b8063916a17c614620001dd5780639683c69514620001ff578063b0464fdc146200020b5762000100565b80633e5e3c2311620000db5780633e5e3c2314620001555780633f7286f4146200017757806366d9a9a0146200019957806385226c8114620001bb5762000100565b80630a9254e414620001055780631ed7831c14620001115780632ade38801462000133575b600080fd5b6200010f620002b5565b005b6200011b620010b4565b6040516200012a919062002c9b565b60405180910390f35b6200013d62001144565b6040516200014c919062002d07565b60405180910390f35b6200015f620012de565b6040516200016e919062002c9b565b60405180910390f35b620001816200136e565b60405162000190919062002c9b565b60405180910390f35b620001a3620013fe565b604051620001b2919062002ce3565b60405180910390f35b620001c562001595565b604051620001d4919062002cbf565b60405180910390f35b620001e762001678565b604051620001f6919062002d2b565b60405180910390f35b62000209620017cb565b005b6200021562001e6a565b60405162000224919062002d2b565b60405180910390f35b6200023762001fbd565b60405162000246919062002cbf565b60405180910390f35b62000259620020a0565b60405162000268919062002d4f565b60405180910390f35b6200027b620021d3565b6040516200028a919062002c9b565b60405180910390f35b6200029d62002263565b604051620002ac919062002d4f565b60405180910390f35b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615678602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614321602a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620003cd9062002276565b620003d89062002f3a565b604051809103906000f080158015620003f5573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620004449062002284565b604051809103906000f08015801562000461573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620004d39062002292565b620004df919062002b59565b604051809103906000f080158015620004fc573d6000803e3d6000fd5b50602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de8602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620005bc919062002b59565b600060405180830381600087803b158015620005d757600080fd5b505af1158015620005ec573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae7a3a6f602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200066f919062002b59565b600060405180830381600087803b1580156200068a57600080fd5b505af11580156200069f573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b81526004016200072792919062002c14565b600060405180830381600087803b1580156200074257600080fd5b505af115801562000757573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166207a1206040518363ffffffff1660e01b8152600401620007df92919062002c41565b602060405180830381600087803b158015620007fa57600080fd5b505af11580156200080f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000835919062002392565b506040516200084490620022a0565b604051809103906000f08015801562000861573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620008b090620022ae565b604051809103906000f080158015620008cd573d6000803e3d6000fd5b50602660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200093f90620022bc565b6200094b919062002b59565b604051809103906000f08015801562000968573d6000803e3d6000fd5b50602760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073735b14bb79463307aacbed86daf3322b1e6226ab90507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166306447d56826040518263ffffffff1660e01b815260040162000a20919062002b59565b600060405180830381600087803b15801562000a3b57600080fd5b505af115801562000a50573d6000803e3d6000fd5b50505050600080600060405162000a6790620022ca565b62000a759392919062002b76565b604051809103906000f08015801562000a92573d6000803e3d6000fd5b50602860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060126001600080602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162000b2e90620022d8565b62000b3f9695949392919062002ea2565b604051809103906000f08015801562000b5c573d6000803e3d6000fd5b50602960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee2815ba6001602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040162000c1f92919062002e04565b600060405180830381600087803b15801562000c3a57600080fd5b505af115801562000c4f573d6000803e3d6000fd5b50505050602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7cb05076001806040518363ffffffff1660e01b815260040162000cb392919062002e31565b600060405180830381600087803b15801562000cce57600080fd5b505af115801562000ce3573d6000803e3d6000fd5b50505050602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b815260040162000d6b92919062002c14565b602060405180830381600087803b15801562000d8657600080fd5b505af115801562000d9b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000dc1919062002392565b50602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b815260040162000e4692919062002c14565b602060405180830381600087803b15801562000e6157600080fd5b505af115801562000e76573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e9c919062002392565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000f0957600080fd5b505af115801562000f1e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000fa2919062002b59565b600060405180830381600087803b15801562000fbd57600080fd5b505af115801562000fd2573d6000803e3d6000fd5b50505050602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b81526004016200105a92919062002c14565b602060405180830381600087803b1580156200107557600080fd5b505af11580156200108a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010b0919062002392565b5050565b606060168054806020026020016040519081016040528092919081815260200182805480156200113a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620010ef575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b82821015620012d557838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015620012bd578382906000526020600020018054620012299062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620012579062003340565b8015620012a85780601f106200127c57610100808354040283529160200191620012a8565b820191906000526020600020905b8154815290600101906020018083116200128a57829003601f168201915b50505050508152602001906001019062001207565b50505050815250508152602001906001019062001168565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156200136457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001319575b5050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015620013f457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620013a9575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200158c5783829060005260206000209060020201604051806040016040529081600082018054620014589062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620014869062003340565b8015620014d75780601f10620014ab57610100808354040283529160200191620014d7565b820191906000526020600020905b815481529060010190602001808311620014b957829003601f168201915b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156200157357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116200151f5790505b5050505050815250508152602001906001019062001422565b50505050905090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200166f578382906000526020600020018054620015db9062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620016099062003340565b80156200165a5780601f106200162e576101008083540402835291602001916200165a565b820191906000526020600020905b8154815290600101906020018083116200163c57829003601f168201915b505050505081526020019060010190620015b9565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015620017c257838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020018280548015620017a957602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620017555790505b505050505081525050815260200190600101906200169c565b50505050905090565b60006040518060400160405280600f81526020017f48656c6c6f2c204861726468617421000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a76400009050600063e04d4f9760e01b8585856040516024016200183f9392919062002e5e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200191e919062002b59565b600060405180830381600087803b1580156200193957600080fd5b505af11580156200194e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b8152600401620019dc95949392919062002d6c565b600060405180830381600087803b158015620019f757600080fd5b505af115801562001a0c573d6000803e3d6000fd5b50505050602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001a9f919062002b3c565b6040516020818303038152906040528360405162001abf92919062002dc9565b60405180910390a2602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ac7c44c602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001b3a919062002b3c565b604051602081830303815290604052836040518363ffffffff1660e01b815260040162001b6992919062002dc9565b600060405180830381600087803b15801562001b8457600080fd5b505af115801562001b99573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040162001c1f92919062002c6e565b600060405180830381600087803b15801562001c3a57600080fd5b505af115801562001c4f573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162001cdd95949392919062002d6c565b600060405180830381600087803b15801562001cf857600080fd5b505af115801562001d0d573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f838360405162001d7d92919062002f71565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd83602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b815260040162001e0792919062002be0565b6000604051808303818588803b15801562001e2157600080fd5b505af115801562001e36573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f8201168201806040525081019062001e629190620023f6565b505050505050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562001fb457838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562001f9b57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162001f475790505b5050505050815250508152602001906001019062001e8e565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562002097578382906000526020600020018054620020039062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620020319062003340565b8015620020825780601f10620020565761010080835404028352916020019162002082565b820191906000526020600020905b8154815290600101906020018083116200206457829003601f168201915b50505050508152602001906001019062001fe1565b50505050905090565b6000600860009054906101000a900460ff1615620020d057600860009054906101000a900460ff169050620021d0565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016200217792919062002bb3565b60206040518083038186803b1580156200219057600080fd5b505afa158015620021a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021cb9190620023c4565b141590505b90565b606060158054806020026020016040519081016040528092919081815260200182805480156200225957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116200220e575b5050505050905090565b601f60009054906101000a900460ff1681565b611813806200358383390190565b6131a48062004d9683390190565b6110908062007f3a83390190565b6110aa8062008fca83390190565b612eb5806200a07483390190565b610bcd806200cf2983390190565b6110d7806200daf683390190565b61282d806200ebcd83390190565b6000620022fd620022f78462002fce565b62002fa5565b9050828152602081018484840111156200231c576200231b62003466565b5b620023298482856200330a565b509392505050565b60008151905062002342816200354e565b92915050565b600081519050620023598162003568565b92915050565b600082601f83011262002377576200237662003461565b5b815162002389848260208601620022e6565b91505092915050565b600060208284031215620023ab57620023aa62003470565b5b6000620023bb8482850162002331565b91505092915050565b600060208284031215620023dd57620023dc62003470565b5b6000620023ed8482850162002348565b91505092915050565b6000602082840312156200240f576200240e62003470565b5b600082015167ffffffffffffffff81111562002430576200242f6200346b565b5b6200243e848285016200235f565b91505092915050565b6000620024558383620024d3565b60208301905092915050565b60006200246f838362002870565b60208301905092915050565b600062002489838362002943565b905092915050565b60006200249f838362002a61565b905092915050565b6000620024b5838362002aa9565b905092915050565b6000620024cb838362002aea565b905092915050565b620024de81620031b4565b82525050565b620024ef81620031b4565b82525050565b6000620025028262003064565b6200250e81856200310a565b93506200251b8362003004565b8060005b838110156200255257815162002536888262002447565b97506200254383620030bc565b9250506001810190506200251f565b5085935050505092915050565b60006200256c826200306f565b6200257881856200311b565b9350620025858362003014565b8060005b83811015620025bc578151620025a0888262002461565b9750620025ad83620030c9565b92505060018101905062002589565b5085935050505092915050565b6000620025d6826200307a565b620025e281856200312c565b935083602082028501620025f68562003024565b8060005b858110156200263857848403895281516200261685826200247b565b94506200262383620030d6565b925060208a01995050600181019050620025fa565b50829750879550505050505092915050565b600062002657826200307a565b6200266381856200313d565b935083602082028501620026778562003024565b8060005b85811015620026b957848403895281516200269785826200247b565b9450620026a483620030d6565b925060208a019950506001810190506200267b565b50829750879550505050505092915050565b6000620026d88262003085565b620026e481856200314e565b935083602082028501620026f88562003034565b8060005b858110156200273a578484038952815162002718858262002491565b94506200272583620030e3565b925060208a01995050600181019050620026fc565b50829750879550505050505092915050565b6000620027598262003090565b6200276581856200315f565b935083602082028501620027798562003044565b8060005b85811015620027bb5784840389528151620027998582620024a7565b9450620027a683620030f0565b925060208a019950506001810190506200277d565b50829750879550505050505092915050565b6000620027da826200309b565b620027e6818562003170565b935083602082028501620027fa8562003054565b8060005b858110156200283c57848403895281516200281a8582620024bd565b94506200282783620030fd565b925060208a01995050600181019050620027fe565b50829750879550505050505092915050565b6200285981620031c8565b82525050565b6200286a81620031d4565b82525050565b6200287b81620031de565b82525050565b60006200288e82620030a6565b6200289a818562003181565b9350620028ac8185602086016200330a565b620028b78162003475565b840191505092915050565b620028d7620028d18262003256565b620033ac565b82525050565b620028e8816200326a565b82525050565b620028f9816200327e565b82525050565b6200290a8162003292565b82525050565b6200291b81620032a6565b82525050565b6200292c81620032ba565b82525050565b6200293d81620032ce565b82525050565b60006200295082620030b1565b6200295c818562003192565b93506200296e8185602086016200330a565b620029798162003475565b840191505092915050565b60006200299182620030b1565b6200299d8185620031a3565b9350620029af8185602086016200330a565b620029ba8162003475565b840191505092915050565b6000620029d4600383620031a3565b9150620029e18262003493565b602082019050919050565b6000620029fb600583620031a3565b915062002a0882620034bc565b602082019050919050565b600062002a22600483620031a3565b915062002a2f82620034e5565b602082019050919050565b600062002a49600383620031a3565b915062002a56826200350e565b602082019050919050565b6000604083016000830151848203600086015262002a80828262002943565b9150506020830151848203602086015262002a9c82826200255f565b9150508091505092915050565b600060408301600083015162002ac36000860182620024d3565b506020830151848203602086015262002add8282620025c9565b9150508091505092915050565b600060408301600083015162002b046000860182620024d3565b506020830151848203602086015262002b1e82826200255f565b9150508091505092915050565b62002b36816200323f565b82525050565b600062002b4a8284620028c2565b60148201915081905092915050565b600060208201905062002b706000830184620024e4565b92915050565b600060608201905062002b8d6000830186620024e4565b62002b9c6020830185620024e4565b62002bab6040830184620024e4565b949350505050565b600060408201905062002bca6000830185620024e4565b62002bd960208301846200285f565b9392505050565b600060408201905062002bf76000830185620024e4565b818103602083015262002c0b818462002881565b90509392505050565b600060408201905062002c2b6000830185620024e4565b62002c3a6020830184620028ff565b9392505050565b600060408201905062002c586000830185620024e4565b62002c67602083018462002932565b9392505050565b600060408201905062002c856000830185620024e4565b62002c94602083018462002b2b565b9392505050565b6000602082019050818103600083015262002cb78184620024f5565b905092915050565b6000602082019050818103600083015262002cdb81846200264a565b905092915050565b6000602082019050818103600083015262002cff8184620026cb565b905092915050565b6000602082019050818103600083015262002d2381846200274c565b905092915050565b6000602082019050818103600083015262002d478184620027cd565b905092915050565b600060208201905062002d6660008301846200284e565b92915050565b600060a08201905062002d8360008301886200284e565b62002d9260208301876200284e565b62002da160408301866200284e565b62002db060608301856200284e565b62002dbf6080830184620024e4565b9695505050505050565b6000604082019050818103600083015262002de5818562002881565b9050818103602083015262002dfb818462002881565b90509392505050565b600060408201905062002e1b600083018562002921565b62002e2a6020830184620024e4565b9392505050565b600060408201905062002e48600083018562002921565b62002e57602083018462002921565b9392505050565b6000606082019050818103600083015262002e7a818662002984565b905062002e8b602083018562002b2b565b62002e9a60408301846200284e565b949350505050565b600061010082019050818103600083015262002ebe81620029ec565b9050818103602083015262002ed38162002a3a565b905062002ee4604083018962002910565b62002ef3606083018862002921565b62002f026080830187620028dd565b62002f1160a0830186620028ee565b62002f2060c0830185620024e4565b62002f2f60e0830184620024e4565b979650505050505050565b6000604082019050818103600083015262002f558162002a13565b9050818103602083015262002f6a81620029c5565b9050919050565b600060408201905062002f88600083018562002b2b565b818103602083015262002f9c818462002881565b90509392505050565b600062002fb162002fc4565b905062002fbf828262003376565b919050565b6000604051905090565b600067ffffffffffffffff82111562002fec5762002feb62003432565b5b62002ff78262003475565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620031c1826200321f565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506200321a8262003537565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006200326382620032e2565b9050919050565b600062003277826200320a565b9050919050565b60006200328b826200323f565b9050919050565b60006200329f826200323f565b9050919050565b6000620032b38262003249565b9050919050565b6000620032c7826200323f565b9050919050565b6000620032db826200323f565b9050919050565b6000620032ef82620032f6565b9050919050565b600062003303826200321f565b9050919050565b60005b838110156200332a5780820151818401526020810190506200330d565b838111156200333a576000848401525b50505050565b600060028204905060018216806200335957607f821691505b6020821081141562003370576200336f62003403565b5b50919050565b620033818262003475565b810181811067ffffffffffffffff82111715620033a357620033a262003432565b5b80604052505050565b6000620033b982620033c0565b9050919050565b6000620033cd8262003486565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f54544b0000000000000000000000000000000000000000000000000000000000600082015250565b7f544f4b454e000000000000000000000000000000000000000000000000000000600082015250565b7f7465737400000000000000000000000000000000000000000000000000000000600082015250565b7f544b4e0000000000000000000000000000000000000000000000000000000000600082015250565b600381106200354b576200354a620033d4565b5b50565b6200355981620031c8565b81146200356557600080fd5b50565b6200357381620031d4565b81146200357f57600080fd5b5056fe60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220154452ab17b7ec6558ae20cf0777deee4780b8e192489db9d10e2ac9e3d689a364736f6c6343000807003360806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea2646970667358221220086a1c9f56ed96506c7198d50cf431a5b03003c16cd4168d2395cdedfc1ac06164736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c726200024360003960008181610433015281816104c2015281816105d40152818161066301526107130152612c726000f3fe6080604052600436106100dd5760003560e01c80637993c1e01161007f578063bcf7f32b11610059578063bcf7f32b14610251578063c39aca371461027a578063f2fde38b146102a3578063f45346dc146102cc576100dd565b80637993c1e0146101e65780638129fc1c1461020f5780638da5cb5b14610226576100dd565b80633ce4a5bc116100bb5780633ce4a5bc1461015d5780634f1ef2861461018857806352d1902d146101a4578063715018a6146101cf576100dd565b80630ac7c44c146100e2578063135390f91461010b5780633659cfe614610134575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190611c80565b6102f5565b005b34801561011757600080fd5b50610132600480360381019061012d9190611cfc565b61034c565b005b34801561014057600080fd5b5061015b60048036038101906101569190611b0a565b610431565b005b34801561016957600080fd5b506101726105ba565b60405161017f919061226e565b60405180910390f35b6101a2600480360381019061019d9190611b37565b6105d2565b005b3480156101b057600080fd5b506101b961070f565b6040516101c691906122e9565b60405180910390f35b3480156101db57600080fd5b506101e46107c8565b005b3480156101f257600080fd5b5061020d60048036038101906102089190611d6b565b6107dc565b005b34801561021b57600080fd5b506102246108c7565b005b34801561023257600080fd5b5061023b610a0d565b604051610248919061226e565b60405180910390f35b34801561025d57600080fd5b5061027860048036038101906102739190611e0f565b610a37565b005b34801561028657600080fd5b506102a1600480360381019061029c9190611e0f565b610b2b565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190611b0a565b610d5d565b005b3480156102d857600080fd5b506102f360048036038101906102ee9190611bd3565b610de1565b005b3373ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f84848460405161033f93929190612304565b60405180910390a2505050565b60006103588383610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8585848673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103db57600080fd5b505afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104139190611ec5565b60405161042394939291906123a0565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614156104c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b79061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104ff61128d565b73ffffffffffffffffffffffffffffffffffffffff1614610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c9061247c565b60405180910390fd5b61055e816112e4565b6105b781600067ffffffffffffffff81111561057d5761057c61282b565b5b6040519080825280601f01601f1916602001820160405280156105af5781602001600182028036833780820191505090505b5060006112ef565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106589061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106a061128d565b73ffffffffffffffffffffffffffffffffffffffff16146106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed9061247c565b60405180910390fd5b6106ff826112e4565b61070b828260016112ef565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461079f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107969061249c565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b6107d061146c565b6107da60006114ea565b565b60006107e88585610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8787848873ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190611ec5565b88886040516108b79695949392919061233d565b60405180910390a2505050505050565b60008060019054906101000a900460ff161590508080156108f85750600160008054906101000a900460ff1660ff16105b806109255750610907306115b0565b1580156109245750600160008054906101000a900460ff1660ff16145b5b610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b906124dc565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156109a1576001600060016101000a81548160ff0219169083151502179055505b6109a96115d3565b6109b161162c565b8015610a0a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610a0191906123ff565b60405180910390a15b50565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610af195949392919061259c565b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50505050505050505050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba4576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610c1d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610c54576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166347e7ef2484866040518363ffffffff1660e01b8152600401610c8f9291906122c0565b602060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce19190611c26565b508273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610d2395949392919061259c565b600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b50505050505050505050565b610d6561146c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc9061243c565b60405180910390fd5b610dde816114ea565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610ed357503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610f0a576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166347e7ef2482846040518363ffffffff1660e01b8152600401610f459291906122c0565b602060405180830381600087803b158015610f5f57600080fd5b505af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611c26565b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b8152600401604080518083038186803b158015610fe757600080fd5b505afa158015610ffb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101f9190611b93565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b815260040161107493929190612289565b602060405180830381600087803b15801561108e57600080fd5b505af11580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190611c26565b6110fc576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b815260040161113993929190612289565b602060405180830381600087803b15801561115357600080fd5b505af1158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190611c26565b6111c1576040517f4dd9ee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166342966c68866040518263ffffffff1660e01b81526004016111fa91906125f1565b602060405180830381600087803b15801561121457600080fd5b505af1158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190611c26565b611282576040517f2c77e05c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809250505092915050565b60006112bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112ec61146c565b50565b61131b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b611687565b60000160009054906101000a900460ff161561133f5761133a83611691565b611467565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561138557600080fd5b505afa9250505080156113b657506040513d601f19601f820116820180604052508101906113b39190611c53565b60015b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec906124fc565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b811461145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906124bc565b60405180910390fd5b5061146683838361174a565b5b505050565b611474611776565b73ffffffffffffffffffffffffffffffffffffffff16611492610a0d565b73ffffffffffffffffffffffffffffffffffffffff16146114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9061253c565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611622576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116199061257c565b60405180910390fd5b61162a61177e565b565b600060019054906101000a900460ff1661167b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116729061257c565b60405180910390fd5b565b6000819050919050565b6000819050919050565b61169a816115b0565b6116d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d09061251c565b60405180910390fd5b806117067f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611753836117df565b6000825111806117605750805b156117715761176f838361182e565b505b505050565b600033905090565b600060019054906101000a900460ff166117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061257c565b60405180910390fd5b6117dd6117d8611776565b6114ea565b565b6117e881611691565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60606118538383604051806060016040528060278152602001612c166027913961185b565b905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516118859190612257565b600060405180830381855af49150503d80600081146118c0576040519150601f19603f3d011682016040523d82523d6000602084013e6118c5565b606091505b50915091506118d6868383876118e1565b925050509392505050565b606083156119445760008351141561193c576118fc856115b0565b61193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119329061255c565b60405180910390fd5b5b82905061194f565b61194e8383611957565b5b949350505050565b60008251111561196a5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e919061241a565b60405180910390fd5b60006119ba6119b584612631565b61260c565b9050828152602081018484840111156119d6576119d5612878565b5b6119e18482856127b8565b509392505050565b6000813590506119f881612bb9565b92915050565b600081519050611a0d81612bb9565b92915050565b600081519050611a2281612bd0565b92915050565b600081519050611a3781612be7565b92915050565b60008083601f840112611a5357611a52612864565b5b8235905067ffffffffffffffff811115611a7057611a6f61285f565b5b602083019150836001820283011115611a8c57611a8b612873565b5b9250929050565b600082601f830112611aa857611aa7612864565b5b8135611ab88482602086016119a7565b91505092915050565b600060608284031215611ad757611ad6612869565b5b81905092915050565b600081359050611aef81612bfe565b92915050565b600081519050611b0481612bfe565b92915050565b600060208284031215611b2057611b1f612887565b5b6000611b2e848285016119e9565b91505092915050565b60008060408385031215611b4e57611b4d612887565b5b6000611b5c858286016119e9565b925050602083013567ffffffffffffffff811115611b7d57611b7c61287d565b5b611b8985828601611a93565b9150509250929050565b60008060408385031215611baa57611ba9612887565b5b6000611bb8858286016119fe565b9250506020611bc985828601611af5565b9150509250929050565b600080600060608486031215611bec57611beb612887565b5b6000611bfa868287016119e9565b9350506020611c0b86828701611ae0565b9250506040611c1c868287016119e9565b9150509250925092565b600060208284031215611c3c57611c3b612887565b5b6000611c4a84828501611a13565b91505092915050565b600060208284031215611c6957611c68612887565b5b6000611c7784828501611a28565b91505092915050565b600080600060408486031215611c9957611c98612887565b5b600084013567ffffffffffffffff811115611cb757611cb661287d565b5b611cc386828701611a93565b935050602084013567ffffffffffffffff811115611ce457611ce361287d565b5b611cf086828701611a3d565b92509250509250925092565b600080600060608486031215611d1557611d14612887565b5b600084013567ffffffffffffffff811115611d3357611d3261287d565b5b611d3f86828701611a93565b9350506020611d5086828701611ae0565b9250506040611d61868287016119e9565b9150509250925092565b600080600080600060808688031215611d8757611d86612887565b5b600086013567ffffffffffffffff811115611da557611da461287d565b5b611db188828901611a93565b9550506020611dc288828901611ae0565b9450506040611dd3888289016119e9565b935050606086013567ffffffffffffffff811115611df457611df361287d565b5b611e0088828901611a3d565b92509250509295509295909350565b60008060008060008060a08789031215611e2c57611e2b612887565b5b600087013567ffffffffffffffff811115611e4a57611e4961287d565b5b611e5689828a01611ac1565b9650506020611e6789828a016119e9565b9550506040611e7889828a01611ae0565b9450506060611e8989828a016119e9565b935050608087013567ffffffffffffffff811115611eaa57611ea961287d565b5b611eb689828a01611a3d565b92509250509295509295509295565b600060208284031215611edb57611eda612887565b5b6000611ee984828501611af5565b91505092915050565b611efb81612747565b82525050565b611f0a81612747565b82525050565b611f1981612765565b82525050565b6000611f2b8385612678565b9350611f388385846127b8565b611f418361288c565b840190509392505050565b6000611f588385612689565b9350611f658385846127b8565b611f6e8361288c565b840190509392505050565b6000611f8482612662565b611f8e8185612689565b9350611f9e8185602086016127c7565b611fa78161288c565b840191505092915050565b6000611fbd82612662565b611fc7818561269a565b9350611fd78185602086016127c7565b80840191505092915050565b611fec816127a6565b82525050565b6000611ffd8261266d565b61200781856126a5565b93506120178185602086016127c7565b6120208161288c565b840191505092915050565b60006120386026836126a5565b91506120438261289d565b604082019050919050565b600061205b602c836126a5565b9150612066826128ec565b604082019050919050565b600061207e602c836126a5565b91506120898261293b565b604082019050919050565b60006120a16038836126a5565b91506120ac8261298a565b604082019050919050565b60006120c46029836126a5565b91506120cf826129d9565b604082019050919050565b60006120e7602e836126a5565b91506120f282612a28565b604082019050919050565b600061210a602e836126a5565b915061211582612a77565b604082019050919050565b600061212d602d836126a5565b915061213882612ac6565b604082019050919050565b60006121506020836126a5565b915061215b82612b15565b602082019050919050565b6000612173600083612689565b915061217e82612b3e565b600082019050919050565b6000612196601d836126a5565b91506121a182612b41565b602082019050919050565b60006121b9602b836126a5565b91506121c482612b6a565b604082019050919050565b6000606083016121e260008401846126cd565b85830360008701526121f5838284611f1f565b9250505061220660208401846126b6565b6122136020860182611ef2565b506122216040840184612730565b61222e6040860182612239565b508091505092915050565b6122428161278f565b82525050565b6122518161278f565b82525050565b60006122638284611fb2565b915081905092915050565b60006020820190506122836000830184611f01565b92915050565b600060608201905061229e6000830186611f01565b6122ab6020830185611f01565b6122b86040830184612248565b949350505050565b60006040820190506122d56000830185611f01565b6122e26020830184612248565b9392505050565b60006020820190506122fe6000830184611f10565b92915050565b6000604082019050818103600083015261231e8186611f79565b90508181036020830152612333818486611f4c565b9050949350505050565b600060a08201905081810360008301526123578189611f79565b90506123666020830188612248565b6123736040830187612248565b6123806060830186612248565b8181036080830152612393818486611f4c565b9050979650505050505050565b600060a08201905081810360008301526123ba8187611f79565b90506123c96020830186612248565b6123d66040830185612248565b6123e36060830184612248565b81810360808301526123f481612166565b905095945050505050565b60006020820190506124146000830184611fe3565b92915050565b600060208201905081810360008301526124348184611ff2565b905092915050565b600060208201905081810360008301526124558161202b565b9050919050565b600060208201905081810360008301526124758161204e565b9050919050565b6000602082019050818103600083015261249581612071565b9050919050565b600060208201905081810360008301526124b581612094565b9050919050565b600060208201905081810360008301526124d5816120b7565b9050919050565b600060208201905081810360008301526124f5816120da565b9050919050565b60006020820190508181036000830152612515816120fd565b9050919050565b6000602082019050818103600083015261253581612120565b9050919050565b6000602082019050818103600083015261255581612143565b9050919050565b6000602082019050818103600083015261257581612189565b9050919050565b60006020820190508181036000830152612595816121ac565b9050919050565b600060808201905081810360008301526125b681886121cf565b90506125c56020830187611f01565b6125d26040830186612248565b81810360608301526125e5818486611f4c565b90509695505050505050565b60006020820190506126066000830184612248565b92915050565b6000612616612627565b905061262282826127fa565b919050565b6000604051905090565b600067ffffffffffffffff82111561264c5761264b61282b565b5b6126558261288c565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006126c560208401846119e9565b905092915050565b600080833560016020038436030381126126ea576126e9612882565b5b83810192508235915060208301925067ffffffffffffffff8211156127125761271161285a565b5b6001820236038413156127285761272761286e565b5b509250929050565b600061273f6020840184611ae0565b905092915050565b60006127528261276f565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127b182612799565b9050919050565b82818337600083830152505050565b60005b838110156127e55780820151818401526020810190506127ca565b838111156127f4576000848401525b50505050565b6128038261288c565b810181811067ffffffffffffffff821117156128225761282161282b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b612bc281612747565b8114612bcd57600080fd5b50565b612bd981612759565b8114612be457600080fd5b50565b612bf081612765565b8114612bfb57600080fd5b50565b612c078161278f565b8114612c1257600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220627eb039ecb52d09fd70ebde1f5eca61fe0f91321a96929ebe38dc8e38d999ab64736f6c63430008070033608060405234801561001057600080fd5b50604051610bcd380380610bcd8339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600081519050610087816100f1565b92915050565b6000602082840312156100a3576100a26100ec565b5b60006100b184828501610078565b91505092915050565b60006100c5826100cc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6100fa816100ba565b811461010557600080fd5b50565b610ab6806101176000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630abd890514610046578063116191b614610062578063a0a1730b14610080575b600080fd5b610060600480360381019061005b91906105fd565b61009c565b005b61006a6102af565b6040516100779190610761565b60405180910390f35b61009a6004803603810190610095919061055e565b6102d3565b005b60008383836040516024016100b39392919061082f565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886040518363ffffffff1660e01b815260040161018d92919061077c565b602060405180830381600087803b1580156101a757600080fd5b505af11580156101bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101df9190610531565b610215576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637993c1e0888888856040518563ffffffff1660e01b815260040161027494939291906107dc565b600060405180830381600087803b15801561028e57600080fd5b505af11580156102a2573d6000803e3d6000fd5b5050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383836040516024016102ea9392919061082f565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ac7c44c86836040518363ffffffff1660e01b81526004016103c49291906107a5565b600060405180830381600087803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b505050505050505050565b600061041061040b84610892565b61086d565b90508281526020810184848401111561042c5761042b610a1b565b5b610437848285610974565b509392505050565b600061045261044d846108c3565b61086d565b90508281526020810184848401111561046e5761046d610a1b565b5b610479848285610974565b509392505050565b60008135905061049081610a3b565b92915050565b6000813590506104a581610a52565b92915050565b6000815190506104ba81610a52565b92915050565b600082601f8301126104d5576104d4610a16565b5b81356104e58482602086016103fd565b91505092915050565b600082601f83011261050357610502610a16565b5b813561051384826020860161043f565b91505092915050565b60008135905061052b81610a69565b92915050565b60006020828403121561054757610546610a25565b5b6000610555848285016104ab565b91505092915050565b6000806000806080858703121561057857610577610a25565b5b600085013567ffffffffffffffff81111561059657610595610a20565b5b6105a2878288016104c0565b945050602085013567ffffffffffffffff8111156105c3576105c2610a20565b5b6105cf878288016104ee565b93505060406105e08782880161051c565b92505060606105f187828801610496565b91505092959194509250565b60008060008060008060c0878903121561061a57610619610a25565b5b600087013567ffffffffffffffff81111561063857610637610a20565b5b61064489828a016104c0565b965050602061065589828a0161051c565b955050604061066689828a01610481565b945050606087013567ffffffffffffffff81111561068757610686610a20565b5b61069389828a016104ee565b93505060806106a489828a0161051c565b92505060a06106b589828a01610496565b9150509295509295509295565b6106cb8161092c565b82525050565b6106da8161093e565b82525050565b60006106eb826108f4565b6106f5818561090a565b9350610705818560208601610983565b61070e81610a2a565b840191505092915050565b6000610724826108ff565b61072e818561091b565b935061073e818560208601610983565b61074781610a2a565b840191505092915050565b61075b8161096a565b82525050565b600060208201905061077660008301846106c2565b92915050565b600060408201905061079160008301856106c2565b61079e6020830184610752565b9392505050565b600060408201905081810360008301526107bf81856106e0565b905081810360208301526107d381846106e0565b90509392505050565b600060808201905081810360008301526107f681876106e0565b90506108056020830186610752565b61081260408301856106c2565b818103606083015261082481846106e0565b905095945050505050565b600060608201905081810360008301526108498186610719565b90506108586020830185610752565b61086560408301846106d1565b949350505050565b6000610877610888565b905061088382826109b6565b919050565b6000604051905090565b600067ffffffffffffffff8211156108ad576108ac6109e7565b5b6108b682610a2a565b9050602081019050919050565b600067ffffffffffffffff8211156108de576108dd6109e7565b5b6108e782610a2a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006109378261094a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109a1578082015181840152602081019050610986565b838111156109b0576000848401525b50505050565b6109bf82610a2a565b810181811067ffffffffffffffff821117156109de576109dd6109e7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610a448161092c565b8114610a4f57600080fd5b50565b610a5b8161093e565b8114610a6657600080fd5b50565b610a728161096a565b8114610a7d57600080fd5b5056fea2646970667358221220192b4e23b9b6daaae9f30fb00f65433e56a5d8a6906223e4fbd169def800a8a264736f6c6343000807003360806040523480156200001157600080fd5b50604051620010d7380380620010d7833981810160405281019062000037919062000146565b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f80699e81136d69cb8367ad52a994e25c722a86da654b561d0c14b61a777e7ac560405160405180910390a1505050620001f5565b6000815190506200014081620001db565b92915050565b600080600060608486031215620001625762000161620001d6565b5b600062000172868287016200012f565b935050602062000185868287016200012f565b925050604062000198868287016200012f565b9150509250925092565b6000620001af82620001b6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b620001e681620001a2565b8114620001f257600080fd5b50565b610ed280620002056000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806397770dff1161007157806397770dff14610166578063a7cb050714610182578063c63585cc1461019e578063d7fd7afb146101ce578063d936a012146101fe578063ee2815ba1461021c576100a9565b80630be15547146100ae5780633c669d55146100de578063513a9c05146100fa578063569541b91461012a578063842da36d14610148575b600080fd5b6100c860048036038101906100c3919061094d565b610238565b6040516100d59190610bce565b60405180910390f35b6100f860048036038101906100f39190610898565b61026b565b005b610114600480360381019061010f919061094d565b6103b8565b6040516101219190610bce565b60405180910390f35b6101326103eb565b60405161013f9190610bce565b60405180910390f35b610150610411565b60405161015d9190610bce565b60405180910390f35b610180600480360381019061017b9190610818565b610437565b005b61019c600480360381019061019791906109ba565b6104d4565b005b6101b860048036038101906101b39190610845565b610528565b6040516101c59190610bce565b60405180910390f35b6101e860048036038101906101e3919061094d565b61059a565b6040516101f59190610c67565b60405180910390f35b6102066105b2565b6040516102139190610bce565b60405180910390f35b6102366004803603810190610231919061097a565b6105d8565b005b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060405180606001604052806040518060200160405280600081525081526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014681525090508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87866040518363ffffffff1660e01b81526004016102ea929190610be9565b602060405180830381600087803b15801561030457600080fd5b505af1158015610318573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033c9190610920565b508573ffffffffffffffffffffffffffffffffffffffff1663de43156e82878787876040518663ffffffff1660e01b815260040161037e959493929190610c12565b600060405180830381600087803b15801561039857600080fd5b505af11580156103ac573d6000803e3d6000fd5b50505050505050505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdba79d534382d1a8ae108e4c8ecb27c6ae42ab8b91d44eedf88bd329f3868d5e600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516104c99190610bce565b60405180910390a150565b80600080848152602001908152602001600020819055507f49f492222906ac486c3c1401fa545626df1f0c0e5a77a05597ea2ed66af9850d828260405161051c929190610cab565b60405180910390a15050565b60008060006105378585610667565b9150915085828260405160200161054f929190610b60565b60405160208183030381529060405280519060200120604051602001610576929190610b8c565b6040516020818303038152906040528051906020012060001c925050509392505050565b60006020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1b36d30f6248e97c473b4d1348ca164a4ef6759022f54a58ec200326c39c45d828260405161065b929190610c82565b60405180910390a15050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156106d0576040517fcb1e7cfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061070a57828461070d565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561077c576040517f78b507da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b60008135905061079281610e57565b92915050565b6000815190506107a781610e6e565b92915050565b60008083601f8401126107c3576107c2610dd3565b5b8235905067ffffffffffffffff8111156107e0576107df610dce565b5b6020830191508360018202830111156107fc576107fb610dd8565b5b9250929050565b60008135905061081281610e85565b92915050565b60006020828403121561082e5761082d610de2565b5b600061083c84828501610783565b91505092915050565b60008060006060848603121561085e5761085d610de2565b5b600061086c86828701610783565b935050602061087d86828701610783565b925050604061088e86828701610783565b9150509250925092565b6000806000806000608086880312156108b4576108b3610de2565b5b60006108c288828901610783565b95505060206108d388828901610783565b94505060406108e488828901610803565b935050606086013567ffffffffffffffff81111561090557610904610ddd565b5b610911888289016107ad565b92509250509295509295909350565b60006020828403121561093657610935610de2565b5b600061094484828501610798565b91505092915050565b60006020828403121561096357610962610de2565b5b600061097184828501610803565b91505092915050565b6000806040838503121561099157610990610de2565b5b600061099f85828601610803565b92505060206109b085828601610783565b9150509250929050565b600080604083850312156109d1576109d0610de2565b5b60006109df85828601610803565b92505060206109f085828601610803565b9150509250929050565b610a0381610d0c565b82525050565b610a1281610d0c565b82525050565b610a29610a2482610d0c565b610da0565b82525050565b610a40610a3b82610d2a565b610db2565b82525050565b6000610a528385610cf0565b9350610a5f838584610d5e565b610a6883610de7565b840190509392505050565b6000610a7e82610cd4565b610a888185610cdf565b9350610a98818560208601610d6d565b610aa181610de7565b840191505092915050565b6000610ab9602083610d01565b9150610ac482610e05565b602082019050919050565b6000610adc600183610d01565b9150610ae782610e2e565b600182019050919050565b60006060830160008301518482036000860152610b0f8282610a73565b9150506020830151610b2460208601826109fa565b506040830151610b376040860182610b42565b508091505092915050565b610b4b81610d54565b82525050565b610b5a81610d54565b82525050565b6000610b6c8285610a18565b601482019150610b7c8284610a18565b6014820191508190509392505050565b6000610b9782610acf565b9150610ba38285610a18565b601482019150610bb38284610a2f565b602082019150610bc282610aac565b91508190509392505050565b6000602082019050610be36000830184610a09565b92915050565b6000604082019050610bfe6000830185610a09565b610c0b6020830184610b51565b9392505050565b60006080820190508181036000830152610c2c8188610af2565b9050610c3b6020830187610a09565b610c486040830186610b51565b8181036060830152610c5b818486610a46565b90509695505050505050565b6000602082019050610c7c6000830184610b51565b92915050565b6000604082019050610c976000830185610b51565b610ca46020830184610a09565b9392505050565b6000604082019050610cc06000830185610b51565b610ccd6020830184610b51565b9392505050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000610d1782610d34565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610d8b578082015181840152602081019050610d70565b83811115610d9a576000848401525b50505050565b6000610dab82610dbc565b9050919050565b6000819050919050565b6000610dc782610df8565b9050919050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b610e6081610d0c565b8114610e6b57600080fd5b50565b610e7781610d1e565b8114610e8257600080fd5b50565b610e8e81610d54565b8114610e9957600080fd5b5056fea2646970667358221220fc7ae99de1eb543fc941c22b053bacc8edc14f929260909668ffd15cbad6fbfb64736f6c6343000807003360c06040523480156200001157600080fd5b506040516200282d3803806200282d83398181016040528101906200003791906200035b565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620000b1576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8760079080519060200190620000c9929190620001d1565b508660089080519060200190620000e2929190620001d1565b5085600960006101000a81548160ff021916908360ff16021790555084608081815250508360028111156200011c576200011b620005ae565b5b60a0816002811115620001345762000133620005ae565b5b60f81b8152505082600281905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050620006bf565b828054620001df9062000542565b90600052602060002090601f0160209004810192826200020357600085556200024f565b82601f106200021e57805160ff19168380011785556200024f565b828001600101855582156200024f579182015b828111156200024e57825182559160200191906001019062000231565b5b5090506200025e919062000262565b5090565b5b808211156200027d57600081600090555060010162000263565b5090565b60006200029862000292846200048b565b62000462565b905082815260208101848484011115620002b757620002b662000640565b5b620002c48482856200050c565b509392505050565b600081519050620002dd8162000660565b92915050565b600081519050620002f4816200067a565b92915050565b600082601f8301126200031257620003116200063b565b5b81516200032484826020860162000281565b91505092915050565b6000815190506200033e816200068b565b92915050565b6000815190506200035581620006a5565b92915050565b600080600080600080600080610100898b0312156200037f576200037e6200064a565b5b600089015167ffffffffffffffff811115620003a0576200039f62000645565b5b620003ae8b828c01620002fa565b985050602089015167ffffffffffffffff811115620003d257620003d162000645565b5b620003e08b828c01620002fa565b9750506040620003f38b828c0162000344565b9650506060620004068b828c016200032d565b9550506080620004198b828c01620002e3565b94505060a06200042c8b828c016200032d565b93505060c06200043f8b828c01620002cc565b92505060e0620004528b828c01620002cc565b9150509295985092959890939650565b60006200046e62000481565b90506200047c828262000578565b919050565b6000604051905090565b600067ffffffffffffffff821115620004a957620004a86200060c565b5b620004b4826200064f565b9050602081019050919050565b6000620004ce82620004d5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200052c5780820151818401526020810190506200050f565b838111156200053c576000848401525b50505050565b600060028204905060018216806200055b57607f821691505b60208210811415620005725762000571620005dd565b5b50919050565b62000583826200064f565b810181811067ffffffffffffffff82111715620005a557620005a46200060c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6200066b81620004c1565b81146200067757600080fd5b50565b600381106200068857600080fd5b50565b6200069681620004f5565b8114620006a257600080fd5b50565b620006b081620004ff565b8114620006bc57600080fd5b50565b60805160a05160f81c612137620006f660003960006109580152600081816108a201528181610c250152610d5a01526121376000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806385e1f4d0116100c3578063d9eeebed1161007c578063d9eeebed146103cc578063dd62ed3e146103eb578063e2f535b81461041b578063eddeb12314610439578063f2441b3214610455578063f687d12a146104735761014d565b806385e1f4d0146102f657806395d89b4114610314578063a3413d0314610332578063a9059cbb14610350578063c701262614610380578063c835d7cc146103b05761014d565b8063313ce56711610115578063313ce5671461020c5780633ce4a5bc1461022a57806342966c681461024857806347e7ef24146102785780634d8943bb146102a857806370a08231146102c65761014d565b806306fdde0314610152578063091d278814610170578063095ea7b31461018e57806318160ddd146101be57806323b872dd146101dc575b600080fd5b61015a61048f565b6040516101679190611cad565b60405180910390f35b610178610521565b6040516101859190611ccf565b60405180910390f35b6101a860048036038101906101a3919061196e565b610527565b6040516101b59190611bfb565b60405180910390f35b6101c6610545565b6040516101d39190611ccf565b60405180910390f35b6101f660048036038101906101f1919061191b565b61054f565b6040516102039190611bfb565b60405180910390f35b610214610647565b6040516102219190611cea565b60405180910390f35b61023261065e565b60405161023f9190611b80565b60405180910390f35b610262600480360381019061025d9190611a37565b610676565b60405161026f9190611bfb565b60405180910390f35b610292600480360381019061028d919061196e565b61068b565b60405161029f9190611bfb565b60405180910390f35b6102b0610851565b6040516102bd9190611ccf565b60405180910390f35b6102e060048036038101906102db9190611881565b610857565b6040516102ed9190611ccf565b60405180910390f35b6102fe6108a0565b60405161030b9190611ccf565b60405180910390f35b61031c6108c4565b6040516103299190611cad565b60405180910390f35b61033a610956565b6040516103479190611c92565b60405180910390f35b61036a6004803603810190610365919061196e565b61097a565b6040516103779190611bfb565b60405180910390f35b61039a600480360381019061039591906119db565b610998565b6040516103a79190611bfb565b60405180910390f35b6103ca60048036038101906103c59190611881565b610aee565b005b6103d4610be1565b6040516103e2929190611bd2565b60405180910390f35b610405600480360381019061040091906118db565b610e4e565b6040516104129190611ccf565b60405180910390f35b610423610ed5565b6040516104309190611b80565b60405180910390f35b610453600480360381019061044e9190611a37565b610efb565b005b61045d610fb5565b60405161046a9190611b80565b60405180910390f35b61048d60048036038101906104889190611a37565b610fd9565b005b60606007805461049e90611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546104ca90611f33565b80156105175780601f106104ec57610100808354040283529160200191610517565b820191906000526020600020905b8154815290600101906020018083116104fa57829003601f168201915b5050505050905090565b60025481565b600061053b610534611093565b848461109b565b6001905092915050565b6000600654905090565b600061055c848484611254565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a7611093565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061e576040517f10bad14700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063b8561062a611093565b85846106369190611e43565b61109b565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b600061068233836114b0565b60019050919050565b600073735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610729575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156107835750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156107ba576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c48383611668565b8273ffffffffffffffffffffffffffffffffffffffff167f67fc7bdaed5b0ec550d8706b87d60568ab70c6b781263c70101d54cd1564aab373735b14bb79463307aacbed86daf3322b1e6226ab6040516020016108219190611b65565b6040516020818303038152906040528460405161083f929190611c16565b60405180910390a26001905092915050565b60035481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600880546108d390611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff90611f33565b801561094c5780601f106109215761010080835404028352916020019161094c565b820191906000526020600020905b81548152906001019060200180831161092f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061098e610987611093565b8484611254565b6001905092915050565b60008060006109a5610be1565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b81526004016109fa93929190611b9b565b602060405180830381600087803b158015610a1457600080fd5b505af1158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c91906119ae565b610a82576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a8c33856114b0565b3373ffffffffffffffffffffffffffffffffffffffff167f9ffbffc04a397460ee1dbe8c9503e098090567d6b7f4b3c02a8617d800b6d955868684600354604051610ada9493929190611c46565b60405180910390a260019250505092915050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b67576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd55614e962c5fd6ece71614f6348d702468a997a394dd5e5c1677950226d97ae81604051610bd69190611b80565b60405180910390a150565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630be155477f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610c609190611ccf565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb091906118ae565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d19576040517f78fff39600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d7fd7afb7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610d959190611ccf565b60206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de59190611a64565b90506000811415610e22576040517fe661aed000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060035460025483610e359190611de9565b610e3f9190611d93565b90508281945094505050509091565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806003819055507fef13af88e424b5d15f49c77758542c1938b08b8b95b91ed0751f98ba99000d8f81604051610faa9190611ccf565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611052576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806002819055507fff5788270f43bfc1ca41c503606d2594aa3023a1a7547de403a3e2f146a4a80a816040516110889190611ccf565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611102576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611169576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112479190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112bb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611322576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113a0576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816113ac9190611e43565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461143e9190611d93565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114a29190611ccf565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611517576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611595576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816115a19190611e43565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546115f69190611e43565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161165b9190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116cf576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600660008282546116e19190611d93565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117379190611d93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161179c9190611ccf565b60405180910390a35050565b60006117bb6117b684611d2a565b611d05565b9050828152602081018484840111156117d7576117d661207b565b5b6117e2848285611ef1565b509392505050565b6000813590506117f9816120bc565b92915050565b60008151905061180e816120bc565b92915050565b600081519050611823816120d3565b92915050565b600082601f83011261183e5761183d612076565b5b813561184e8482602086016117a8565b91505092915050565b600081359050611866816120ea565b92915050565b60008151905061187b816120ea565b92915050565b60006020828403121561189757611896612085565b5b60006118a5848285016117ea565b91505092915050565b6000602082840312156118c4576118c3612085565b5b60006118d2848285016117ff565b91505092915050565b600080604083850312156118f2576118f1612085565b5b6000611900858286016117ea565b9250506020611911858286016117ea565b9150509250929050565b60008060006060848603121561193457611933612085565b5b6000611942868287016117ea565b9350506020611953868287016117ea565b925050604061196486828701611857565b9150509250925092565b6000806040838503121561198557611984612085565b5b6000611993858286016117ea565b92505060206119a485828601611857565b9150509250929050565b6000602082840312156119c4576119c3612085565b5b60006119d284828501611814565b91505092915050565b600080604083850312156119f2576119f1612085565b5b600083013567ffffffffffffffff811115611a1057611a0f612080565b5b611a1c85828601611829565b9250506020611a2d85828601611857565b9150509250929050565b600060208284031215611a4d57611a4c612085565b5b6000611a5b84828501611857565b91505092915050565b600060208284031215611a7a57611a79612085565b5b6000611a888482850161186c565b91505092915050565b611a9a81611e77565b82525050565b611ab1611aac82611e77565b611f96565b82525050565b611ac081611e89565b82525050565b6000611ad182611d5b565b611adb8185611d71565b9350611aeb818560208601611f00565b611af48161208a565b840191505092915050565b611b0881611edf565b82525050565b6000611b1982611d66565b611b238185611d82565b9350611b33818560208601611f00565b611b3c8161208a565b840191505092915050565b611b5081611ec8565b82525050565b611b5f81611ed2565b82525050565b6000611b718284611aa0565b60148201915081905092915050565b6000602082019050611b956000830184611a91565b92915050565b6000606082019050611bb06000830186611a91565b611bbd6020830185611a91565b611bca6040830184611b47565b949350505050565b6000604082019050611be76000830185611a91565b611bf46020830184611b47565b9392505050565b6000602082019050611c106000830184611ab7565b92915050565b60006040820190508181036000830152611c308185611ac6565b9050611c3f6020830184611b47565b9392505050565b60006080820190508181036000830152611c608187611ac6565b9050611c6f6020830186611b47565b611c7c6040830185611b47565b611c896060830184611b47565b95945050505050565b6000602082019050611ca76000830184611aff565b92915050565b60006020820190508181036000830152611cc78184611b0e565b905092915050565b6000602082019050611ce46000830184611b47565b92915050565b6000602082019050611cff6000830184611b56565b92915050565b6000611d0f611d20565b9050611d1b8282611f65565b919050565b6000604051905090565b600067ffffffffffffffff821115611d4557611d44612047565b5b611d4e8261208a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d9e82611ec8565b9150611da983611ec8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611dde57611ddd611fba565b5b828201905092915050565b6000611df482611ec8565b9150611dff83611ec8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e3857611e37611fba565b5b828202905092915050565b6000611e4e82611ec8565b9150611e5983611ec8565b925082821015611e6c57611e6b611fba565b5b828203905092915050565b6000611e8282611ea8565b9050919050565b60008115159050919050565b6000819050611ea3826120a8565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611eea82611e95565b9050919050565b82818337600083830152505050565b60005b83811015611f1e578082015181840152602081019050611f03565b83811115611f2d576000848401525b50505050565b60006002820490506001821680611f4b57607f821691505b60208210811415611f5f57611f5e612018565b5b50919050565b611f6e8261208a565b810181811067ffffffffffffffff82111715611f8d57611f8c612047565b5b80604052505050565b6000611fa182611fa8565b9050919050565b6000611fb38261209b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b600381106120b9576120b8611fe9565b5b50565b6120c581611e77565b81146120d057600080fd5b50565b6120dc81611e89565b81146120e757600080fd5b50565b6120f381611ec8565b81146120fe57600080fd5b5056fea26469706673582212206982505c1a546edfb86a1aaaca0ad6b7e5542f2d1f24ac30a032805fc80a650e64736f6c63430008070033a26469706673582212208d7d8b6bb4286c593437bf31bb250c9ee5f1513d5b4607baa1d5deb2c2daad8b64736f6c63430008070033", -} - -// GatewayEVMZEVMTestABI is the input ABI used to generate the binding from. -// Deprecated: Use GatewayEVMZEVMTestMetaData.ABI instead. -var GatewayEVMZEVMTestABI = GatewayEVMZEVMTestMetaData.ABI - -// GatewayEVMZEVMTestBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use GatewayEVMZEVMTestMetaData.Bin instead. -var GatewayEVMZEVMTestBin = GatewayEVMZEVMTestMetaData.Bin - -// DeployGatewayEVMZEVMTest deploys a new Ethereum contract, binding an instance of GatewayEVMZEVMTest to it. -func DeployGatewayEVMZEVMTest(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *GatewayEVMZEVMTest, error) { - parsed, err := GatewayEVMZEVMTestMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(GatewayEVMZEVMTestBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &GatewayEVMZEVMTest{GatewayEVMZEVMTestCaller: GatewayEVMZEVMTestCaller{contract: contract}, GatewayEVMZEVMTestTransactor: GatewayEVMZEVMTestTransactor{contract: contract}, GatewayEVMZEVMTestFilterer: GatewayEVMZEVMTestFilterer{contract: contract}}, nil -} - -// GatewayEVMZEVMTest is an auto generated Go binding around an Ethereum contract. -type GatewayEVMZEVMTest struct { - GatewayEVMZEVMTestCaller // Read-only binding to the contract - GatewayEVMZEVMTestTransactor // Write-only binding to the contract - GatewayEVMZEVMTestFilterer // Log filterer for contract events -} - -// GatewayEVMZEVMTestCaller is an auto generated read-only Go binding around an Ethereum contract. -type GatewayEVMZEVMTestCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// GatewayEVMZEVMTestTransactor is an auto generated write-only Go binding around an Ethereum contract. -type GatewayEVMZEVMTestTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// GatewayEVMZEVMTestFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type GatewayEVMZEVMTestFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// GatewayEVMZEVMTestSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type GatewayEVMZEVMTestSession struct { - Contract *GatewayEVMZEVMTest // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// GatewayEVMZEVMTestCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type GatewayEVMZEVMTestCallerSession struct { - Contract *GatewayEVMZEVMTestCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// GatewayEVMZEVMTestTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type GatewayEVMZEVMTestTransactorSession struct { - Contract *GatewayEVMZEVMTestTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// GatewayEVMZEVMTestRaw is an auto generated low-level Go binding around an Ethereum contract. -type GatewayEVMZEVMTestRaw struct { - Contract *GatewayEVMZEVMTest // Generic contract binding to access the raw methods on -} - -// GatewayEVMZEVMTestCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type GatewayEVMZEVMTestCallerRaw struct { - Contract *GatewayEVMZEVMTestCaller // Generic read-only contract binding to access the raw methods on -} - -// GatewayEVMZEVMTestTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type GatewayEVMZEVMTestTransactorRaw struct { - Contract *GatewayEVMZEVMTestTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewGatewayEVMZEVMTest creates a new instance of GatewayEVMZEVMTest, bound to a specific deployed contract. -func NewGatewayEVMZEVMTest(address common.Address, backend bind.ContractBackend) (*GatewayEVMZEVMTest, error) { - contract, err := bindGatewayEVMZEVMTest(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTest{GatewayEVMZEVMTestCaller: GatewayEVMZEVMTestCaller{contract: contract}, GatewayEVMZEVMTestTransactor: GatewayEVMZEVMTestTransactor{contract: contract}, GatewayEVMZEVMTestFilterer: GatewayEVMZEVMTestFilterer{contract: contract}}, nil -} - -// NewGatewayEVMZEVMTestCaller creates a new read-only instance of GatewayEVMZEVMTest, bound to a specific deployed contract. -func NewGatewayEVMZEVMTestCaller(address common.Address, caller bind.ContractCaller) (*GatewayEVMZEVMTestCaller, error) { - contract, err := bindGatewayEVMZEVMTest(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestCaller{contract: contract}, nil -} - -// NewGatewayEVMZEVMTestTransactor creates a new write-only instance of GatewayEVMZEVMTest, bound to a specific deployed contract. -func NewGatewayEVMZEVMTestTransactor(address common.Address, transactor bind.ContractTransactor) (*GatewayEVMZEVMTestTransactor, error) { - contract, err := bindGatewayEVMZEVMTest(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestTransactor{contract: contract}, nil -} - -// NewGatewayEVMZEVMTestFilterer creates a new log filterer instance of GatewayEVMZEVMTest, bound to a specific deployed contract. -func NewGatewayEVMZEVMTestFilterer(address common.Address, filterer bind.ContractFilterer) (*GatewayEVMZEVMTestFilterer, error) { - contract, err := bindGatewayEVMZEVMTest(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestFilterer{contract: contract}, nil -} - -// bindGatewayEVMZEVMTest binds a generic wrapper to an already deployed contract. -func bindGatewayEVMZEVMTest(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := GatewayEVMZEVMTestMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _GatewayEVMZEVMTest.Contract.GatewayEVMZEVMTestCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.GatewayEVMZEVMTestTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.GatewayEVMZEVMTestTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _GatewayEVMZEVMTest.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.contract.Transact(opts, method, params...) -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) ISTEST(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "IS_TEST") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) ISTEST() (bool, error) { - return _GatewayEVMZEVMTest.Contract.ISTEST(&_GatewayEVMZEVMTest.CallOpts) -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) ISTEST() (bool, error) { - return _GatewayEVMZEVMTest.Contract.ISTEST(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) ExcludeArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "excludeArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) ExcludeArtifacts() ([]string, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeArtifacts(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) ExcludeArtifacts() ([]string, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeArtifacts(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) ExcludeContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "excludeContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) ExcludeContracts() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeContracts(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) ExcludeContracts() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeContracts(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) ExcludeSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "excludeSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeSelectors(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeSelectors(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) ExcludeSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "excludeSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) ExcludeSenders() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeSenders(&_GatewayEVMZEVMTest.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) ExcludeSenders() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.ExcludeSenders(&_GatewayEVMZEVMTest.CallOpts) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) Failed(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "failed") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) Failed() (bool, error) { - return _GatewayEVMZEVMTest.Contract.Failed(&_GatewayEVMZEVMTest.CallOpts) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) Failed() (bool, error) { - return _GatewayEVMZEVMTest.Contract.Failed(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) TargetArtifactSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzArtifactSelector, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "targetArtifactSelectors") - - if err != nil { - return *new([]StdInvariantFuzzArtifactSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzArtifactSelector)).(*[]StdInvariantFuzzArtifactSelector) - - return out0, err - -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _GatewayEVMZEVMTest.Contract.TargetArtifactSelectors(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _GatewayEVMZEVMTest.Contract.TargetArtifactSelectors(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) TargetArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "targetArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) TargetArtifacts() ([]string, error) { - return _GatewayEVMZEVMTest.Contract.TargetArtifacts(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) TargetArtifacts() ([]string, error) { - return _GatewayEVMZEVMTest.Contract.TargetArtifacts(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) TargetContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "targetContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) TargetContracts() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.TargetContracts(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) TargetContracts() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.TargetContracts(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) TargetInterfaces(opts *bind.CallOpts) ([]StdInvariantFuzzInterface, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "targetInterfaces") - - if err != nil { - return *new([]StdInvariantFuzzInterface), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzInterface)).(*[]StdInvariantFuzzInterface) - - return out0, err - -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _GatewayEVMZEVMTest.Contract.TargetInterfaces(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _GatewayEVMZEVMTest.Contract.TargetInterfaces(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) TargetSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "targetSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMZEVMTest.Contract.TargetSelectors(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _GatewayEVMZEVMTest.Contract.TargetSelectors(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCaller) TargetSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _GatewayEVMZEVMTest.contract.Call(opts, &out, "targetSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) TargetSenders() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.TargetSenders(&_GatewayEVMZEVMTest.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestCallerSession) TargetSenders() ([]common.Address, error) { - return _GatewayEVMZEVMTest.Contract.TargetSenders(&_GatewayEVMZEVMTest.CallOpts) -} - -// SetUp is a paid mutator transaction binding the contract method 0x0a9254e4. -// -// Solidity: function setUp() returns() -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestTransactor) SetUp(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMZEVMTest.contract.Transact(opts, "setUp") -} - -// SetUp is a paid mutator transaction binding the contract method 0x0a9254e4. -// -// Solidity: function setUp() returns() -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) SetUp() (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.SetUp(&_GatewayEVMZEVMTest.TransactOpts) -} - -// SetUp is a paid mutator transaction binding the contract method 0x0a9254e4. -// -// Solidity: function setUp() returns() -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestTransactorSession) SetUp() (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.SetUp(&_GatewayEVMZEVMTest.TransactOpts) -} - -// TestCallReceiverEVMFromZEVM is a paid mutator transaction binding the contract method 0x9683c695. -// -// Solidity: function testCallReceiverEVMFromZEVM() returns() -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestTransactor) TestCallReceiverEVMFromZEVM(opts *bind.TransactOpts) (*types.Transaction, error) { - return _GatewayEVMZEVMTest.contract.Transact(opts, "testCallReceiverEVMFromZEVM") -} - -// TestCallReceiverEVMFromZEVM is a paid mutator transaction binding the contract method 0x9683c695. -// -// Solidity: function testCallReceiverEVMFromZEVM() returns() -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestSession) TestCallReceiverEVMFromZEVM() (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.TestCallReceiverEVMFromZEVM(&_GatewayEVMZEVMTest.TransactOpts) -} - -// TestCallReceiverEVMFromZEVM is a paid mutator transaction binding the contract method 0x9683c695. -// -// Solidity: function testCallReceiverEVMFromZEVM() returns() -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestTransactorSession) TestCallReceiverEVMFromZEVM() (*types.Transaction, error) { - return _GatewayEVMZEVMTest.Contract.TestCallReceiverEVMFromZEVM(&_GatewayEVMZEVMTest.TransactOpts) -} - -// GatewayEVMZEVMTestCallIterator is returned from FilterCall and is used to iterate over the raw logs and unpacked data for Call events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestCallIterator struct { - Event *GatewayEVMZEVMTestCall // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestCallIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestCall) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestCall) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestCallIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestCallIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestCall represents a Call event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestCall struct { - Sender common.Address - Receiver []byte - Message []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterCall is a free log retrieval operation binding the contract event 0x2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f. -// -// Solidity: event Call(address indexed sender, bytes receiver, bytes message) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterCall(opts *bind.FilterOpts, sender []common.Address) (*GatewayEVMZEVMTestCallIterator, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "Call", senderRule) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestCallIterator{contract: _GatewayEVMZEVMTest.contract, event: "Call", logs: logs, sub: sub}, nil -} - -// WatchCall is a free log subscription operation binding the contract event 0x2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f. -// -// Solidity: event Call(address indexed sender, bytes receiver, bytes message) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchCall(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestCall, sender []common.Address) (event.Subscription, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "Call", senderRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestCall) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Call", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseCall is a log parse operation binding the contract event 0x2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f. -// -// Solidity: event Call(address indexed sender, bytes receiver, bytes message) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseCall(log types.Log) (*GatewayEVMZEVMTestCall, error) { - event := new(GatewayEVMZEVMTestCall) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Call", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestCall0Iterator is returned from FilterCall0 and is used to iterate over the raw logs and unpacked data for Call0 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestCall0Iterator struct { - Event *GatewayEVMZEVMTestCall0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestCall0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestCall0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestCall0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestCall0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestCall0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestCall0 represents a Call0 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestCall0 struct { - Sender common.Address - Receiver common.Address - Payload []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterCall0 is a free log retrieval operation binding the contract event 0x2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde3. -// -// Solidity: event Call(address indexed sender, address indexed receiver, bytes payload) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterCall0(opts *bind.FilterOpts, sender []common.Address, receiver []common.Address) (*GatewayEVMZEVMTestCall0Iterator, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "Call0", senderRule, receiverRule) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestCall0Iterator{contract: _GatewayEVMZEVMTest.contract, event: "Call0", logs: logs, sub: sub}, nil -} - -// WatchCall0 is a free log subscription operation binding the contract event 0x2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde3. -// -// Solidity: event Call(address indexed sender, address indexed receiver, bytes payload) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchCall0(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestCall0, sender []common.Address, receiver []common.Address) (event.Subscription, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "Call0", senderRule, receiverRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestCall0) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Call0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseCall0 is a log parse operation binding the contract event 0x2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde3. -// -// Solidity: event Call(address indexed sender, address indexed receiver, bytes payload) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseCall0(log types.Log) (*GatewayEVMZEVMTestCall0, error) { - event := new(GatewayEVMZEVMTestCall0) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Call0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestDepositIterator is returned from FilterDeposit and is used to iterate over the raw logs and unpacked data for Deposit events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestDepositIterator struct { - Event *GatewayEVMZEVMTestDeposit // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestDepositIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestDeposit) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestDeposit) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestDepositIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestDepositIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestDeposit represents a Deposit event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestDeposit struct { - Sender common.Address - Receiver common.Address - Amount *big.Int - Asset common.Address - Payload []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterDeposit is a free log retrieval operation binding the contract event 0x2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4. -// -// Solidity: event Deposit(address indexed sender, address indexed receiver, uint256 amount, address asset, bytes payload) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterDeposit(opts *bind.FilterOpts, sender []common.Address, receiver []common.Address) (*GatewayEVMZEVMTestDepositIterator, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "Deposit", senderRule, receiverRule) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestDepositIterator{contract: _GatewayEVMZEVMTest.contract, event: "Deposit", logs: logs, sub: sub}, nil -} - -// WatchDeposit is a free log subscription operation binding the contract event 0x2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4. -// -// Solidity: event Deposit(address indexed sender, address indexed receiver, uint256 amount, address asset, bytes payload) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchDeposit(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestDeposit, sender []common.Address, receiver []common.Address) (event.Subscription, error) { - - var senderRule []interface{} - for _, senderItem := range sender { - senderRule = append(senderRule, senderItem) - } - var receiverRule []interface{} - for _, receiverItem := range receiver { - receiverRule = append(receiverRule, receiverItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "Deposit", senderRule, receiverRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestDeposit) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Deposit", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseDeposit is a log parse operation binding the contract event 0x2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4. -// -// Solidity: event Deposit(address indexed sender, address indexed receiver, uint256 amount, address asset, bytes payload) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseDeposit(log types.Log) (*GatewayEVMZEVMTestDeposit, error) { - event := new(GatewayEVMZEVMTestDeposit) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Deposit", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestExecutedIterator is returned from FilterExecuted and is used to iterate over the raw logs and unpacked data for Executed events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestExecutedIterator struct { - Event *GatewayEVMZEVMTestExecuted // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestExecutedIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestExecuted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestExecuted) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestExecutedIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestExecutedIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestExecuted represents a Executed event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestExecuted struct { - Destination common.Address - Value *big.Int - Data []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterExecuted is a free log retrieval operation binding the contract event 0xcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f. -// -// Solidity: event Executed(address indexed destination, uint256 value, bytes data) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterExecuted(opts *bind.FilterOpts, destination []common.Address) (*GatewayEVMZEVMTestExecutedIterator, error) { - - var destinationRule []interface{} - for _, destinationItem := range destination { - destinationRule = append(destinationRule, destinationItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "Executed", destinationRule) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestExecutedIterator{contract: _GatewayEVMZEVMTest.contract, event: "Executed", logs: logs, sub: sub}, nil -} - -// WatchExecuted is a free log subscription operation binding the contract event 0xcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f. -// -// Solidity: event Executed(address indexed destination, uint256 value, bytes data) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchExecuted(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestExecuted, destination []common.Address) (event.Subscription, error) { - - var destinationRule []interface{} - for _, destinationItem := range destination { - destinationRule = append(destinationRule, destinationItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "Executed", destinationRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestExecuted) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Executed", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseExecuted is a log parse operation binding the contract event 0xcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f. -// -// Solidity: event Executed(address indexed destination, uint256 value, bytes data) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseExecuted(log types.Log) (*GatewayEVMZEVMTestExecuted, error) { - event := new(GatewayEVMZEVMTestExecuted) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Executed", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestExecutedWithERC20Iterator is returned from FilterExecutedWithERC20 and is used to iterate over the raw logs and unpacked data for ExecutedWithERC20 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestExecutedWithERC20Iterator struct { - Event *GatewayEVMZEVMTestExecutedWithERC20 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestExecutedWithERC20Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestExecutedWithERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestExecutedWithERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestExecutedWithERC20Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestExecutedWithERC20Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestExecutedWithERC20 represents a ExecutedWithERC20 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestExecutedWithERC20 struct { - Token common.Address - To common.Address - Amount *big.Int - Data []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterExecutedWithERC20 is a free log retrieval operation binding the contract event 0x29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382. -// -// Solidity: event ExecutedWithERC20(address indexed token, address indexed to, uint256 amount, bytes data) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterExecutedWithERC20(opts *bind.FilterOpts, token []common.Address, to []common.Address) (*GatewayEVMZEVMTestExecutedWithERC20Iterator, error) { - - var tokenRule []interface{} - for _, tokenItem := range token { - tokenRule = append(tokenRule, tokenItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "ExecutedWithERC20", tokenRule, toRule) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestExecutedWithERC20Iterator{contract: _GatewayEVMZEVMTest.contract, event: "ExecutedWithERC20", logs: logs, sub: sub}, nil -} - -// WatchExecutedWithERC20 is a free log subscription operation binding the contract event 0x29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382. -// -// Solidity: event ExecutedWithERC20(address indexed token, address indexed to, uint256 amount, bytes data) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchExecutedWithERC20(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestExecutedWithERC20, token []common.Address, to []common.Address) (event.Subscription, error) { - - var tokenRule []interface{} - for _, tokenItem := range token { - tokenRule = append(tokenRule, tokenItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "ExecutedWithERC20", tokenRule, toRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestExecutedWithERC20) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ExecutedWithERC20", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseExecutedWithERC20 is a log parse operation binding the contract event 0x29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382. -// -// Solidity: event ExecutedWithERC20(address indexed token, address indexed to, uint256 amount, bytes data) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseExecutedWithERC20(log types.Log) (*GatewayEVMZEVMTestExecutedWithERC20, error) { - event := new(GatewayEVMZEVMTestExecutedWithERC20) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ExecutedWithERC20", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestReceivedERC20Iterator is returned from FilterReceivedERC20 and is used to iterate over the raw logs and unpacked data for ReceivedERC20 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedERC20Iterator struct { - Event *GatewayEVMZEVMTestReceivedERC20 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestReceivedERC20Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedERC20) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestReceivedERC20Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestReceivedERC20Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestReceivedERC20 represents a ReceivedERC20 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedERC20 struct { - Sender common.Address - Amount *big.Int - Token common.Address - Destination common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedERC20 is a free log retrieval operation binding the contract event 0x2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af60. -// -// Solidity: event ReceivedERC20(address sender, uint256 amount, address token, address destination) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterReceivedERC20(opts *bind.FilterOpts) (*GatewayEVMZEVMTestReceivedERC20Iterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "ReceivedERC20") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestReceivedERC20Iterator{contract: _GatewayEVMZEVMTest.contract, event: "ReceivedERC20", logs: logs, sub: sub}, nil -} - -// WatchReceivedERC20 is a free log subscription operation binding the contract event 0x2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af60. -// -// Solidity: event ReceivedERC20(address sender, uint256 amount, address token, address destination) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchReceivedERC20(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestReceivedERC20) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "ReceivedERC20") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestReceivedERC20) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedERC20", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedERC20 is a log parse operation binding the contract event 0x2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af60. -// -// Solidity: event ReceivedERC20(address sender, uint256 amount, address token, address destination) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseReceivedERC20(log types.Log) (*GatewayEVMZEVMTestReceivedERC20, error) { - event := new(GatewayEVMZEVMTestReceivedERC20) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedERC20", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestReceivedNoParamsIterator is returned from FilterReceivedNoParams and is used to iterate over the raw logs and unpacked data for ReceivedNoParams events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedNoParamsIterator struct { - Event *GatewayEVMZEVMTestReceivedNoParams // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestReceivedNoParamsIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedNoParams) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedNoParams) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestReceivedNoParamsIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestReceivedNoParamsIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestReceivedNoParams represents a ReceivedNoParams event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedNoParams struct { - Sender common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedNoParams is a free log retrieval operation binding the contract event 0xbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0. -// -// Solidity: event ReceivedNoParams(address sender) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterReceivedNoParams(opts *bind.FilterOpts) (*GatewayEVMZEVMTestReceivedNoParamsIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "ReceivedNoParams") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestReceivedNoParamsIterator{contract: _GatewayEVMZEVMTest.contract, event: "ReceivedNoParams", logs: logs, sub: sub}, nil -} - -// WatchReceivedNoParams is a free log subscription operation binding the contract event 0xbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0. -// -// Solidity: event ReceivedNoParams(address sender) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchReceivedNoParams(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestReceivedNoParams) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "ReceivedNoParams") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestReceivedNoParams) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedNoParams", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedNoParams is a log parse operation binding the contract event 0xbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0. -// -// Solidity: event ReceivedNoParams(address sender) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseReceivedNoParams(log types.Log) (*GatewayEVMZEVMTestReceivedNoParams, error) { - event := new(GatewayEVMZEVMTestReceivedNoParams) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedNoParams", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestReceivedNonPayableIterator is returned from FilterReceivedNonPayable and is used to iterate over the raw logs and unpacked data for ReceivedNonPayable events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedNonPayableIterator struct { - Event *GatewayEVMZEVMTestReceivedNonPayable // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestReceivedNonPayableIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedNonPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedNonPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestReceivedNonPayableIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestReceivedNonPayableIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestReceivedNonPayable represents a ReceivedNonPayable event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedNonPayable struct { - Sender common.Address - Strs []string - Nums []*big.Int - Flag bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedNonPayable is a free log retrieval operation binding the contract event 0x74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146. -// -// Solidity: event ReceivedNonPayable(address sender, string[] strs, uint256[] nums, bool flag) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterReceivedNonPayable(opts *bind.FilterOpts) (*GatewayEVMZEVMTestReceivedNonPayableIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "ReceivedNonPayable") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestReceivedNonPayableIterator{contract: _GatewayEVMZEVMTest.contract, event: "ReceivedNonPayable", logs: logs, sub: sub}, nil -} - -// WatchReceivedNonPayable is a free log subscription operation binding the contract event 0x74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146. -// -// Solidity: event ReceivedNonPayable(address sender, string[] strs, uint256[] nums, bool flag) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchReceivedNonPayable(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestReceivedNonPayable) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "ReceivedNonPayable") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestReceivedNonPayable) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedNonPayable", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedNonPayable is a log parse operation binding the contract event 0x74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146. -// -// Solidity: event ReceivedNonPayable(address sender, string[] strs, uint256[] nums, bool flag) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseReceivedNonPayable(log types.Log) (*GatewayEVMZEVMTestReceivedNonPayable, error) { - event := new(GatewayEVMZEVMTestReceivedNonPayable) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedNonPayable", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestReceivedPayableIterator is returned from FilterReceivedPayable and is used to iterate over the raw logs and unpacked data for ReceivedPayable events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedPayableIterator struct { - Event *GatewayEVMZEVMTestReceivedPayable // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestReceivedPayableIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestReceivedPayable) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestReceivedPayableIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestReceivedPayableIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestReceivedPayable represents a ReceivedPayable event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestReceivedPayable struct { - Sender common.Address - Value *big.Int - Str string - Num *big.Int - Flag bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterReceivedPayable is a free log retrieval operation binding the contract event 0x1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa. -// -// Solidity: event ReceivedPayable(address sender, uint256 value, string str, uint256 num, bool flag) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterReceivedPayable(opts *bind.FilterOpts) (*GatewayEVMZEVMTestReceivedPayableIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "ReceivedPayable") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestReceivedPayableIterator{contract: _GatewayEVMZEVMTest.contract, event: "ReceivedPayable", logs: logs, sub: sub}, nil -} - -// WatchReceivedPayable is a free log subscription operation binding the contract event 0x1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa. -// -// Solidity: event ReceivedPayable(address sender, uint256 value, string str, uint256 num, bool flag) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchReceivedPayable(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestReceivedPayable) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "ReceivedPayable") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestReceivedPayable) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedPayable", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseReceivedPayable is a log parse operation binding the contract event 0x1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa. -// -// Solidity: event ReceivedPayable(address sender, uint256 value, string str, uint256 num, bool flag) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseReceivedPayable(log types.Log) (*GatewayEVMZEVMTestReceivedPayable, error) { - event := new(GatewayEVMZEVMTestReceivedPayable) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "ReceivedPayable", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestWithdrawalIterator is returned from FilterWithdrawal and is used to iterate over the raw logs and unpacked data for Withdrawal events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestWithdrawalIterator struct { - Event *GatewayEVMZEVMTestWithdrawal // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestWithdrawalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestWithdrawal) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestWithdrawal) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestWithdrawalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestWithdrawalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestWithdrawal represents a Withdrawal event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestWithdrawal struct { - From common.Address - To []byte - Value *big.Int - Gasfee *big.Int - ProtocolFlatFee *big.Int - Message []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterWithdrawal is a free log retrieval operation binding the contract event 0x1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d. -// -// Solidity: event Withdrawal(address indexed from, bytes to, uint256 value, uint256 gasfee, uint256 protocolFlatFee, bytes message) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterWithdrawal(opts *bind.FilterOpts, from []common.Address) (*GatewayEVMZEVMTestWithdrawalIterator, error) { - - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "Withdrawal", fromRule) - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestWithdrawalIterator{contract: _GatewayEVMZEVMTest.contract, event: "Withdrawal", logs: logs, sub: sub}, nil -} - -// WatchWithdrawal is a free log subscription operation binding the contract event 0x1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d. -// -// Solidity: event Withdrawal(address indexed from, bytes to, uint256 value, uint256 gasfee, uint256 protocolFlatFee, bytes message) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchWithdrawal(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestWithdrawal, from []common.Address) (event.Subscription, error) { - - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) - } - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "Withdrawal", fromRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestWithdrawal) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Withdrawal", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseWithdrawal is a log parse operation binding the contract event 0x1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d. -// -// Solidity: event Withdrawal(address indexed from, bytes to, uint256 value, uint256 gasfee, uint256 protocolFlatFee, bytes message) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseWithdrawal(log types.Log) (*GatewayEVMZEVMTestWithdrawal, error) { - event := new(GatewayEVMZEVMTestWithdrawal) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "Withdrawal", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogIterator is returned from FilterLog and is used to iterate over the raw logs and unpacked data for Log events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogIterator struct { - Event *GatewayEVMZEVMTestLog // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLog represents a Log event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLog struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLog is a free log retrieval operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLog(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogIterator{contract: _GatewayEVMZEVMTest.contract, event: "log", logs: logs, sub: sub}, nil -} - -// WatchLog is a free log subscription operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLog(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLog) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLog) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLog is a log parse operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLog(log types.Log) (*GatewayEVMZEVMTestLog, error) { - event := new(GatewayEVMZEVMTestLog) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogAddressIterator is returned from FilterLogAddress and is used to iterate over the raw logs and unpacked data for LogAddress events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogAddressIterator struct { - Event *GatewayEVMZEVMTestLogAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogAddress represents a LogAddress event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogAddress struct { - Arg0 common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogAddress is a free log retrieval operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogAddress(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogAddressIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_address") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogAddressIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_address", logs: logs, sub: sub}, nil -} - -// WatchLogAddress is a free log subscription operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogAddress(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogAddress) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogAddress) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogAddress is a log parse operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogAddress(log types.Log) (*GatewayEVMZEVMTestLogAddress, error) { - event := new(GatewayEVMZEVMTestLogAddress) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogArrayIterator is returned from FilterLogArray and is used to iterate over the raw logs and unpacked data for LogArray events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogArrayIterator struct { - Event *GatewayEVMZEVMTestLogArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogArray represents a LogArray event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogArray struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray is a free log retrieval operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogArray(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogArrayIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_array") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogArrayIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_array", logs: logs, sub: sub}, nil -} - -// WatchLogArray is a free log subscription operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogArray(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogArray) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogArray) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray is a log parse operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogArray(log types.Log) (*GatewayEVMZEVMTestLogArray, error) { - event := new(GatewayEVMZEVMTestLogArray) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogArray0Iterator is returned from FilterLogArray0 and is used to iterate over the raw logs and unpacked data for LogArray0 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogArray0Iterator struct { - Event *GatewayEVMZEVMTestLogArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogArray0 represents a LogArray0 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogArray0 struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray0 is a free log retrieval operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogArray0(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogArray0Iterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogArray0Iterator{contract: _GatewayEVMZEVMTest.contract, event: "log_array0", logs: logs, sub: sub}, nil -} - -// WatchLogArray0 is a free log subscription operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogArray0(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogArray0) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogArray0) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray0 is a log parse operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogArray0(log types.Log) (*GatewayEVMZEVMTestLogArray0, error) { - event := new(GatewayEVMZEVMTestLogArray0) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogArray1Iterator is returned from FilterLogArray1 and is used to iterate over the raw logs and unpacked data for LogArray1 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogArray1Iterator struct { - Event *GatewayEVMZEVMTestLogArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogArray1 represents a LogArray1 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogArray1 struct { - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray1 is a free log retrieval operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogArray1(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogArray1Iterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogArray1Iterator{contract: _GatewayEVMZEVMTest.contract, event: "log_array1", logs: logs, sub: sub}, nil -} - -// WatchLogArray1 is a free log subscription operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogArray1(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogArray1) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogArray1) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray1 is a log parse operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogArray1(log types.Log) (*GatewayEVMZEVMTestLogArray1, error) { - event := new(GatewayEVMZEVMTestLogArray1) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogBytesIterator is returned from FilterLogBytes and is used to iterate over the raw logs and unpacked data for LogBytes events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogBytesIterator struct { - Event *GatewayEVMZEVMTestLogBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogBytes represents a LogBytes event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogBytes struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes is a free log retrieval operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogBytes(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogBytesIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogBytesIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogBytes is a free log subscription operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogBytes(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogBytes) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogBytes) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes is a log parse operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogBytes(log types.Log) (*GatewayEVMZEVMTestLogBytes, error) { - event := new(GatewayEVMZEVMTestLogBytes) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogBytes32Iterator is returned from FilterLogBytes32 and is used to iterate over the raw logs and unpacked data for LogBytes32 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogBytes32Iterator struct { - Event *GatewayEVMZEVMTestLogBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogBytes32 represents a LogBytes32 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogBytes32 struct { - Arg0 [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes32 is a free log retrieval operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogBytes32(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogBytes32Iterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogBytes32Iterator{contract: _GatewayEVMZEVMTest.contract, event: "log_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogBytes32 is a free log subscription operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogBytes32(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogBytes32) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogBytes32) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes32 is a log parse operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogBytes32(log types.Log) (*GatewayEVMZEVMTestLogBytes32, error) { - event := new(GatewayEVMZEVMTestLogBytes32) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogIntIterator is returned from FilterLogInt and is used to iterate over the raw logs and unpacked data for LogInt events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogIntIterator struct { - Event *GatewayEVMZEVMTestLogInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogInt represents a LogInt event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogInt struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogInt is a free log retrieval operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogInt(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogIntIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_int") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogIntIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_int", logs: logs, sub: sub}, nil -} - -// WatchLogInt is a free log subscription operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogInt(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogInt) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogInt) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogInt is a log parse operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogInt(log types.Log) (*GatewayEVMZEVMTestLogInt, error) { - event := new(GatewayEVMZEVMTestLogInt) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedAddressIterator is returned from FilterLogNamedAddress and is used to iterate over the raw logs and unpacked data for LogNamedAddress events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedAddressIterator struct { - Event *GatewayEVMZEVMTestLogNamedAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedAddress represents a LogNamedAddress event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedAddress struct { - Key string - Val common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedAddress is a free log retrieval operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedAddress(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedAddressIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedAddressIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_address", logs: logs, sub: sub}, nil -} - -// WatchLogNamedAddress is a free log subscription operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedAddress(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedAddress) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedAddress) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedAddress is a log parse operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedAddress(log types.Log) (*GatewayEVMZEVMTestLogNamedAddress, error) { - event := new(GatewayEVMZEVMTestLogNamedAddress) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedArrayIterator is returned from FilterLogNamedArray and is used to iterate over the raw logs and unpacked data for LogNamedArray events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedArrayIterator struct { - Event *GatewayEVMZEVMTestLogNamedArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedArray represents a LogNamedArray event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedArray struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray is a free log retrieval operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedArray(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedArrayIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedArrayIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_array", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray is a free log subscription operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedArray(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedArray) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedArray) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray is a log parse operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedArray(log types.Log) (*GatewayEVMZEVMTestLogNamedArray, error) { - event := new(GatewayEVMZEVMTestLogNamedArray) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedArray0Iterator is returned from FilterLogNamedArray0 and is used to iterate over the raw logs and unpacked data for LogNamedArray0 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedArray0Iterator struct { - Event *GatewayEVMZEVMTestLogNamedArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedArray0 represents a LogNamedArray0 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedArray0 struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray0 is a free log retrieval operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedArray0(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedArray0Iterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedArray0Iterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_array0", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray0 is a free log subscription operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedArray0(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedArray0) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedArray0) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray0 is a log parse operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedArray0(log types.Log) (*GatewayEVMZEVMTestLogNamedArray0, error) { - event := new(GatewayEVMZEVMTestLogNamedArray0) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedArray1Iterator is returned from FilterLogNamedArray1 and is used to iterate over the raw logs and unpacked data for LogNamedArray1 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedArray1Iterator struct { - Event *GatewayEVMZEVMTestLogNamedArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedArray1 represents a LogNamedArray1 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedArray1 struct { - Key string - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray1 is a free log retrieval operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedArray1(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedArray1Iterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedArray1Iterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_array1", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray1 is a free log subscription operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedArray1(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedArray1) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedArray1) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray1 is a log parse operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedArray1(log types.Log) (*GatewayEVMZEVMTestLogNamedArray1, error) { - event := new(GatewayEVMZEVMTestLogNamedArray1) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedBytesIterator is returned from FilterLogNamedBytes and is used to iterate over the raw logs and unpacked data for LogNamedBytes events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedBytesIterator struct { - Event *GatewayEVMZEVMTestLogNamedBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedBytes represents a LogNamedBytes event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedBytes struct { - Key string - Val []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes is a free log retrieval operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedBytes(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedBytesIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedBytesIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes is a free log subscription operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedBytes(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedBytes) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedBytes) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes is a log parse operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedBytes(log types.Log) (*GatewayEVMZEVMTestLogNamedBytes, error) { - event := new(GatewayEVMZEVMTestLogNamedBytes) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedBytes32Iterator is returned from FilterLogNamedBytes32 and is used to iterate over the raw logs and unpacked data for LogNamedBytes32 events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedBytes32Iterator struct { - Event *GatewayEVMZEVMTestLogNamedBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedBytes32 represents a LogNamedBytes32 event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedBytes32 struct { - Key string - Val [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes32 is a free log retrieval operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedBytes32(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedBytes32Iterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedBytes32Iterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes32 is a free log subscription operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedBytes32(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedBytes32) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedBytes32) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes32 is a log parse operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedBytes32(log types.Log) (*GatewayEVMZEVMTestLogNamedBytes32, error) { - event := new(GatewayEVMZEVMTestLogNamedBytes32) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedDecimalIntIterator is returned from FilterLogNamedDecimalInt and is used to iterate over the raw logs and unpacked data for LogNamedDecimalInt events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedDecimalIntIterator struct { - Event *GatewayEVMZEVMTestLogNamedDecimalInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedDecimalIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedDecimalIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedDecimalIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedDecimalInt represents a LogNamedDecimalInt event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedDecimalInt struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalInt is a free log retrieval operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedDecimalInt(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedDecimalIntIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedDecimalIntIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_decimal_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalInt is a free log subscription operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedDecimalInt(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedDecimalInt) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedDecimalInt) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalInt is a log parse operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedDecimalInt(log types.Log) (*GatewayEVMZEVMTestLogNamedDecimalInt, error) { - event := new(GatewayEVMZEVMTestLogNamedDecimalInt) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedDecimalUintIterator is returned from FilterLogNamedDecimalUint and is used to iterate over the raw logs and unpacked data for LogNamedDecimalUint events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedDecimalUintIterator struct { - Event *GatewayEVMZEVMTestLogNamedDecimalUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedDecimalUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedDecimalUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedDecimalUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedDecimalUint represents a LogNamedDecimalUint event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedDecimalUint struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalUint is a free log retrieval operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedDecimalUint(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedDecimalUintIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedDecimalUintIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_decimal_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalUint is a free log subscription operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedDecimalUint(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedDecimalUint) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedDecimalUint) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalUint is a log parse operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedDecimalUint(log types.Log) (*GatewayEVMZEVMTestLogNamedDecimalUint, error) { - event := new(GatewayEVMZEVMTestLogNamedDecimalUint) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedIntIterator is returned from FilterLogNamedInt and is used to iterate over the raw logs and unpacked data for LogNamedInt events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedIntIterator struct { - Event *GatewayEVMZEVMTestLogNamedInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedInt represents a LogNamedInt event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedInt struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedInt is a free log retrieval operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedInt(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedIntIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedIntIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedInt is a free log subscription operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedInt(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedInt) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedInt) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedInt is a log parse operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedInt(log types.Log) (*GatewayEVMZEVMTestLogNamedInt, error) { - event := new(GatewayEVMZEVMTestLogNamedInt) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedStringIterator is returned from FilterLogNamedString and is used to iterate over the raw logs and unpacked data for LogNamedString events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedStringIterator struct { - Event *GatewayEVMZEVMTestLogNamedString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedString represents a LogNamedString event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedString struct { - Key string - Val string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedString is a free log retrieval operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedString(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedStringIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedStringIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_string", logs: logs, sub: sub}, nil -} - -// WatchLogNamedString is a free log subscription operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedString(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedString) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedString) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedString is a log parse operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedString(log types.Log) (*GatewayEVMZEVMTestLogNamedString, error) { - event := new(GatewayEVMZEVMTestLogNamedString) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogNamedUintIterator is returned from FilterLogNamedUint and is used to iterate over the raw logs and unpacked data for LogNamedUint events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedUintIterator struct { - Event *GatewayEVMZEVMTestLogNamedUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogNamedUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogNamedUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogNamedUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogNamedUint represents a LogNamedUint event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogNamedUint struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedUint is a free log retrieval operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogNamedUint(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogNamedUintIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogNamedUintIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_named_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedUint is a free log subscription operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogNamedUint(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogNamedUint) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogNamedUint) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedUint is a log parse operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogNamedUint(log types.Log) (*GatewayEVMZEVMTestLogNamedUint, error) { - event := new(GatewayEVMZEVMTestLogNamedUint) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogStringIterator is returned from FilterLogString and is used to iterate over the raw logs and unpacked data for LogString events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogStringIterator struct { - Event *GatewayEVMZEVMTestLogString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogString represents a LogString event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogString struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogString is a free log retrieval operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogString(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogStringIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_string") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogStringIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_string", logs: logs, sub: sub}, nil -} - -// WatchLogString is a free log subscription operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogString(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogString) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogString) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogString is a log parse operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogString(log types.Log) (*GatewayEVMZEVMTestLogString, error) { - event := new(GatewayEVMZEVMTestLogString) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogUintIterator is returned from FilterLogUint and is used to iterate over the raw logs and unpacked data for LogUint events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogUintIterator struct { - Event *GatewayEVMZEVMTestLogUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogUint represents a LogUint event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogUint struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogUint is a free log retrieval operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogUint(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogUintIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogUintIterator{contract: _GatewayEVMZEVMTest.contract, event: "log_uint", logs: logs, sub: sub}, nil -} - -// WatchLogUint is a free log subscription operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogUint(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogUint) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogUint) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogUint is a log parse operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogUint(log types.Log) (*GatewayEVMZEVMTestLogUint, error) { - event := new(GatewayEVMZEVMTestLogUint) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "log_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// GatewayEVMZEVMTestLogsIterator is returned from FilterLogs and is used to iterate over the raw logs and unpacked data for Logs events raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogsIterator struct { - Event *GatewayEVMZEVMTestLogs // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *GatewayEVMZEVMTestLogsIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(GatewayEVMZEVMTestLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *GatewayEVMZEVMTestLogsIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *GatewayEVMZEVMTestLogsIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// GatewayEVMZEVMTestLogs represents a Logs event raised by the GatewayEVMZEVMTest contract. -type GatewayEVMZEVMTestLogs struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogs is a free log retrieval operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) FilterLogs(opts *bind.FilterOpts) (*GatewayEVMZEVMTestLogsIterator, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.FilterLogs(opts, "logs") - if err != nil { - return nil, err - } - return &GatewayEVMZEVMTestLogsIterator{contract: _GatewayEVMZEVMTest.contract, event: "logs", logs: logs, sub: sub}, nil -} - -// WatchLogs is a free log subscription operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) WatchLogs(opts *bind.WatchOpts, sink chan<- *GatewayEVMZEVMTestLogs) (event.Subscription, error) { - - logs, sub, err := _GatewayEVMZEVMTest.contract.WatchLogs(opts, "logs") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(GatewayEVMZEVMTestLogs) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "logs", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogs is a log parse operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_GatewayEVMZEVMTest *GatewayEVMZEVMTestFilterer) ParseLogs(log types.Log) (*GatewayEVMZEVMTestLogs, error) { - event := new(GatewayEVMZEVMTestLogs) - if err := _GatewayEVMZEVMTest.contract.UnpackLog(event, "logs", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/base.sol/commonbase.go b/pkg/forge-std/base.sol/commonbase.go deleted file mode 100644 index 21558dd3..00000000 --- a/pkg/forge-std/base.sol/commonbase.go +++ /dev/null @@ -1,181 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package base - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// CommonBaseMetaData contains all meta data concerning the CommonBase contract. -var CommonBaseMetaData = &bind.MetaData{ - ABI: "[]", -} - -// CommonBaseABI is the input ABI used to generate the binding from. -// Deprecated: Use CommonBaseMetaData.ABI instead. -var CommonBaseABI = CommonBaseMetaData.ABI - -// CommonBase is an auto generated Go binding around an Ethereum contract. -type CommonBase struct { - CommonBaseCaller // Read-only binding to the contract - CommonBaseTransactor // Write-only binding to the contract - CommonBaseFilterer // Log filterer for contract events -} - -// CommonBaseCaller is an auto generated read-only Go binding around an Ethereum contract. -type CommonBaseCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// CommonBaseTransactor is an auto generated write-only Go binding around an Ethereum contract. -type CommonBaseTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// CommonBaseFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type CommonBaseFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// CommonBaseSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type CommonBaseSession struct { - Contract *CommonBase // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// CommonBaseCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type CommonBaseCallerSession struct { - Contract *CommonBaseCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// CommonBaseTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type CommonBaseTransactorSession struct { - Contract *CommonBaseTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// CommonBaseRaw is an auto generated low-level Go binding around an Ethereum contract. -type CommonBaseRaw struct { - Contract *CommonBase // Generic contract binding to access the raw methods on -} - -// CommonBaseCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type CommonBaseCallerRaw struct { - Contract *CommonBaseCaller // Generic read-only contract binding to access the raw methods on -} - -// CommonBaseTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type CommonBaseTransactorRaw struct { - Contract *CommonBaseTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewCommonBase creates a new instance of CommonBase, bound to a specific deployed contract. -func NewCommonBase(address common.Address, backend bind.ContractBackend) (*CommonBase, error) { - contract, err := bindCommonBase(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &CommonBase{CommonBaseCaller: CommonBaseCaller{contract: contract}, CommonBaseTransactor: CommonBaseTransactor{contract: contract}, CommonBaseFilterer: CommonBaseFilterer{contract: contract}}, nil -} - -// NewCommonBaseCaller creates a new read-only instance of CommonBase, bound to a specific deployed contract. -func NewCommonBaseCaller(address common.Address, caller bind.ContractCaller) (*CommonBaseCaller, error) { - contract, err := bindCommonBase(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &CommonBaseCaller{contract: contract}, nil -} - -// NewCommonBaseTransactor creates a new write-only instance of CommonBase, bound to a specific deployed contract. -func NewCommonBaseTransactor(address common.Address, transactor bind.ContractTransactor) (*CommonBaseTransactor, error) { - contract, err := bindCommonBase(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &CommonBaseTransactor{contract: contract}, nil -} - -// NewCommonBaseFilterer creates a new log filterer instance of CommonBase, bound to a specific deployed contract. -func NewCommonBaseFilterer(address common.Address, filterer bind.ContractFilterer) (*CommonBaseFilterer, error) { - contract, err := bindCommonBase(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &CommonBaseFilterer{contract: contract}, nil -} - -// bindCommonBase binds a generic wrapper to an already deployed contract. -func bindCommonBase(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := CommonBaseMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_CommonBase *CommonBaseRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _CommonBase.Contract.CommonBaseCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_CommonBase *CommonBaseRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _CommonBase.Contract.CommonBaseTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_CommonBase *CommonBaseRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _CommonBase.Contract.CommonBaseTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_CommonBase *CommonBaseCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _CommonBase.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_CommonBase *CommonBaseTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _CommonBase.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_CommonBase *CommonBaseTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _CommonBase.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/base.sol/scriptbase.go b/pkg/forge-std/base.sol/scriptbase.go deleted file mode 100644 index ef7ebeaa..00000000 --- a/pkg/forge-std/base.sol/scriptbase.go +++ /dev/null @@ -1,181 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package base - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// ScriptBaseMetaData contains all meta data concerning the ScriptBase contract. -var ScriptBaseMetaData = &bind.MetaData{ - ABI: "[]", -} - -// ScriptBaseABI is the input ABI used to generate the binding from. -// Deprecated: Use ScriptBaseMetaData.ABI instead. -var ScriptBaseABI = ScriptBaseMetaData.ABI - -// ScriptBase is an auto generated Go binding around an Ethereum contract. -type ScriptBase struct { - ScriptBaseCaller // Read-only binding to the contract - ScriptBaseTransactor // Write-only binding to the contract - ScriptBaseFilterer // Log filterer for contract events -} - -// ScriptBaseCaller is an auto generated read-only Go binding around an Ethereum contract. -type ScriptBaseCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ScriptBaseTransactor is an auto generated write-only Go binding around an Ethereum contract. -type ScriptBaseTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ScriptBaseFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type ScriptBaseFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ScriptBaseSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type ScriptBaseSession struct { - Contract *ScriptBase // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ScriptBaseCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type ScriptBaseCallerSession struct { - Contract *ScriptBaseCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// ScriptBaseTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type ScriptBaseTransactorSession struct { - Contract *ScriptBaseTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ScriptBaseRaw is an auto generated low-level Go binding around an Ethereum contract. -type ScriptBaseRaw struct { - Contract *ScriptBase // Generic contract binding to access the raw methods on -} - -// ScriptBaseCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type ScriptBaseCallerRaw struct { - Contract *ScriptBaseCaller // Generic read-only contract binding to access the raw methods on -} - -// ScriptBaseTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type ScriptBaseTransactorRaw struct { - Contract *ScriptBaseTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewScriptBase creates a new instance of ScriptBase, bound to a specific deployed contract. -func NewScriptBase(address common.Address, backend bind.ContractBackend) (*ScriptBase, error) { - contract, err := bindScriptBase(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &ScriptBase{ScriptBaseCaller: ScriptBaseCaller{contract: contract}, ScriptBaseTransactor: ScriptBaseTransactor{contract: contract}, ScriptBaseFilterer: ScriptBaseFilterer{contract: contract}}, nil -} - -// NewScriptBaseCaller creates a new read-only instance of ScriptBase, bound to a specific deployed contract. -func NewScriptBaseCaller(address common.Address, caller bind.ContractCaller) (*ScriptBaseCaller, error) { - contract, err := bindScriptBase(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &ScriptBaseCaller{contract: contract}, nil -} - -// NewScriptBaseTransactor creates a new write-only instance of ScriptBase, bound to a specific deployed contract. -func NewScriptBaseTransactor(address common.Address, transactor bind.ContractTransactor) (*ScriptBaseTransactor, error) { - contract, err := bindScriptBase(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &ScriptBaseTransactor{contract: contract}, nil -} - -// NewScriptBaseFilterer creates a new log filterer instance of ScriptBase, bound to a specific deployed contract. -func NewScriptBaseFilterer(address common.Address, filterer bind.ContractFilterer) (*ScriptBaseFilterer, error) { - contract, err := bindScriptBase(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &ScriptBaseFilterer{contract: contract}, nil -} - -// bindScriptBase binds a generic wrapper to an already deployed contract. -func bindScriptBase(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := ScriptBaseMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ScriptBase *ScriptBaseRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ScriptBase.Contract.ScriptBaseCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ScriptBase *ScriptBaseRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ScriptBase.Contract.ScriptBaseTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ScriptBase *ScriptBaseRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ScriptBase.Contract.ScriptBaseTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_ScriptBase *ScriptBaseCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _ScriptBase.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_ScriptBase *ScriptBaseTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _ScriptBase.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_ScriptBase *ScriptBaseTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _ScriptBase.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/base.sol/testbase.go b/pkg/forge-std/base.sol/testbase.go deleted file mode 100644 index a597895a..00000000 --- a/pkg/forge-std/base.sol/testbase.go +++ /dev/null @@ -1,181 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package base - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// TestBaseMetaData contains all meta data concerning the TestBase contract. -var TestBaseMetaData = &bind.MetaData{ - ABI: "[]", -} - -// TestBaseABI is the input ABI used to generate the binding from. -// Deprecated: Use TestBaseMetaData.ABI instead. -var TestBaseABI = TestBaseMetaData.ABI - -// TestBase is an auto generated Go binding around an Ethereum contract. -type TestBase struct { - TestBaseCaller // Read-only binding to the contract - TestBaseTransactor // Write-only binding to the contract - TestBaseFilterer // Log filterer for contract events -} - -// TestBaseCaller is an auto generated read-only Go binding around an Ethereum contract. -type TestBaseCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// TestBaseTransactor is an auto generated write-only Go binding around an Ethereum contract. -type TestBaseTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// TestBaseFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type TestBaseFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// TestBaseSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type TestBaseSession struct { - Contract *TestBase // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// TestBaseCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type TestBaseCallerSession struct { - Contract *TestBaseCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// TestBaseTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type TestBaseTransactorSession struct { - Contract *TestBaseTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// TestBaseRaw is an auto generated low-level Go binding around an Ethereum contract. -type TestBaseRaw struct { - Contract *TestBase // Generic contract binding to access the raw methods on -} - -// TestBaseCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type TestBaseCallerRaw struct { - Contract *TestBaseCaller // Generic read-only contract binding to access the raw methods on -} - -// TestBaseTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type TestBaseTransactorRaw struct { - Contract *TestBaseTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewTestBase creates a new instance of TestBase, bound to a specific deployed contract. -func NewTestBase(address common.Address, backend bind.ContractBackend) (*TestBase, error) { - contract, err := bindTestBase(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &TestBase{TestBaseCaller: TestBaseCaller{contract: contract}, TestBaseTransactor: TestBaseTransactor{contract: contract}, TestBaseFilterer: TestBaseFilterer{contract: contract}}, nil -} - -// NewTestBaseCaller creates a new read-only instance of TestBase, bound to a specific deployed contract. -func NewTestBaseCaller(address common.Address, caller bind.ContractCaller) (*TestBaseCaller, error) { - contract, err := bindTestBase(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &TestBaseCaller{contract: contract}, nil -} - -// NewTestBaseTransactor creates a new write-only instance of TestBase, bound to a specific deployed contract. -func NewTestBaseTransactor(address common.Address, transactor bind.ContractTransactor) (*TestBaseTransactor, error) { - contract, err := bindTestBase(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &TestBaseTransactor{contract: contract}, nil -} - -// NewTestBaseFilterer creates a new log filterer instance of TestBase, bound to a specific deployed contract. -func NewTestBaseFilterer(address common.Address, filterer bind.ContractFilterer) (*TestBaseFilterer, error) { - contract, err := bindTestBase(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &TestBaseFilterer{contract: contract}, nil -} - -// bindTestBase binds a generic wrapper to an already deployed contract. -func bindTestBase(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := TestBaseMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_TestBase *TestBaseRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _TestBase.Contract.TestBaseCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_TestBase *TestBaseRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _TestBase.Contract.TestBaseTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_TestBase *TestBaseRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _TestBase.Contract.TestBaseTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_TestBase *TestBaseCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _TestBase.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_TestBase *TestBaseTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _TestBase.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_TestBase *TestBaseTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _TestBase.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/console.sol/console.go b/pkg/forge-std/console.sol/console.go deleted file mode 100644 index f801d776..00000000 --- a/pkg/forge-std/console.sol/console.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package console - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// ConsoleMetaData contains all meta data concerning the Console contract. -var ConsoleMetaData = &bind.MetaData{ - ABI: "[]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fe1ca2c4bba26bc81c4f049f87633a060d1ab61923daa843e60125aa2c1b9db164736f6c63430008070033", -} - -// ConsoleABI is the input ABI used to generate the binding from. -// Deprecated: Use ConsoleMetaData.ABI instead. -var ConsoleABI = ConsoleMetaData.ABI - -// ConsoleBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use ConsoleMetaData.Bin instead. -var ConsoleBin = ConsoleMetaData.Bin - -// DeployConsole deploys a new Ethereum contract, binding an instance of Console to it. -func DeployConsole(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Console, error) { - parsed, err := ConsoleMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(ConsoleBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &Console{ConsoleCaller: ConsoleCaller{contract: contract}, ConsoleTransactor: ConsoleTransactor{contract: contract}, ConsoleFilterer: ConsoleFilterer{contract: contract}}, nil -} - -// Console is an auto generated Go binding around an Ethereum contract. -type Console struct { - ConsoleCaller // Read-only binding to the contract - ConsoleTransactor // Write-only binding to the contract - ConsoleFilterer // Log filterer for contract events -} - -// ConsoleCaller is an auto generated read-only Go binding around an Ethereum contract. -type ConsoleCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ConsoleTransactor is an auto generated write-only Go binding around an Ethereum contract. -type ConsoleTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ConsoleFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type ConsoleFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// ConsoleSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type ConsoleSession struct { - Contract *Console // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ConsoleCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type ConsoleCallerSession struct { - Contract *ConsoleCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// ConsoleTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type ConsoleTransactorSession struct { - Contract *ConsoleTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// ConsoleRaw is an auto generated low-level Go binding around an Ethereum contract. -type ConsoleRaw struct { - Contract *Console // Generic contract binding to access the raw methods on -} - -// ConsoleCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type ConsoleCallerRaw struct { - Contract *ConsoleCaller // Generic read-only contract binding to access the raw methods on -} - -// ConsoleTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type ConsoleTransactorRaw struct { - Contract *ConsoleTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewConsole creates a new instance of Console, bound to a specific deployed contract. -func NewConsole(address common.Address, backend bind.ContractBackend) (*Console, error) { - contract, err := bindConsole(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &Console{ConsoleCaller: ConsoleCaller{contract: contract}, ConsoleTransactor: ConsoleTransactor{contract: contract}, ConsoleFilterer: ConsoleFilterer{contract: contract}}, nil -} - -// NewConsoleCaller creates a new read-only instance of Console, bound to a specific deployed contract. -func NewConsoleCaller(address common.Address, caller bind.ContractCaller) (*ConsoleCaller, error) { - contract, err := bindConsole(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &ConsoleCaller{contract: contract}, nil -} - -// NewConsoleTransactor creates a new write-only instance of Console, bound to a specific deployed contract. -func NewConsoleTransactor(address common.Address, transactor bind.ContractTransactor) (*ConsoleTransactor, error) { - contract, err := bindConsole(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &ConsoleTransactor{contract: contract}, nil -} - -// NewConsoleFilterer creates a new log filterer instance of Console, bound to a specific deployed contract. -func NewConsoleFilterer(address common.Address, filterer bind.ContractFilterer) (*ConsoleFilterer, error) { - contract, err := bindConsole(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &ConsoleFilterer{contract: contract}, nil -} - -// bindConsole binds a generic wrapper to an already deployed contract. -func bindConsole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := ConsoleMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Console *ConsoleRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Console.Contract.ConsoleCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Console *ConsoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Console.Contract.ConsoleTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Console *ConsoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Console.Contract.ConsoleTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Console *ConsoleCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Console.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Console *ConsoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Console.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Console *ConsoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Console.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/interfaces/ierc165.sol/ierc165.go b/pkg/forge-std/interfaces/ierc165.sol/ierc165.go deleted file mode 100644 index a8563263..00000000 --- a/pkg/forge-std/interfaces/ierc165.sol/ierc165.go +++ /dev/null @@ -1,212 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ierc165 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IERC165MetaData contains all meta data concerning the IERC165 contract. -var IERC165MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", -} - -// IERC165ABI is the input ABI used to generate the binding from. -// Deprecated: Use IERC165MetaData.ABI instead. -var IERC165ABI = IERC165MetaData.ABI - -// IERC165 is an auto generated Go binding around an Ethereum contract. -type IERC165 struct { - IERC165Caller // Read-only binding to the contract - IERC165Transactor // Write-only binding to the contract - IERC165Filterer // Log filterer for contract events -} - -// IERC165Caller is an auto generated read-only Go binding around an Ethereum contract. -type IERC165Caller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC165Transactor is an auto generated write-only Go binding around an Ethereum contract. -type IERC165Transactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC165Filterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IERC165Filterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC165Session is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IERC165Session struct { - Contract *IERC165 // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC165CallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IERC165CallerSession struct { - Contract *IERC165Caller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IERC165TransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IERC165TransactorSession struct { - Contract *IERC165Transactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC165Raw is an auto generated low-level Go binding around an Ethereum contract. -type IERC165Raw struct { - Contract *IERC165 // Generic contract binding to access the raw methods on -} - -// IERC165CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IERC165CallerRaw struct { - Contract *IERC165Caller // Generic read-only contract binding to access the raw methods on -} - -// IERC165TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IERC165TransactorRaw struct { - Contract *IERC165Transactor // Generic write-only contract binding to access the raw methods on -} - -// NewIERC165 creates a new instance of IERC165, bound to a specific deployed contract. -func NewIERC165(address common.Address, backend bind.ContractBackend) (*IERC165, error) { - contract, err := bindIERC165(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IERC165{IERC165Caller: IERC165Caller{contract: contract}, IERC165Transactor: IERC165Transactor{contract: contract}, IERC165Filterer: IERC165Filterer{contract: contract}}, nil -} - -// NewIERC165Caller creates a new read-only instance of IERC165, bound to a specific deployed contract. -func NewIERC165Caller(address common.Address, caller bind.ContractCaller) (*IERC165Caller, error) { - contract, err := bindIERC165(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IERC165Caller{contract: contract}, nil -} - -// NewIERC165Transactor creates a new write-only instance of IERC165, bound to a specific deployed contract. -func NewIERC165Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC165Transactor, error) { - contract, err := bindIERC165(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IERC165Transactor{contract: contract}, nil -} - -// NewIERC165Filterer creates a new log filterer instance of IERC165, bound to a specific deployed contract. -func NewIERC165Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC165Filterer, error) { - contract, err := bindIERC165(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IERC165Filterer{contract: contract}, nil -} - -// bindIERC165 binds a generic wrapper to an already deployed contract. -func bindIERC165(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IERC165MetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC165 *IERC165Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC165.Contract.IERC165Caller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC165 *IERC165Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC165.Contract.IERC165Transactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC165 *IERC165Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC165.Contract.IERC165Transactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC165 *IERC165CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC165.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC165 *IERC165TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC165.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC165 *IERC165TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC165.Contract.contract.Transact(opts, method, params...) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC165 *IERC165Caller) SupportsInterface(opts *bind.CallOpts, interfaceID [4]byte) (bool, error) { - var out []interface{} - err := _IERC165.contract.Call(opts, &out, "supportsInterface", interfaceID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC165 *IERC165Session) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceID) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC165 *IERC165CallerSession) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC165.Contract.SupportsInterface(&_IERC165.CallOpts, interfaceID) -} diff --git a/pkg/forge-std/interfaces/ierc20.sol/ierc20.go b/pkg/forge-std/interfaces/ierc20.sol/ierc20.go deleted file mode 100644 index 25687ffe..00000000 --- a/pkg/forge-std/interfaces/ierc20.sol/ierc20.go +++ /dev/null @@ -1,738 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ierc20 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IERC20MetaData contains all meta data concerning the IERC20 contract. -var IERC20MetaData = &bind.MetaData{ - ABI: "[{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"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\":\"amount\",\"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\":[],\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", -} - -// IERC20ABI is the input ABI used to generate the binding from. -// Deprecated: Use IERC20MetaData.ABI instead. -var IERC20ABI = IERC20MetaData.ABI - -// IERC20 is an auto generated Go binding around an Ethereum contract. -type IERC20 struct { - IERC20Caller // Read-only binding to the contract - IERC20Transactor // Write-only binding to the contract - IERC20Filterer // Log filterer for contract events -} - -// IERC20Caller is an auto generated read-only Go binding around an Ethereum contract. -type IERC20Caller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. -type IERC20Transactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IERC20Filterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC20Session is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IERC20Session struct { - Contract *IERC20 // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IERC20CallerSession struct { - Contract *IERC20Caller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IERC20TransactorSession struct { - Contract *IERC20Transactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC20Raw is an auto generated low-level Go binding around an Ethereum contract. -type IERC20Raw struct { - Contract *IERC20 // Generic contract binding to access the raw methods on -} - -// IERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IERC20CallerRaw struct { - Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on -} - -// IERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IERC20TransactorRaw struct { - Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on -} - -// NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract. -func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error) { - contract, err := bindIERC20(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IERC20{IERC20Caller: IERC20Caller{contract: contract}, IERC20Transactor: IERC20Transactor{contract: contract}, IERC20Filterer: IERC20Filterer{contract: contract}}, nil -} - -// NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract. -func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error) { - contract, err := bindIERC20(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IERC20Caller{contract: contract}, nil -} - -// NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract. -func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error) { - contract, err := bindIERC20(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IERC20Transactor{contract: contract}, nil -} - -// NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract. -func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error) { - contract, err := bindIERC20(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IERC20Filterer{contract: contract}, nil -} - -// bindIERC20 binds a generic wrapper to an already deployed contract. -func bindIERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IERC20MetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC20.Contract.IERC20Caller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC20.Contract.IERC20Transactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC20.Contract.IERC20Transactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC20.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC20.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC20.Contract.contract.Transact(opts, method, params...) -} - -// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. -// -// Solidity: function allowance(address owner, address spender) view returns(uint256) -func (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { - var out []interface{} - err := _IERC20.contract.Call(opts, &out, "allowance", owner, spender) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. -// -// Solidity: function allowance(address owner, address spender) view returns(uint256) -func (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { - return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) -} - -// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. -// -// Solidity: function allowance(address owner, address spender) view returns(uint256) -func (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { - return _IERC20.Contract.Allowance(&_IERC20.CallOpts, owner, spender) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address account) view returns(uint256) -func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error) { - var out []interface{} - err := _IERC20.contract.Call(opts, &out, "balanceOf", account) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address account) view returns(uint256) -func (_IERC20 *IERC20Session) BalanceOf(account common.Address) (*big.Int, error) { - return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address account) view returns(uint256) -func (_IERC20 *IERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error) { - return _IERC20.Contract.BalanceOf(&_IERC20.CallOpts, account) -} - -// Decimals is a free data retrieval call binding the contract method 0x313ce567. -// -// Solidity: function decimals() view returns(uint8) -func (_IERC20 *IERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error) { - var out []interface{} - err := _IERC20.contract.Call(opts, &out, "decimals") - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// Decimals is a free data retrieval call binding the contract method 0x313ce567. -// -// Solidity: function decimals() view returns(uint8) -func (_IERC20 *IERC20Session) Decimals() (uint8, error) { - return _IERC20.Contract.Decimals(&_IERC20.CallOpts) -} - -// Decimals is a free data retrieval call binding the contract method 0x313ce567. -// -// Solidity: function decimals() view returns(uint8) -func (_IERC20 *IERC20CallerSession) Decimals() (uint8, error) { - return _IERC20.Contract.Decimals(&_IERC20.CallOpts) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_IERC20 *IERC20Caller) Name(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _IERC20.contract.Call(opts, &out, "name") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_IERC20 *IERC20Session) Name() (string, error) { - return _IERC20.Contract.Name(&_IERC20.CallOpts) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_IERC20 *IERC20CallerSession) Name() (string, error) { - return _IERC20.Contract.Name(&_IERC20.CallOpts) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_IERC20 *IERC20Caller) Symbol(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _IERC20.contract.Call(opts, &out, "symbol") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_IERC20 *IERC20Session) Symbol() (string, error) { - return _IERC20.Contract.Symbol(&_IERC20.CallOpts) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_IERC20 *IERC20CallerSession) Symbol() (string, error) { - return _IERC20.Contract.Symbol(&_IERC20.CallOpts) -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IERC20.contract.Call(opts, &out, "totalSupply") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error) { - return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error) { - return _IERC20.Contract.TotalSupply(&_IERC20.CallOpts) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 amount) returns(bool) -func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.contract.Transact(opts, "approve", spender, amount) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 amount) returns(bool) -func (_IERC20 *IERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 amount) returns(bool) -func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.Contract.Approve(&_IERC20.TransactOpts, spender, amount) -} - -// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. -// -// Solidity: function transfer(address to, uint256 amount) returns(bool) -func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.contract.Transact(opts, "transfer", to, amount) -} - -// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. -// -// Solidity: function transfer(address to, uint256 amount) returns(bool) -func (_IERC20 *IERC20Session) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, to, amount) -} - -// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. -// -// Solidity: function transfer(address to, uint256 amount) returns(bool) -func (_IERC20 *IERC20TransactorSession) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.Contract.Transfer(&_IERC20.TransactOpts, to, amount) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) -func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.contract.Transact(opts, "transferFrom", from, to, amount) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) -func (_IERC20 *IERC20Session) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, from, to, amount) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) -func (_IERC20 *IERC20TransactorSession) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _IERC20.Contract.TransferFrom(&_IERC20.TransactOpts, from, to, amount) -} - -// IERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC20 contract. -type IERC20ApprovalIterator struct { - Event *IERC20Approval // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC20ApprovalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC20Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC20Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC20ApprovalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC20ApprovalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC20Approval represents a Approval event raised by the IERC20 contract. -type IERC20Approval struct { - Owner common.Address - Spender common.Address - Value *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) -func (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, error) { - - var ownerRule []interface{} - for _, ownerItem := range owner { - ownerRule = append(ownerRule, ownerItem) - } - var spenderRule []interface{} - for _, spenderItem := range spender { - spenderRule = append(spenderRule, spenderItem) - } - - logs, sub, err := _IERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) - if err != nil { - return nil, err - } - return &IERC20ApprovalIterator{contract: _IERC20.contract, event: "Approval", logs: logs, sub: sub}, nil -} - -// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) -func (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { - - var ownerRule []interface{} - for _, ownerItem := range owner { - ownerRule = append(ownerRule, ownerItem) - } - var spenderRule []interface{} - for _, spenderItem := range spender { - spenderRule = append(spenderRule, spenderItem) - } - - logs, sub, err := _IERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC20Approval) - if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) -func (_IERC20 *IERC20Filterer) ParseApproval(log types.Log) (*IERC20Approval, error) { - event := new(IERC20Approval) - if err := _IERC20.contract.UnpackLog(event, "Approval", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// IERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC20 contract. -type IERC20TransferIterator struct { - Event *IERC20Transfer // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC20TransferIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC20Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC20Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC20TransferIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC20TransferIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC20Transfer represents a Transfer event raised by the IERC20 contract. -type IERC20Transfer struct { - From common.Address - To common.Address - Value *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) -func (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, error) { - - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _IERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) - if err != nil { - return nil, err - } - return &IERC20TransferIterator{contract: _IERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil -} - -// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) -func (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { - - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _IERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC20Transfer) - if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) -func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, error) { - event := new(IERC20Transfer) - if err := _IERC20.contract.UnpackLog(event, "Transfer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/interfaces/ierc721.sol/ierc721.go b/pkg/forge-std/interfaces/ierc721.sol/ierc721.go deleted file mode 100644 index 46e5a1bb..00000000 --- a/pkg/forge-std/interfaces/ierc721.sol/ierc721.go +++ /dev/null @@ -1,919 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ierc721 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IERC721MetaData contains all meta data concerning the IERC721 contract. -var IERC721MetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", -} - -// IERC721ABI is the input ABI used to generate the binding from. -// Deprecated: Use IERC721MetaData.ABI instead. -var IERC721ABI = IERC721MetaData.ABI - -// IERC721 is an auto generated Go binding around an Ethereum contract. -type IERC721 struct { - IERC721Caller // Read-only binding to the contract - IERC721Transactor // Write-only binding to the contract - IERC721Filterer // Log filterer for contract events -} - -// IERC721Caller is an auto generated read-only Go binding around an Ethereum contract. -type IERC721Caller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. -type IERC721Transactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IERC721Filterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721Session is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IERC721Session struct { - Contract *IERC721 // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IERC721CallerSession struct { - Contract *IERC721Caller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IERC721TransactorSession struct { - Contract *IERC721Transactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721Raw is an auto generated low-level Go binding around an Ethereum contract. -type IERC721Raw struct { - Contract *IERC721 // Generic contract binding to access the raw methods on -} - -// IERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IERC721CallerRaw struct { - Contract *IERC721Caller // Generic read-only contract binding to access the raw methods on -} - -// IERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IERC721TransactorRaw struct { - Contract *IERC721Transactor // Generic write-only contract binding to access the raw methods on -} - -// NewIERC721 creates a new instance of IERC721, bound to a specific deployed contract. -func NewIERC721(address common.Address, backend bind.ContractBackend) (*IERC721, error) { - contract, err := bindIERC721(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IERC721{IERC721Caller: IERC721Caller{contract: contract}, IERC721Transactor: IERC721Transactor{contract: contract}, IERC721Filterer: IERC721Filterer{contract: contract}}, nil -} - -// NewIERC721Caller creates a new read-only instance of IERC721, bound to a specific deployed contract. -func NewIERC721Caller(address common.Address, caller bind.ContractCaller) (*IERC721Caller, error) { - contract, err := bindIERC721(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IERC721Caller{contract: contract}, nil -} - -// NewIERC721Transactor creates a new write-only instance of IERC721, bound to a specific deployed contract. -func NewIERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC721Transactor, error) { - contract, err := bindIERC721(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IERC721Transactor{contract: contract}, nil -} - -// NewIERC721Filterer creates a new log filterer instance of IERC721, bound to a specific deployed contract. -func NewIERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC721Filterer, error) { - contract, err := bindIERC721(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IERC721Filterer{contract: contract}, nil -} - -// bindIERC721 binds a generic wrapper to an already deployed contract. -func bindIERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IERC721MetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721 *IERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721.Contract.IERC721Caller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721 *IERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721.Contract.IERC721Transactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721 *IERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721.Contract.IERC721Transactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721 *IERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721 *IERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721 *IERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721.Contract.contract.Transact(opts, method, params...) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721 *IERC721Caller) BalanceOf(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) { - var out []interface{} - err := _IERC721.contract.Call(opts, &out, "balanceOf", _owner) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721 *IERC721Session) BalanceOf(_owner common.Address) (*big.Int, error) { - return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, _owner) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721 *IERC721CallerSession) BalanceOf(_owner common.Address) (*big.Int, error) { - return _IERC721.Contract.BalanceOf(&_IERC721.CallOpts, _owner) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721 *IERC721Caller) GetApproved(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { - var out []interface{} - err := _IERC721.contract.Call(opts, &out, "getApproved", _tokenId) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721 *IERC721Session) GetApproved(_tokenId *big.Int) (common.Address, error) { - return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, _tokenId) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721 *IERC721CallerSession) GetApproved(_tokenId *big.Int) (common.Address, error) { - return _IERC721.Contract.GetApproved(&_IERC721.CallOpts, _tokenId) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721 *IERC721Caller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) { - var out []interface{} - err := _IERC721.contract.Call(opts, &out, "isApprovedForAll", _owner, _operator) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721 *IERC721Session) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { - return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, _owner, _operator) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721 *IERC721CallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { - return _IERC721.Contract.IsApprovedForAll(&_IERC721.CallOpts, _owner, _operator) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721 *IERC721Caller) OwnerOf(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { - var out []interface{} - err := _IERC721.contract.Call(opts, &out, "ownerOf", _tokenId) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721 *IERC721Session) OwnerOf(_tokenId *big.Int) (common.Address, error) { - return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, _tokenId) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721 *IERC721CallerSession) OwnerOf(_tokenId *big.Int) (common.Address, error) { - return _IERC721.Contract.OwnerOf(&_IERC721.CallOpts, _tokenId) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721 *IERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceID [4]byte) (bool, error) { - var out []interface{} - err := _IERC721.contract.Call(opts, &out, "supportsInterface", interfaceID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721 *IERC721Session) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceID) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721 *IERC721CallerSession) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC721.Contract.SupportsInterface(&_IERC721.CallOpts, interfaceID) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721Transactor) Approve(opts *bind.TransactOpts, _approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.contract.Transact(opts, "approve", _approved, _tokenId) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721Session) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.Contract.Approve(&_IERC721.TransactOpts, _approved, _tokenId) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721TransactorSession) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.Contract.Approve(&_IERC721.TransactOpts, _approved, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.contract.Transact(opts, "safeTransferFrom", _from, _to, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721Session) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, _from, _to, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721TransactorSession) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.Contract.SafeTransferFrom(&_IERC721.TransactOpts, _from, _to, _tokenId) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721 *IERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721.contract.Transact(opts, "safeTransferFrom0", _from, _to, _tokenId, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721 *IERC721Session) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, _from, _to, _tokenId, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721 *IERC721TransactorSession) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721.Contract.SafeTransferFrom0(&_IERC721.TransactOpts, _from, _to, _tokenId, data) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721 *IERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, _operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721.contract.Transact(opts, "setApprovalForAll", _operator, _approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721 *IERC721Session) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, _operator, _approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721 *IERC721TransactorSession) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721.Contract.SetApprovalForAll(&_IERC721.TransactOpts, _operator, _approved) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721Transactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.contract.Transact(opts, "transferFrom", _from, _to, _tokenId) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721Session) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, _from, _to, _tokenId) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721 *IERC721TransactorSession) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721.Contract.TransferFrom(&_IERC721.TransactOpts, _from, _to, _tokenId) -} - -// IERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721 contract. -type IERC721ApprovalIterator struct { - Event *IERC721Approval // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721ApprovalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721ApprovalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721ApprovalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721Approval represents a Approval event raised by the IERC721 contract. -type IERC721Approval struct { - Owner common.Address - Approved common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721 *IERC721Filterer) FilterApproval(opts *bind.FilterOpts, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (*IERC721ApprovalIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721.contract.FilterLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &IERC721ApprovalIterator{contract: _IERC721.contract, event: "Approval", logs: logs, sub: sub}, nil -} - -// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721 *IERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721Approval, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721.contract.WatchLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721Approval) - if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721 *IERC721Filterer) ParseApproval(log types.Log) (*IERC721Approval, error) { - event := new(IERC721Approval) - if err := _IERC721.contract.UnpackLog(event, "Approval", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// IERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721 contract. -type IERC721ApprovalForAllIterator struct { - Event *IERC721ApprovalForAll // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721ApprovalForAllIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721ApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721ApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721ApprovalForAllIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721ApprovalForAllIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721ApprovalForAll represents a ApprovalForAll event raised by the IERC721 contract. -type IERC721ApprovalForAll struct { - Owner common.Address - Operator common.Address - Approved bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721 *IERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, _owner []common.Address, _operator []common.Address) (*IERC721ApprovalForAllIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _IERC721.contract.FilterLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return &IERC721ApprovalForAllIterator{contract: _IERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil -} - -// WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721 *IERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721ApprovalForAll, _owner []common.Address, _operator []common.Address) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _IERC721.contract.WatchLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721ApprovalForAll) - if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721 *IERC721Filterer) ParseApprovalForAll(log types.Log) (*IERC721ApprovalForAll, error) { - event := new(IERC721ApprovalForAll) - if err := _IERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// IERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721 contract. -type IERC721TransferIterator struct { - Event *IERC721Transfer // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721TransferIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721TransferIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721TransferIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721Transfer represents a Transfer event raised by the IERC721 contract. -type IERC721Transfer struct { - From common.Address - To common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721 *IERC721Filterer) FilterTransfer(opts *bind.FilterOpts, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (*IERC721TransferIterator, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721.contract.FilterLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &IERC721TransferIterator{contract: _IERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil -} - -// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721 *IERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721Transfer, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721.contract.WatchLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721Transfer) - if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721 *IERC721Filterer) ParseTransfer(log types.Log) (*IERC721Transfer, error) { - event := new(IERC721Transfer) - if err := _IERC721.contract.UnpackLog(event, "Transfer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/interfaces/ierc721.sol/ierc721enumerable.go b/pkg/forge-std/interfaces/ierc721.sol/ierc721enumerable.go deleted file mode 100644 index ad90f8b5..00000000 --- a/pkg/forge-std/interfaces/ierc721.sol/ierc721enumerable.go +++ /dev/null @@ -1,1012 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ierc721 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IERC721EnumerableMetaData contains all meta data concerning the IERC721Enumerable contract. -var IERC721EnumerableMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", -} - -// IERC721EnumerableABI is the input ABI used to generate the binding from. -// Deprecated: Use IERC721EnumerableMetaData.ABI instead. -var IERC721EnumerableABI = IERC721EnumerableMetaData.ABI - -// IERC721Enumerable is an auto generated Go binding around an Ethereum contract. -type IERC721Enumerable struct { - IERC721EnumerableCaller // Read-only binding to the contract - IERC721EnumerableTransactor // Write-only binding to the contract - IERC721EnumerableFilterer // Log filterer for contract events -} - -// IERC721EnumerableCaller is an auto generated read-only Go binding around an Ethereum contract. -type IERC721EnumerableCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721EnumerableTransactor is an auto generated write-only Go binding around an Ethereum contract. -type IERC721EnumerableTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721EnumerableFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IERC721EnumerableFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721EnumerableSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IERC721EnumerableSession struct { - Contract *IERC721Enumerable // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721EnumerableCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IERC721EnumerableCallerSession struct { - Contract *IERC721EnumerableCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IERC721EnumerableTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IERC721EnumerableTransactorSession struct { - Contract *IERC721EnumerableTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721EnumerableRaw is an auto generated low-level Go binding around an Ethereum contract. -type IERC721EnumerableRaw struct { - Contract *IERC721Enumerable // Generic contract binding to access the raw methods on -} - -// IERC721EnumerableCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IERC721EnumerableCallerRaw struct { - Contract *IERC721EnumerableCaller // Generic read-only contract binding to access the raw methods on -} - -// IERC721EnumerableTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IERC721EnumerableTransactorRaw struct { - Contract *IERC721EnumerableTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewIERC721Enumerable creates a new instance of IERC721Enumerable, bound to a specific deployed contract. -func NewIERC721Enumerable(address common.Address, backend bind.ContractBackend) (*IERC721Enumerable, error) { - contract, err := bindIERC721Enumerable(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IERC721Enumerable{IERC721EnumerableCaller: IERC721EnumerableCaller{contract: contract}, IERC721EnumerableTransactor: IERC721EnumerableTransactor{contract: contract}, IERC721EnumerableFilterer: IERC721EnumerableFilterer{contract: contract}}, nil -} - -// NewIERC721EnumerableCaller creates a new read-only instance of IERC721Enumerable, bound to a specific deployed contract. -func NewIERC721EnumerableCaller(address common.Address, caller bind.ContractCaller) (*IERC721EnumerableCaller, error) { - contract, err := bindIERC721Enumerable(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IERC721EnumerableCaller{contract: contract}, nil -} - -// NewIERC721EnumerableTransactor creates a new write-only instance of IERC721Enumerable, bound to a specific deployed contract. -func NewIERC721EnumerableTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721EnumerableTransactor, error) { - contract, err := bindIERC721Enumerable(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IERC721EnumerableTransactor{contract: contract}, nil -} - -// NewIERC721EnumerableFilterer creates a new log filterer instance of IERC721Enumerable, bound to a specific deployed contract. -func NewIERC721EnumerableFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721EnumerableFilterer, error) { - contract, err := bindIERC721Enumerable(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IERC721EnumerableFilterer{contract: contract}, nil -} - -// bindIERC721Enumerable binds a generic wrapper to an already deployed contract. -func bindIERC721Enumerable(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IERC721EnumerableMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721Enumerable *IERC721EnumerableRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721Enumerable.Contract.IERC721EnumerableCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721Enumerable *IERC721EnumerableRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721Enumerable *IERC721EnumerableRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.IERC721EnumerableTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721Enumerable *IERC721EnumerableCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721Enumerable.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721Enumerable *IERC721EnumerableTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.contract.Transact(opts, method, params...) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCaller) BalanceOf(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "balanceOf", _owner) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableSession) BalanceOf(_owner common.Address) (*big.Int, error) { - return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, _owner) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) BalanceOf(_owner common.Address) (*big.Int, error) { - return _IERC721Enumerable.Contract.BalanceOf(&_IERC721Enumerable.CallOpts, _owner) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721Enumerable *IERC721EnumerableCaller) GetApproved(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "getApproved", _tokenId) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721Enumerable *IERC721EnumerableSession) GetApproved(_tokenId *big.Int) (common.Address, error) { - return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, _tokenId) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) GetApproved(_tokenId *big.Int) (common.Address, error) { - return _IERC721Enumerable.Contract.GetApproved(&_IERC721Enumerable.CallOpts, _tokenId) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721Enumerable *IERC721EnumerableCaller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "isApprovedForAll", _owner, _operator) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721Enumerable *IERC721EnumerableSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { - return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, _owner, _operator) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { - return _IERC721Enumerable.Contract.IsApprovedForAll(&_IERC721Enumerable.CallOpts, _owner, _operator) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721Enumerable *IERC721EnumerableCaller) OwnerOf(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "ownerOf", _tokenId) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721Enumerable *IERC721EnumerableSession) OwnerOf(_tokenId *big.Int) (common.Address, error) { - return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, _tokenId) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) OwnerOf(_tokenId *big.Int) (common.Address, error) { - return _IERC721Enumerable.Contract.OwnerOf(&_IERC721Enumerable.CallOpts, _tokenId) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721Enumerable *IERC721EnumerableCaller) SupportsInterface(opts *bind.CallOpts, interfaceID [4]byte) (bool, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "supportsInterface", interfaceID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721Enumerable *IERC721EnumerableSession) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceID) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC721Enumerable.Contract.SupportsInterface(&_IERC721Enumerable.CallOpts, interfaceID) -} - -// TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. -// -// Solidity: function tokenByIndex(uint256 _index) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCaller) TokenByIndex(opts *bind.CallOpts, _index *big.Int) (*big.Int, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "tokenByIndex", _index) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. -// -// Solidity: function tokenByIndex(uint256 _index) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableSession) TokenByIndex(_index *big.Int) (*big.Int, error) { - return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, _index) -} - -// TokenByIndex is a free data retrieval call binding the contract method 0x4f6ccce7. -// -// Solidity: function tokenByIndex(uint256 _index) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenByIndex(_index *big.Int) (*big.Int, error) { - return _IERC721Enumerable.Contract.TokenByIndex(&_IERC721Enumerable.CallOpts, _index) -} - -// TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. -// -// Solidity: function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCaller) TokenOfOwnerByIndex(opts *bind.CallOpts, _owner common.Address, _index *big.Int) (*big.Int, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "tokenOfOwnerByIndex", _owner, _index) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. -// -// Solidity: function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableSession) TokenOfOwnerByIndex(_owner common.Address, _index *big.Int) (*big.Int, error) { - return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, _owner, _index) -} - -// TokenOfOwnerByIndex is a free data retrieval call binding the contract method 0x2f745c59. -// -// Solidity: function tokenOfOwnerByIndex(address _owner, uint256 _index) view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) TokenOfOwnerByIndex(_owner common.Address, _index *big.Int) (*big.Int, error) { - return _IERC721Enumerable.Contract.TokenOfOwnerByIndex(&_IERC721Enumerable.CallOpts, _owner, _index) -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCaller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IERC721Enumerable.contract.Call(opts, &out, "totalSupply") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableSession) TotalSupply() (*big.Int, error) { - return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_IERC721Enumerable *IERC721EnumerableCallerSession) TotalSupply() (*big.Int, error) { - return _IERC721Enumerable.Contract.TotalSupply(&_IERC721Enumerable.CallOpts) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactor) Approve(opts *bind.TransactOpts, _approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.contract.Transact(opts, "approve", _approved, _tokenId) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableSession) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, _approved, _tokenId) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactorSession) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.Approve(&_IERC721Enumerable.TransactOpts, _approved, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom", _from, _to, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, _from, _to, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.SafeTransferFrom(&_IERC721Enumerable.TransactOpts, _from, _to, _tokenId) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactor) SafeTransferFrom0(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721Enumerable.contract.Transact(opts, "safeTransferFrom0", _from, _to, _tokenId, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721Enumerable *IERC721EnumerableSession) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, _from, _to, _tokenId, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.SafeTransferFrom0(&_IERC721Enumerable.TransactOpts, _from, _to, _tokenId, data) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721Enumerable *IERC721EnumerableTransactor) SetApprovalForAll(opts *bind.TransactOpts, _operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721Enumerable.contract.Transact(opts, "setApprovalForAll", _operator, _approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721Enumerable *IERC721EnumerableSession) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, _operator, _approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721Enumerable *IERC721EnumerableTransactorSession) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.SetApprovalForAll(&_IERC721Enumerable.TransactOpts, _operator, _approved) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.contract.Transact(opts, "transferFrom", _from, _to, _tokenId) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableSession) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, _from, _to, _tokenId) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Enumerable *IERC721EnumerableTransactorSession) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Enumerable.Contract.TransferFrom(&_IERC721Enumerable.TransactOpts, _from, _to, _tokenId) -} - -// IERC721EnumerableApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Enumerable contract. -type IERC721EnumerableApprovalIterator struct { - Event *IERC721EnumerableApproval // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721EnumerableApprovalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721EnumerableApproval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721EnumerableApproval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721EnumerableApprovalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721EnumerableApprovalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721EnumerableApproval represents a Approval event raised by the IERC721Enumerable contract. -type IERC721EnumerableApproval struct { - Owner common.Address - Approved common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApproval(opts *bind.FilterOpts, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (*IERC721EnumerableApprovalIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &IERC721EnumerableApprovalIterator{contract: _IERC721Enumerable.contract, event: "Approval", logs: logs, sub: sub}, nil -} - -// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApproval, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721EnumerableApproval) - if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApproval(log types.Log) (*IERC721EnumerableApproval, error) { - event := new(IERC721EnumerableApproval) - if err := _IERC721Enumerable.contract.UnpackLog(event, "Approval", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// IERC721EnumerableApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Enumerable contract. -type IERC721EnumerableApprovalForAllIterator struct { - Event *IERC721EnumerableApprovalForAll // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721EnumerableApprovalForAllIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721EnumerableApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721EnumerableApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721EnumerableApprovalForAllIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721EnumerableApprovalForAllIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721EnumerableApprovalForAll represents a ApprovalForAll event raised by the IERC721Enumerable contract. -type IERC721EnumerableApprovalForAll struct { - Owner common.Address - Operator common.Address - Approved bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterApprovalForAll(opts *bind.FilterOpts, _owner []common.Address, _operator []common.Address) (*IERC721EnumerableApprovalForAllIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return &IERC721EnumerableApprovalForAllIterator{contract: _IERC721Enumerable.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil -} - -// WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableApprovalForAll, _owner []common.Address, _operator []common.Address) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721EnumerableApprovalForAll) - if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseApprovalForAll(log types.Log) (*IERC721EnumerableApprovalForAll, error) { - event := new(IERC721EnumerableApprovalForAll) - if err := _IERC721Enumerable.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// IERC721EnumerableTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Enumerable contract. -type IERC721EnumerableTransferIterator struct { - Event *IERC721EnumerableTransfer // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721EnumerableTransferIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721EnumerableTransfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721EnumerableTransfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721EnumerableTransferIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721EnumerableTransferIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721EnumerableTransfer represents a Transfer event raised by the IERC721Enumerable contract. -type IERC721EnumerableTransfer struct { - From common.Address - To common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721Enumerable *IERC721EnumerableFilterer) FilterTransfer(opts *bind.FilterOpts, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (*IERC721EnumerableTransferIterator, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Enumerable.contract.FilterLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &IERC721EnumerableTransferIterator{contract: _IERC721Enumerable.contract, event: "Transfer", logs: logs, sub: sub}, nil -} - -// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721Enumerable *IERC721EnumerableFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721EnumerableTransfer, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Enumerable.contract.WatchLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721EnumerableTransfer) - if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721Enumerable *IERC721EnumerableFilterer) ParseTransfer(log types.Log) (*IERC721EnumerableTransfer, error) { - event := new(IERC721EnumerableTransfer) - if err := _IERC721Enumerable.contract.UnpackLog(event, "Transfer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/interfaces/ierc721.sol/ierc721metadata.go b/pkg/forge-std/interfaces/ierc721.sol/ierc721metadata.go deleted file mode 100644 index f0ebe2de..00000000 --- a/pkg/forge-std/interfaces/ierc721.sol/ierc721metadata.go +++ /dev/null @@ -1,1012 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ierc721 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IERC721MetadataMetaData contains all meta data concerning the IERC721Metadata contract. -var IERC721MetadataMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", -} - -// IERC721MetadataABI is the input ABI used to generate the binding from. -// Deprecated: Use IERC721MetadataMetaData.ABI instead. -var IERC721MetadataABI = IERC721MetadataMetaData.ABI - -// IERC721Metadata is an auto generated Go binding around an Ethereum contract. -type IERC721Metadata struct { - IERC721MetadataCaller // Read-only binding to the contract - IERC721MetadataTransactor // Write-only binding to the contract - IERC721MetadataFilterer // Log filterer for contract events -} - -// IERC721MetadataCaller is an auto generated read-only Go binding around an Ethereum contract. -type IERC721MetadataCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721MetadataTransactor is an auto generated write-only Go binding around an Ethereum contract. -type IERC721MetadataTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721MetadataFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IERC721MetadataFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721MetadataSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IERC721MetadataSession struct { - Contract *IERC721Metadata // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721MetadataCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IERC721MetadataCallerSession struct { - Contract *IERC721MetadataCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IERC721MetadataTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IERC721MetadataTransactorSession struct { - Contract *IERC721MetadataTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721MetadataRaw is an auto generated low-level Go binding around an Ethereum contract. -type IERC721MetadataRaw struct { - Contract *IERC721Metadata // Generic contract binding to access the raw methods on -} - -// IERC721MetadataCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IERC721MetadataCallerRaw struct { - Contract *IERC721MetadataCaller // Generic read-only contract binding to access the raw methods on -} - -// IERC721MetadataTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IERC721MetadataTransactorRaw struct { - Contract *IERC721MetadataTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewIERC721Metadata creates a new instance of IERC721Metadata, bound to a specific deployed contract. -func NewIERC721Metadata(address common.Address, backend bind.ContractBackend) (*IERC721Metadata, error) { - contract, err := bindIERC721Metadata(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IERC721Metadata{IERC721MetadataCaller: IERC721MetadataCaller{contract: contract}, IERC721MetadataTransactor: IERC721MetadataTransactor{contract: contract}, IERC721MetadataFilterer: IERC721MetadataFilterer{contract: contract}}, nil -} - -// NewIERC721MetadataCaller creates a new read-only instance of IERC721Metadata, bound to a specific deployed contract. -func NewIERC721MetadataCaller(address common.Address, caller bind.ContractCaller) (*IERC721MetadataCaller, error) { - contract, err := bindIERC721Metadata(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IERC721MetadataCaller{contract: contract}, nil -} - -// NewIERC721MetadataTransactor creates a new write-only instance of IERC721Metadata, bound to a specific deployed contract. -func NewIERC721MetadataTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721MetadataTransactor, error) { - contract, err := bindIERC721Metadata(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IERC721MetadataTransactor{contract: contract}, nil -} - -// NewIERC721MetadataFilterer creates a new log filterer instance of IERC721Metadata, bound to a specific deployed contract. -func NewIERC721MetadataFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721MetadataFilterer, error) { - contract, err := bindIERC721Metadata(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IERC721MetadataFilterer{contract: contract}, nil -} - -// bindIERC721Metadata binds a generic wrapper to an already deployed contract. -func bindIERC721Metadata(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IERC721MetadataMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721Metadata *IERC721MetadataRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721Metadata.Contract.IERC721MetadataCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721Metadata *IERC721MetadataRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721Metadata *IERC721MetadataRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721Metadata.Contract.IERC721MetadataTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721Metadata *IERC721MetadataCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721Metadata.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721Metadata.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721Metadata *IERC721MetadataTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721Metadata.Contract.contract.Transact(opts, method, params...) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721Metadata *IERC721MetadataCaller) BalanceOf(opts *bind.CallOpts, _owner common.Address) (*big.Int, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "balanceOf", _owner) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721Metadata *IERC721MetadataSession) BalanceOf(_owner common.Address) (*big.Int, error) { - return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, _owner) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address _owner) view returns(uint256) -func (_IERC721Metadata *IERC721MetadataCallerSession) BalanceOf(_owner common.Address) (*big.Int, error) { - return _IERC721Metadata.Contract.BalanceOf(&_IERC721Metadata.CallOpts, _owner) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721Metadata *IERC721MetadataCaller) GetApproved(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "getApproved", _tokenId) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721Metadata *IERC721MetadataSession) GetApproved(_tokenId *big.Int) (common.Address, error) { - return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, _tokenId) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 _tokenId) view returns(address) -func (_IERC721Metadata *IERC721MetadataCallerSession) GetApproved(_tokenId *big.Int) (common.Address, error) { - return _IERC721Metadata.Contract.GetApproved(&_IERC721Metadata.CallOpts, _tokenId) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721Metadata *IERC721MetadataCaller) IsApprovedForAll(opts *bind.CallOpts, _owner common.Address, _operator common.Address) (bool, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "isApprovedForAll", _owner, _operator) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721Metadata *IERC721MetadataSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { - return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, _owner, _operator) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address _owner, address _operator) view returns(bool) -func (_IERC721Metadata *IERC721MetadataCallerSession) IsApprovedForAll(_owner common.Address, _operator common.Address) (bool, error) { - return _IERC721Metadata.Contract.IsApprovedForAll(&_IERC721Metadata.CallOpts, _owner, _operator) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string _name) -func (_IERC721Metadata *IERC721MetadataCaller) Name(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "name") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string _name) -func (_IERC721Metadata *IERC721MetadataSession) Name() (string, error) { - return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string _name) -func (_IERC721Metadata *IERC721MetadataCallerSession) Name() (string, error) { - return _IERC721Metadata.Contract.Name(&_IERC721Metadata.CallOpts) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721Metadata *IERC721MetadataCaller) OwnerOf(opts *bind.CallOpts, _tokenId *big.Int) (common.Address, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "ownerOf", _tokenId) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721Metadata *IERC721MetadataSession) OwnerOf(_tokenId *big.Int) (common.Address, error) { - return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, _tokenId) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 _tokenId) view returns(address) -func (_IERC721Metadata *IERC721MetadataCallerSession) OwnerOf(_tokenId *big.Int) (common.Address, error) { - return _IERC721Metadata.Contract.OwnerOf(&_IERC721Metadata.CallOpts, _tokenId) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721Metadata *IERC721MetadataCaller) SupportsInterface(opts *bind.CallOpts, interfaceID [4]byte) (bool, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "supportsInterface", interfaceID) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721Metadata *IERC721MetadataSession) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceID) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceID) view returns(bool) -func (_IERC721Metadata *IERC721MetadataCallerSession) SupportsInterface(interfaceID [4]byte) (bool, error) { - return _IERC721Metadata.Contract.SupportsInterface(&_IERC721Metadata.CallOpts, interfaceID) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string _symbol) -func (_IERC721Metadata *IERC721MetadataCaller) Symbol(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "symbol") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string _symbol) -func (_IERC721Metadata *IERC721MetadataSession) Symbol() (string, error) { - return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string _symbol) -func (_IERC721Metadata *IERC721MetadataCallerSession) Symbol() (string, error) { - return _IERC721Metadata.Contract.Symbol(&_IERC721Metadata.CallOpts) -} - -// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. -// -// Solidity: function tokenURI(uint256 _tokenId) view returns(string) -func (_IERC721Metadata *IERC721MetadataCaller) TokenURI(opts *bind.CallOpts, _tokenId *big.Int) (string, error) { - var out []interface{} - err := _IERC721Metadata.contract.Call(opts, &out, "tokenURI", _tokenId) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. -// -// Solidity: function tokenURI(uint256 _tokenId) view returns(string) -func (_IERC721Metadata *IERC721MetadataSession) TokenURI(_tokenId *big.Int) (string, error) { - return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, _tokenId) -} - -// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. -// -// Solidity: function tokenURI(uint256 _tokenId) view returns(string) -func (_IERC721Metadata *IERC721MetadataCallerSession) TokenURI(_tokenId *big.Int) (string, error) { - return _IERC721Metadata.Contract.TokenURI(&_IERC721Metadata.CallOpts, _tokenId) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactor) Approve(opts *bind.TransactOpts, _approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.contract.Transact(opts, "approve", _approved, _tokenId) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataSession) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, _approved, _tokenId) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address _approved, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactorSession) Approve(_approved common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.Contract.Approve(&_IERC721Metadata.TransactOpts, _approved, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom", _from, _to, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, _from, _to, _tokenId) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.Contract.SafeTransferFrom(&_IERC721Metadata.TransactOpts, _from, _to, _tokenId) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactor) SafeTransferFrom0(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721Metadata.contract.Transact(opts, "safeTransferFrom0", _from, _to, _tokenId, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721Metadata *IERC721MetadataSession) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, _from, _to, _tokenId, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactorSession) SafeTransferFrom0(_from common.Address, _to common.Address, _tokenId *big.Int, data []byte) (*types.Transaction, error) { - return _IERC721Metadata.Contract.SafeTransferFrom0(&_IERC721Metadata.TransactOpts, _from, _to, _tokenId, data) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721Metadata *IERC721MetadataTransactor) SetApprovalForAll(opts *bind.TransactOpts, _operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721Metadata.contract.Transact(opts, "setApprovalForAll", _operator, _approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721Metadata *IERC721MetadataSession) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, _operator, _approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address _operator, bool _approved) returns() -func (_IERC721Metadata *IERC721MetadataTransactorSession) SetApprovalForAll(_operator common.Address, _approved bool) (*types.Transaction, error) { - return _IERC721Metadata.Contract.SetApprovalForAll(&_IERC721Metadata.TransactOpts, _operator, _approved) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactor) TransferFrom(opts *bind.TransactOpts, _from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.contract.Transact(opts, "transferFrom", _from, _to, _tokenId) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataSession) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, _from, _to, _tokenId) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address _from, address _to, uint256 _tokenId) payable returns() -func (_IERC721Metadata *IERC721MetadataTransactorSession) TransferFrom(_from common.Address, _to common.Address, _tokenId *big.Int) (*types.Transaction, error) { - return _IERC721Metadata.Contract.TransferFrom(&_IERC721Metadata.TransactOpts, _from, _to, _tokenId) -} - -// IERC721MetadataApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC721Metadata contract. -type IERC721MetadataApprovalIterator struct { - Event *IERC721MetadataApproval // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721MetadataApprovalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721MetadataApproval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721MetadataApproval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721MetadataApprovalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721MetadataApprovalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721MetadataApproval represents a Approval event raised by the IERC721Metadata contract. -type IERC721MetadataApproval struct { - Owner common.Address - Approved common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721Metadata *IERC721MetadataFilterer) FilterApproval(opts *bind.FilterOpts, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (*IERC721MetadataApprovalIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &IERC721MetadataApprovalIterator{contract: _IERC721Metadata.contract, event: "Approval", logs: logs, sub: sub}, nil -} - -// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721Metadata *IERC721MetadataFilterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApproval, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721MetadataApproval) - if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_IERC721Metadata *IERC721MetadataFilterer) ParseApproval(log types.Log) (*IERC721MetadataApproval, error) { - event := new(IERC721MetadataApproval) - if err := _IERC721Metadata.contract.UnpackLog(event, "Approval", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// IERC721MetadataApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the IERC721Metadata contract. -type IERC721MetadataApprovalForAllIterator struct { - Event *IERC721MetadataApprovalForAll // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721MetadataApprovalForAllIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721MetadataApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721MetadataApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721MetadataApprovalForAllIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721MetadataApprovalForAllIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721MetadataApprovalForAll represents a ApprovalForAll event raised by the IERC721Metadata contract. -type IERC721MetadataApprovalForAll struct { - Owner common.Address - Operator common.Address - Approved bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721Metadata *IERC721MetadataFilterer) FilterApprovalForAll(opts *bind.FilterOpts, _owner []common.Address, _operator []common.Address) (*IERC721MetadataApprovalForAllIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return &IERC721MetadataApprovalForAllIterator{contract: _IERC721Metadata.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil -} - -// WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721Metadata *IERC721MetadataFilterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *IERC721MetadataApprovalForAll, _owner []common.Address, _operator []common.Address) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721MetadataApprovalForAll) - if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_IERC721Metadata *IERC721MetadataFilterer) ParseApprovalForAll(log types.Log) (*IERC721MetadataApprovalForAll, error) { - event := new(IERC721MetadataApprovalForAll) - if err := _IERC721Metadata.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// IERC721MetadataTransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC721Metadata contract. -type IERC721MetadataTransferIterator struct { - Event *IERC721MetadataTransfer // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *IERC721MetadataTransferIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(IERC721MetadataTransfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(IERC721MetadataTransfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *IERC721MetadataTransferIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *IERC721MetadataTransferIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// IERC721MetadataTransfer represents a Transfer event raised by the IERC721Metadata contract. -type IERC721MetadataTransfer struct { - From common.Address - To common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721Metadata *IERC721MetadataFilterer) FilterTransfer(opts *bind.FilterOpts, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (*IERC721MetadataTransferIterator, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Metadata.contract.FilterLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &IERC721MetadataTransferIterator{contract: _IERC721Metadata.contract, event: "Transfer", logs: logs, sub: sub}, nil -} - -// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721Metadata *IERC721MetadataFilterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC721MetadataTransfer, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _IERC721Metadata.contract.WatchLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(IERC721MetadataTransfer) - if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_IERC721Metadata *IERC721MetadataFilterer) ParseTransfer(log types.Log) (*IERC721MetadataTransfer, error) { - event := new(IERC721MetadataTransfer) - if err := _IERC721Metadata.contract.UnpackLog(event, "Transfer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/interfaces/ierc721.sol/ierc721tokenreceiver.go b/pkg/forge-std/interfaces/ierc721.sol/ierc721tokenreceiver.go deleted file mode 100644 index 37f55072..00000000 --- a/pkg/forge-std/interfaces/ierc721.sol/ierc721tokenreceiver.go +++ /dev/null @@ -1,202 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package ierc721 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IERC721TokenReceiverMetaData contains all meta data concerning the IERC721TokenReceiver contract. -var IERC721TokenReceiverMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", -} - -// IERC721TokenReceiverABI is the input ABI used to generate the binding from. -// Deprecated: Use IERC721TokenReceiverMetaData.ABI instead. -var IERC721TokenReceiverABI = IERC721TokenReceiverMetaData.ABI - -// IERC721TokenReceiver is an auto generated Go binding around an Ethereum contract. -type IERC721TokenReceiver struct { - IERC721TokenReceiverCaller // Read-only binding to the contract - IERC721TokenReceiverTransactor // Write-only binding to the contract - IERC721TokenReceiverFilterer // Log filterer for contract events -} - -// IERC721TokenReceiverCaller is an auto generated read-only Go binding around an Ethereum contract. -type IERC721TokenReceiverCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721TokenReceiverTransactor is an auto generated write-only Go binding around an Ethereum contract. -type IERC721TokenReceiverTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721TokenReceiverFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IERC721TokenReceiverFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IERC721TokenReceiverSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IERC721TokenReceiverSession struct { - Contract *IERC721TokenReceiver // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721TokenReceiverCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IERC721TokenReceiverCallerSession struct { - Contract *IERC721TokenReceiverCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IERC721TokenReceiverTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IERC721TokenReceiverTransactorSession struct { - Contract *IERC721TokenReceiverTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IERC721TokenReceiverRaw is an auto generated low-level Go binding around an Ethereum contract. -type IERC721TokenReceiverRaw struct { - Contract *IERC721TokenReceiver // Generic contract binding to access the raw methods on -} - -// IERC721TokenReceiverCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IERC721TokenReceiverCallerRaw struct { - Contract *IERC721TokenReceiverCaller // Generic read-only contract binding to access the raw methods on -} - -// IERC721TokenReceiverTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IERC721TokenReceiverTransactorRaw struct { - Contract *IERC721TokenReceiverTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewIERC721TokenReceiver creates a new instance of IERC721TokenReceiver, bound to a specific deployed contract. -func NewIERC721TokenReceiver(address common.Address, backend bind.ContractBackend) (*IERC721TokenReceiver, error) { - contract, err := bindIERC721TokenReceiver(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IERC721TokenReceiver{IERC721TokenReceiverCaller: IERC721TokenReceiverCaller{contract: contract}, IERC721TokenReceiverTransactor: IERC721TokenReceiverTransactor{contract: contract}, IERC721TokenReceiverFilterer: IERC721TokenReceiverFilterer{contract: contract}}, nil -} - -// NewIERC721TokenReceiverCaller creates a new read-only instance of IERC721TokenReceiver, bound to a specific deployed contract. -func NewIERC721TokenReceiverCaller(address common.Address, caller bind.ContractCaller) (*IERC721TokenReceiverCaller, error) { - contract, err := bindIERC721TokenReceiver(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IERC721TokenReceiverCaller{contract: contract}, nil -} - -// NewIERC721TokenReceiverTransactor creates a new write-only instance of IERC721TokenReceiver, bound to a specific deployed contract. -func NewIERC721TokenReceiverTransactor(address common.Address, transactor bind.ContractTransactor) (*IERC721TokenReceiverTransactor, error) { - contract, err := bindIERC721TokenReceiver(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IERC721TokenReceiverTransactor{contract: contract}, nil -} - -// NewIERC721TokenReceiverFilterer creates a new log filterer instance of IERC721TokenReceiver, bound to a specific deployed contract. -func NewIERC721TokenReceiverFilterer(address common.Address, filterer bind.ContractFilterer) (*IERC721TokenReceiverFilterer, error) { - contract, err := bindIERC721TokenReceiver(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IERC721TokenReceiverFilterer{contract: contract}, nil -} - -// bindIERC721TokenReceiver binds a generic wrapper to an already deployed contract. -func bindIERC721TokenReceiver(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IERC721TokenReceiverMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721TokenReceiver *IERC721TokenReceiverRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721TokenReceiver.Contract.IERC721TokenReceiverCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721TokenReceiver *IERC721TokenReceiverRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721TokenReceiver.Contract.IERC721TokenReceiverTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721TokenReceiver *IERC721TokenReceiverRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721TokenReceiver.Contract.IERC721TokenReceiverTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IERC721TokenReceiver *IERC721TokenReceiverCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IERC721TokenReceiver.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IERC721TokenReceiver *IERC721TokenReceiverTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IERC721TokenReceiver.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IERC721TokenReceiver *IERC721TokenReceiverTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IERC721TokenReceiver.Contract.contract.Transact(opts, method, params...) -} - -// OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. -// -// Solidity: function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes _data) returns(bytes4) -func (_IERC721TokenReceiver *IERC721TokenReceiverTransactor) OnERC721Received(opts *bind.TransactOpts, _operator common.Address, _from common.Address, _tokenId *big.Int, _data []byte) (*types.Transaction, error) { - return _IERC721TokenReceiver.contract.Transact(opts, "onERC721Received", _operator, _from, _tokenId, _data) -} - -// OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. -// -// Solidity: function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes _data) returns(bytes4) -func (_IERC721TokenReceiver *IERC721TokenReceiverSession) OnERC721Received(_operator common.Address, _from common.Address, _tokenId *big.Int, _data []byte) (*types.Transaction, error) { - return _IERC721TokenReceiver.Contract.OnERC721Received(&_IERC721TokenReceiver.TransactOpts, _operator, _from, _tokenId, _data) -} - -// OnERC721Received is a paid mutator transaction binding the contract method 0x150b7a02. -// -// Solidity: function onERC721Received(address _operator, address _from, uint256 _tokenId, bytes _data) returns(bytes4) -func (_IERC721TokenReceiver *IERC721TokenReceiverTransactorSession) OnERC721Received(_operator common.Address, _from common.Address, _tokenId *big.Int, _data []byte) (*types.Transaction, error) { - return _IERC721TokenReceiver.Contract.OnERC721Received(&_IERC721TokenReceiver.TransactOpts, _operator, _from, _tokenId, _data) -} diff --git a/pkg/forge-std/interfaces/imulticall3.sol/imulticall3.go b/pkg/forge-std/interfaces/imulticall3.sol/imulticall3.go deleted file mode 100644 index fef9956a..00000000 --- a/pkg/forge-std/interfaces/imulticall3.sol/imulticall3.go +++ /dev/null @@ -1,644 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package imulticall3 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// IMulticall3Call is an auto generated low-level Go binding around an user-defined struct. -type IMulticall3Call struct { - Target common.Address - CallData []byte -} - -// IMulticall3Call3 is an auto generated low-level Go binding around an user-defined struct. -type IMulticall3Call3 struct { - Target common.Address - AllowFailure bool - CallData []byte -} - -// IMulticall3Call3Value is an auto generated low-level Go binding around an user-defined struct. -type IMulticall3Call3Value struct { - Target common.Address - AllowFailure bool - Value *big.Int - CallData []byte -} - -// IMulticall3Result is an auto generated low-level Go binding around an user-defined struct. -type IMulticall3Result struct { - Success bool - ReturnData []byte -} - -// IMulticall3MetaData contains all meta data concerning the IMulticall3 contract. -var IMulticall3MetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"structIMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]", -} - -// IMulticall3ABI is the input ABI used to generate the binding from. -// Deprecated: Use IMulticall3MetaData.ABI instead. -var IMulticall3ABI = IMulticall3MetaData.ABI - -// IMulticall3 is an auto generated Go binding around an Ethereum contract. -type IMulticall3 struct { - IMulticall3Caller // Read-only binding to the contract - IMulticall3Transactor // Write-only binding to the contract - IMulticall3Filterer // Log filterer for contract events -} - -// IMulticall3Caller is an auto generated read-only Go binding around an Ethereum contract. -type IMulticall3Caller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IMulticall3Transactor is an auto generated write-only Go binding around an Ethereum contract. -type IMulticall3Transactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IMulticall3Filterer is an auto generated log filtering Go binding around an Ethereum contract events. -type IMulticall3Filterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// IMulticall3Session is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type IMulticall3Session struct { - Contract *IMulticall3 // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IMulticall3CallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type IMulticall3CallerSession struct { - Contract *IMulticall3Caller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// IMulticall3TransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type IMulticall3TransactorSession struct { - Contract *IMulticall3Transactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// IMulticall3Raw is an auto generated low-level Go binding around an Ethereum contract. -type IMulticall3Raw struct { - Contract *IMulticall3 // Generic contract binding to access the raw methods on -} - -// IMulticall3CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type IMulticall3CallerRaw struct { - Contract *IMulticall3Caller // Generic read-only contract binding to access the raw methods on -} - -// IMulticall3TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type IMulticall3TransactorRaw struct { - Contract *IMulticall3Transactor // Generic write-only contract binding to access the raw methods on -} - -// NewIMulticall3 creates a new instance of IMulticall3, bound to a specific deployed contract. -func NewIMulticall3(address common.Address, backend bind.ContractBackend) (*IMulticall3, error) { - contract, err := bindIMulticall3(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &IMulticall3{IMulticall3Caller: IMulticall3Caller{contract: contract}, IMulticall3Transactor: IMulticall3Transactor{contract: contract}, IMulticall3Filterer: IMulticall3Filterer{contract: contract}}, nil -} - -// NewIMulticall3Caller creates a new read-only instance of IMulticall3, bound to a specific deployed contract. -func NewIMulticall3Caller(address common.Address, caller bind.ContractCaller) (*IMulticall3Caller, error) { - contract, err := bindIMulticall3(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &IMulticall3Caller{contract: contract}, nil -} - -// NewIMulticall3Transactor creates a new write-only instance of IMulticall3, bound to a specific deployed contract. -func NewIMulticall3Transactor(address common.Address, transactor bind.ContractTransactor) (*IMulticall3Transactor, error) { - contract, err := bindIMulticall3(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &IMulticall3Transactor{contract: contract}, nil -} - -// NewIMulticall3Filterer creates a new log filterer instance of IMulticall3, bound to a specific deployed contract. -func NewIMulticall3Filterer(address common.Address, filterer bind.ContractFilterer) (*IMulticall3Filterer, error) { - contract, err := bindIMulticall3(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &IMulticall3Filterer{contract: contract}, nil -} - -// bindIMulticall3 binds a generic wrapper to an already deployed contract. -func bindIMulticall3(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := IMulticall3MetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IMulticall3 *IMulticall3Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IMulticall3.Contract.IMulticall3Caller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IMulticall3 *IMulticall3Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IMulticall3.Contract.IMulticall3Transactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IMulticall3 *IMulticall3Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IMulticall3.Contract.IMulticall3Transactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_IMulticall3 *IMulticall3CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _IMulticall3.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_IMulticall3 *IMulticall3TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _IMulticall3.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_IMulticall3 *IMulticall3TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _IMulticall3.Contract.contract.Transact(opts, method, params...) -} - -// GetBasefee is a free data retrieval call binding the contract method 0x3e64a696. -// -// Solidity: function getBasefee() view returns(uint256 basefee) -func (_IMulticall3 *IMulticall3Caller) GetBasefee(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getBasefee") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBasefee is a free data retrieval call binding the contract method 0x3e64a696. -// -// Solidity: function getBasefee() view returns(uint256 basefee) -func (_IMulticall3 *IMulticall3Session) GetBasefee() (*big.Int, error) { - return _IMulticall3.Contract.GetBasefee(&_IMulticall3.CallOpts) -} - -// GetBasefee is a free data retrieval call binding the contract method 0x3e64a696. -// -// Solidity: function getBasefee() view returns(uint256 basefee) -func (_IMulticall3 *IMulticall3CallerSession) GetBasefee() (*big.Int, error) { - return _IMulticall3.Contract.GetBasefee(&_IMulticall3.CallOpts) -} - -// GetBlockHash is a free data retrieval call binding the contract method 0xee82ac5e. -// -// Solidity: function getBlockHash(uint256 blockNumber) view returns(bytes32 blockHash) -func (_IMulticall3 *IMulticall3Caller) GetBlockHash(opts *bind.CallOpts, blockNumber *big.Int) ([32]byte, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getBlockHash", blockNumber) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetBlockHash is a free data retrieval call binding the contract method 0xee82ac5e. -// -// Solidity: function getBlockHash(uint256 blockNumber) view returns(bytes32 blockHash) -func (_IMulticall3 *IMulticall3Session) GetBlockHash(blockNumber *big.Int) ([32]byte, error) { - return _IMulticall3.Contract.GetBlockHash(&_IMulticall3.CallOpts, blockNumber) -} - -// GetBlockHash is a free data retrieval call binding the contract method 0xee82ac5e. -// -// Solidity: function getBlockHash(uint256 blockNumber) view returns(bytes32 blockHash) -func (_IMulticall3 *IMulticall3CallerSession) GetBlockHash(blockNumber *big.Int) ([32]byte, error) { - return _IMulticall3.Contract.GetBlockHash(&_IMulticall3.CallOpts, blockNumber) -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 blockNumber) -func (_IMulticall3 *IMulticall3Caller) GetBlockNumber(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getBlockNumber") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 blockNumber) -func (_IMulticall3 *IMulticall3Session) GetBlockNumber() (*big.Int, error) { - return _IMulticall3.Contract.GetBlockNumber(&_IMulticall3.CallOpts) -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 blockNumber) -func (_IMulticall3 *IMulticall3CallerSession) GetBlockNumber() (*big.Int, error) { - return _IMulticall3.Contract.GetBlockNumber(&_IMulticall3.CallOpts) -} - -// GetChainId is a free data retrieval call binding the contract method 0x3408e470. -// -// Solidity: function getChainId() view returns(uint256 chainid) -func (_IMulticall3 *IMulticall3Caller) GetChainId(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getChainId") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetChainId is a free data retrieval call binding the contract method 0x3408e470. -// -// Solidity: function getChainId() view returns(uint256 chainid) -func (_IMulticall3 *IMulticall3Session) GetChainId() (*big.Int, error) { - return _IMulticall3.Contract.GetChainId(&_IMulticall3.CallOpts) -} - -// GetChainId is a free data retrieval call binding the contract method 0x3408e470. -// -// Solidity: function getChainId() view returns(uint256 chainid) -func (_IMulticall3 *IMulticall3CallerSession) GetChainId() (*big.Int, error) { - return _IMulticall3.Contract.GetChainId(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockCoinbase is a free data retrieval call binding the contract method 0xa8b0574e. -// -// Solidity: function getCurrentBlockCoinbase() view returns(address coinbase) -func (_IMulticall3 *IMulticall3Caller) GetCurrentBlockCoinbase(opts *bind.CallOpts) (common.Address, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getCurrentBlockCoinbase") - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GetCurrentBlockCoinbase is a free data retrieval call binding the contract method 0xa8b0574e. -// -// Solidity: function getCurrentBlockCoinbase() view returns(address coinbase) -func (_IMulticall3 *IMulticall3Session) GetCurrentBlockCoinbase() (common.Address, error) { - return _IMulticall3.Contract.GetCurrentBlockCoinbase(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockCoinbase is a free data retrieval call binding the contract method 0xa8b0574e. -// -// Solidity: function getCurrentBlockCoinbase() view returns(address coinbase) -func (_IMulticall3 *IMulticall3CallerSession) GetCurrentBlockCoinbase() (common.Address, error) { - return _IMulticall3.Contract.GetCurrentBlockCoinbase(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockDifficulty is a free data retrieval call binding the contract method 0x72425d9d. -// -// Solidity: function getCurrentBlockDifficulty() view returns(uint256 difficulty) -func (_IMulticall3 *IMulticall3Caller) GetCurrentBlockDifficulty(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getCurrentBlockDifficulty") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetCurrentBlockDifficulty is a free data retrieval call binding the contract method 0x72425d9d. -// -// Solidity: function getCurrentBlockDifficulty() view returns(uint256 difficulty) -func (_IMulticall3 *IMulticall3Session) GetCurrentBlockDifficulty() (*big.Int, error) { - return _IMulticall3.Contract.GetCurrentBlockDifficulty(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockDifficulty is a free data retrieval call binding the contract method 0x72425d9d. -// -// Solidity: function getCurrentBlockDifficulty() view returns(uint256 difficulty) -func (_IMulticall3 *IMulticall3CallerSession) GetCurrentBlockDifficulty() (*big.Int, error) { - return _IMulticall3.Contract.GetCurrentBlockDifficulty(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockGasLimit is a free data retrieval call binding the contract method 0x86d516e8. -// -// Solidity: function getCurrentBlockGasLimit() view returns(uint256 gaslimit) -func (_IMulticall3 *IMulticall3Caller) GetCurrentBlockGasLimit(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getCurrentBlockGasLimit") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetCurrentBlockGasLimit is a free data retrieval call binding the contract method 0x86d516e8. -// -// Solidity: function getCurrentBlockGasLimit() view returns(uint256 gaslimit) -func (_IMulticall3 *IMulticall3Session) GetCurrentBlockGasLimit() (*big.Int, error) { - return _IMulticall3.Contract.GetCurrentBlockGasLimit(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockGasLimit is a free data retrieval call binding the contract method 0x86d516e8. -// -// Solidity: function getCurrentBlockGasLimit() view returns(uint256 gaslimit) -func (_IMulticall3 *IMulticall3CallerSession) GetCurrentBlockGasLimit() (*big.Int, error) { - return _IMulticall3.Contract.GetCurrentBlockGasLimit(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockTimestamp is a free data retrieval call binding the contract method 0x0f28c97d. -// -// Solidity: function getCurrentBlockTimestamp() view returns(uint256 timestamp) -func (_IMulticall3 *IMulticall3Caller) GetCurrentBlockTimestamp(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getCurrentBlockTimestamp") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetCurrentBlockTimestamp is a free data retrieval call binding the contract method 0x0f28c97d. -// -// Solidity: function getCurrentBlockTimestamp() view returns(uint256 timestamp) -func (_IMulticall3 *IMulticall3Session) GetCurrentBlockTimestamp() (*big.Int, error) { - return _IMulticall3.Contract.GetCurrentBlockTimestamp(&_IMulticall3.CallOpts) -} - -// GetCurrentBlockTimestamp is a free data retrieval call binding the contract method 0x0f28c97d. -// -// Solidity: function getCurrentBlockTimestamp() view returns(uint256 timestamp) -func (_IMulticall3 *IMulticall3CallerSession) GetCurrentBlockTimestamp() (*big.Int, error) { - return _IMulticall3.Contract.GetCurrentBlockTimestamp(&_IMulticall3.CallOpts) -} - -// GetEthBalance is a free data retrieval call binding the contract method 0x4d2301cc. -// -// Solidity: function getEthBalance(address addr) view returns(uint256 balance) -func (_IMulticall3 *IMulticall3Caller) GetEthBalance(opts *bind.CallOpts, addr common.Address) (*big.Int, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getEthBalance", addr) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetEthBalance is a free data retrieval call binding the contract method 0x4d2301cc. -// -// Solidity: function getEthBalance(address addr) view returns(uint256 balance) -func (_IMulticall3 *IMulticall3Session) GetEthBalance(addr common.Address) (*big.Int, error) { - return _IMulticall3.Contract.GetEthBalance(&_IMulticall3.CallOpts, addr) -} - -// GetEthBalance is a free data retrieval call binding the contract method 0x4d2301cc. -// -// Solidity: function getEthBalance(address addr) view returns(uint256 balance) -func (_IMulticall3 *IMulticall3CallerSession) GetEthBalance(addr common.Address) (*big.Int, error) { - return _IMulticall3.Contract.GetEthBalance(&_IMulticall3.CallOpts, addr) -} - -// GetLastBlockHash is a free data retrieval call binding the contract method 0x27e86d6e. -// -// Solidity: function getLastBlockHash() view returns(bytes32 blockHash) -func (_IMulticall3 *IMulticall3Caller) GetLastBlockHash(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := _IMulticall3.contract.Call(opts, &out, "getLastBlockHash") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// GetLastBlockHash is a free data retrieval call binding the contract method 0x27e86d6e. -// -// Solidity: function getLastBlockHash() view returns(bytes32 blockHash) -func (_IMulticall3 *IMulticall3Session) GetLastBlockHash() ([32]byte, error) { - return _IMulticall3.Contract.GetLastBlockHash(&_IMulticall3.CallOpts) -} - -// GetLastBlockHash is a free data retrieval call binding the contract method 0x27e86d6e. -// -// Solidity: function getLastBlockHash() view returns(bytes32 blockHash) -func (_IMulticall3 *IMulticall3CallerSession) GetLastBlockHash() ([32]byte, error) { - return _IMulticall3.Contract.GetLastBlockHash(&_IMulticall3.CallOpts) -} - -// Aggregate is a paid mutator transaction binding the contract method 0x252dba42. -// -// Solidity: function aggregate((address,bytes)[] calls) payable returns(uint256 blockNumber, bytes[] returnData) -func (_IMulticall3 *IMulticall3Transactor) Aggregate(opts *bind.TransactOpts, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.contract.Transact(opts, "aggregate", calls) -} - -// Aggregate is a paid mutator transaction binding the contract method 0x252dba42. -// -// Solidity: function aggregate((address,bytes)[] calls) payable returns(uint256 blockNumber, bytes[] returnData) -func (_IMulticall3 *IMulticall3Session) Aggregate(calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.Aggregate(&_IMulticall3.TransactOpts, calls) -} - -// Aggregate is a paid mutator transaction binding the contract method 0x252dba42. -// -// Solidity: function aggregate((address,bytes)[] calls) payable returns(uint256 blockNumber, bytes[] returnData) -func (_IMulticall3 *IMulticall3TransactorSession) Aggregate(calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.Aggregate(&_IMulticall3.TransactOpts, calls) -} - -// Aggregate3 is a paid mutator transaction binding the contract method 0x82ad56cb. -// -// Solidity: function aggregate3((address,bool,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Transactor) Aggregate3(opts *bind.TransactOpts, calls []IMulticall3Call3) (*types.Transaction, error) { - return _IMulticall3.contract.Transact(opts, "aggregate3", calls) -} - -// Aggregate3 is a paid mutator transaction binding the contract method 0x82ad56cb. -// -// Solidity: function aggregate3((address,bool,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Session) Aggregate3(calls []IMulticall3Call3) (*types.Transaction, error) { - return _IMulticall3.Contract.Aggregate3(&_IMulticall3.TransactOpts, calls) -} - -// Aggregate3 is a paid mutator transaction binding the contract method 0x82ad56cb. -// -// Solidity: function aggregate3((address,bool,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3TransactorSession) Aggregate3(calls []IMulticall3Call3) (*types.Transaction, error) { - return _IMulticall3.Contract.Aggregate3(&_IMulticall3.TransactOpts, calls) -} - -// Aggregate3Value is a paid mutator transaction binding the contract method 0x174dea71. -// -// Solidity: function aggregate3Value((address,bool,uint256,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Transactor) Aggregate3Value(opts *bind.TransactOpts, calls []IMulticall3Call3Value) (*types.Transaction, error) { - return _IMulticall3.contract.Transact(opts, "aggregate3Value", calls) -} - -// Aggregate3Value is a paid mutator transaction binding the contract method 0x174dea71. -// -// Solidity: function aggregate3Value((address,bool,uint256,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Session) Aggregate3Value(calls []IMulticall3Call3Value) (*types.Transaction, error) { - return _IMulticall3.Contract.Aggregate3Value(&_IMulticall3.TransactOpts, calls) -} - -// Aggregate3Value is a paid mutator transaction binding the contract method 0x174dea71. -// -// Solidity: function aggregate3Value((address,bool,uint256,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3TransactorSession) Aggregate3Value(calls []IMulticall3Call3Value) (*types.Transaction, error) { - return _IMulticall3.Contract.Aggregate3Value(&_IMulticall3.TransactOpts, calls) -} - -// BlockAndAggregate is a paid mutator transaction binding the contract method 0xc3077fa9. -// -// Solidity: function blockAndAggregate((address,bytes)[] calls) payable returns(uint256 blockNumber, bytes32 blockHash, (bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Transactor) BlockAndAggregate(opts *bind.TransactOpts, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.contract.Transact(opts, "blockAndAggregate", calls) -} - -// BlockAndAggregate is a paid mutator transaction binding the contract method 0xc3077fa9. -// -// Solidity: function blockAndAggregate((address,bytes)[] calls) payable returns(uint256 blockNumber, bytes32 blockHash, (bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Session) BlockAndAggregate(calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.BlockAndAggregate(&_IMulticall3.TransactOpts, calls) -} - -// BlockAndAggregate is a paid mutator transaction binding the contract method 0xc3077fa9. -// -// Solidity: function blockAndAggregate((address,bytes)[] calls) payable returns(uint256 blockNumber, bytes32 blockHash, (bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3TransactorSession) BlockAndAggregate(calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.BlockAndAggregate(&_IMulticall3.TransactOpts, calls) -} - -// TryAggregate is a paid mutator transaction binding the contract method 0xbce38bd7. -// -// Solidity: function tryAggregate(bool requireSuccess, (address,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Transactor) TryAggregate(opts *bind.TransactOpts, requireSuccess bool, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.contract.Transact(opts, "tryAggregate", requireSuccess, calls) -} - -// TryAggregate is a paid mutator transaction binding the contract method 0xbce38bd7. -// -// Solidity: function tryAggregate(bool requireSuccess, (address,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Session) TryAggregate(requireSuccess bool, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.TryAggregate(&_IMulticall3.TransactOpts, requireSuccess, calls) -} - -// TryAggregate is a paid mutator transaction binding the contract method 0xbce38bd7. -// -// Solidity: function tryAggregate(bool requireSuccess, (address,bytes)[] calls) payable returns((bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3TransactorSession) TryAggregate(requireSuccess bool, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.TryAggregate(&_IMulticall3.TransactOpts, requireSuccess, calls) -} - -// TryBlockAndAggregate is a paid mutator transaction binding the contract method 0x399542e9. -// -// Solidity: function tryBlockAndAggregate(bool requireSuccess, (address,bytes)[] calls) payable returns(uint256 blockNumber, bytes32 blockHash, (bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Transactor) TryBlockAndAggregate(opts *bind.TransactOpts, requireSuccess bool, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.contract.Transact(opts, "tryBlockAndAggregate", requireSuccess, calls) -} - -// TryBlockAndAggregate is a paid mutator transaction binding the contract method 0x399542e9. -// -// Solidity: function tryBlockAndAggregate(bool requireSuccess, (address,bytes)[] calls) payable returns(uint256 blockNumber, bytes32 blockHash, (bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3Session) TryBlockAndAggregate(requireSuccess bool, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.TryBlockAndAggregate(&_IMulticall3.TransactOpts, requireSuccess, calls) -} - -// TryBlockAndAggregate is a paid mutator transaction binding the contract method 0x399542e9. -// -// Solidity: function tryBlockAndAggregate(bool requireSuccess, (address,bytes)[] calls) payable returns(uint256 blockNumber, bytes32 blockHash, (bool,bytes)[] returnData) -func (_IMulticall3 *IMulticall3TransactorSession) TryBlockAndAggregate(requireSuccess bool, calls []IMulticall3Call) (*types.Transaction, error) { - return _IMulticall3.Contract.TryBlockAndAggregate(&_IMulticall3.TransactOpts, requireSuccess, calls) -} diff --git a/pkg/forge-std/mocks/mockerc20.sol/mockerc20.go b/pkg/forge-std/mocks/mockerc20.sol/mockerc20.go deleted file mode 100644 index 2961e7b7..00000000 --- a/pkg/forge-std/mocks/mockerc20.sol/mockerc20.go +++ /dev/null @@ -1,864 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package mockerc20 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// MockERC20MetaData contains all meta data concerning the MockERC20 contract. -var MockERC20MetaData = &bind.MetaData{ - ABI: "[{\"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\":\"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\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"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\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"amount\",\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b50611c60806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80633644e5151161008c57806395d89b411161006657806395d89b4114610228578063a9059cbb14610246578063d505accf14610276578063dd62ed3e14610292576100cf565b80633644e515146101aa57806370a08231146101c85780637ecebe00146101f8576100cf565b806306fdde03146100d4578063095ea7b3146100f25780631624f6c61461012257806318160ddd1461013e57806323b872dd1461015c578063313ce5671461018c575b600080fd5b6100dc6102c2565b6040516100e99190611681565b60405180910390f35b61010c6004803603810190610107919061124d565b610354565b6040516101199190611552565b60405180910390f35b61013c6004803603810190610137919061128d565b610446565b005b61014661051b565b6040516101539190611743565b60405180910390f35b61017660048036038101906101719190611158565b610525565b6040516101839190611552565b60405180910390f35b6101946107c4565b6040516101a1919061175e565b60405180910390f35b6101b26107db565b6040516101bf919061156d565b60405180910390f35b6101e260048036038101906101dd91906110eb565b610803565b6040516101ef9190611743565b60405180910390f35b610212600480360381019061020d91906110eb565b61084c565b60405161021f9190611743565b60405180910390f35b610230610864565b60405161023d9190611681565b60405180910390f35b610260600480360381019061025b919061124d565b6108f6565b60405161026d9190611552565b60405180910390f35b610290600480360381019061028b91906111ab565b610a7f565b005b6102ac60048036038101906102a79190611118565b610d7e565b6040516102b99190611743565b60405180910390f35b6060600080546102d190611941565b80601f01602080910402602001604051908101604052809291908181526020018280546102fd90611941565b801561034a5780601f1061031f5761010080835404028352916020019161034a565b820191906000526020600020905b81548152906001019060200180831161032d57829003601f168201915b5050505050905090565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104349190611743565b60405180910390a36001905092915050565b600960009054906101000a900460ff1615610496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048d906116a3565b60405180910390fd5b82600090805190602001906104ac929190610f7a565b5081600190805190602001906104c3929190610f7a565b5080600260006101000a81548160ff021916908360ff1602179055506104e7610e05565b6006819055506104f5610e28565b6007819055506001600960006101000a81548160ff021916908315150217905550505050565b6000600354905090565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600019811461063b576105ba8184610ebb565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610684600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610ebb565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610710600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610f14565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516107b09190611743565b60405180910390a360019150509392505050565b6000600260009054906101000a900460ff16905090565b60006006546107e8610e05565b146107fa576107f5610e28565b6107fe565b6007545b905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60086020528060005260406000206000915090505481565b60606001805461087390611941565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611941565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b5050505050905090565b6000610941600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610ebb565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109cd600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610f14565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a6d9190611743565b60405180910390a36001905092915050565b42841015610ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab990611723565b60405180910390fd5b60006001610ace6107db565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a600860008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190610b42906119a4565b919050558b604051602001610b5c96959493929190611588565b60405160208183030381529060405280519060200120604051602001610b8392919061151b565b6040516020818303038152906040528051906020012085858560405160008152602001604052604051610bb9949392919061163c565b6020604051602081039080840390855afa158015610bdb573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c4f57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590611703565b60405180910390fd5b85600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92588604051610d6c9190611743565b60405180910390a35050505050505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000611000610f729050611000819050610e218163ffffffff16565b9250505090565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610e5a9190611504565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6610e8b610e05565b30604051602001610ea09594939291906115e9565b60405160208183030381529060405280519060200120905090565b600081831015610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef7906116c3565b60405180910390fd5b8183610f0c919061186c565b905092915050565b6000808284610f239190611816565b905083811015610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f906116e3565b60405180910390fd5b8091505092915050565b600046905090565b828054610f8690611941565b90600052602060002090601f016020900481019282610fa85760008555610fef565b82601f10610fc157805160ff1916838001178555610fef565b82800160010185558215610fef579182015b82811115610fee578251825591602001919060010190610fd3565b5b509050610ffc919061100a565b5090565b611008611a84565b565b5b8082111561102357600081600090555060010161100b565b5090565b600061103a6110358461179e565b611779565b90508281526020810184848401111561105657611055611ab8565b5b6110618482856118ff565b509392505050565b60008135905061107881611bce565b92915050565b60008135905061108d81611be5565b92915050565b600082601f8301126110a8576110a7611ab3565b5b81356110b8848260208601611027565b91505092915050565b6000813590506110d081611bfc565b92915050565b6000813590506110e581611c13565b92915050565b60006020828403121561110157611100611ac2565b5b600061110f84828501611069565b91505092915050565b6000806040838503121561112f5761112e611ac2565b5b600061113d85828601611069565b925050602061114e85828601611069565b9150509250929050565b60008060006060848603121561117157611170611ac2565b5b600061117f86828701611069565b935050602061119086828701611069565b92505060406111a1868287016110c1565b9150509250925092565b600080600080600080600060e0888a0312156111ca576111c9611ac2565b5b60006111d88a828b01611069565b97505060206111e98a828b01611069565b96505060406111fa8a828b016110c1565b955050606061120b8a828b016110c1565b945050608061121c8a828b016110d6565b93505060a061122d8a828b0161107e565b92505060c061123e8a828b0161107e565b91505092959891949750929550565b6000806040838503121561126457611263611ac2565b5b600061127285828601611069565b9250506020611283858286016110c1565b9150509250929050565b6000806000606084860312156112a6576112a5611ac2565b5b600084013567ffffffffffffffff8111156112c4576112c3611abd565b5b6112d086828701611093565b935050602084013567ffffffffffffffff8111156112f1576112f0611abd565b5b6112fd86828701611093565b925050604061130e868287016110d6565b9150509250925092565b611321816118a0565b82525050565b611330816118b2565b82525050565b61133f816118be565b82525050565b611356611351826118be565b6119ed565b82525050565b6000815461136981611941565b61137381866117ef565b9450600182166000811461138e576001811461139f576113d2565b60ff198316865281860193506113d2565b6113a8856117cf565b60005b838110156113ca578154818901526001820191506020810190506113ab565b838801955050505b50505092915050565b60006113e6826117e4565b6113f081856117fa565b935061140081856020860161190e565b61140981611ac7565b840191505092915050565b60006114216013836117fa565b915061142c82611ad8565b602082019050919050565b600061144460028361180b565b915061144f82611b01565b600282019050919050565b6000611467601c836117fa565b915061147282611b2a565b602082019050919050565b600061148a6018836117fa565b915061149582611b53565b602082019050919050565b60006114ad600e836117fa565b91506114b882611b7c565b602082019050919050565b60006114d06017836117fa565b91506114db82611ba5565b602082019050919050565b6114ef816118e8565b82525050565b6114fe816118f2565b82525050565b6000611510828461135c565b915081905092915050565b600061152682611437565b91506115328285611345565b6020820191506115428284611345565b6020820191508190509392505050565b60006020820190506115676000830184611327565b92915050565b60006020820190506115826000830184611336565b92915050565b600060c08201905061159d6000830189611336565b6115aa6020830188611318565b6115b76040830187611318565b6115c460608301866114e6565b6115d160808301856114e6565b6115de60a08301846114e6565b979650505050505050565b600060a0820190506115fe6000830188611336565b61160b6020830187611336565b6116186040830186611336565b61162560608301856114e6565b6116326080830184611318565b9695505050505050565b60006080820190506116516000830187611336565b61165e60208301866114f5565b61166b6040830185611336565b6116786060830184611336565b95945050505050565b6000602082019050818103600083015261169b81846113db565b905092915050565b600060208201905081810360008301526116bc81611414565b9050919050565b600060208201905081810360008301526116dc8161145a565b9050919050565b600060208201905081810360008301526116fc8161147d565b9050919050565b6000602082019050818103600083015261171c816114a0565b9050919050565b6000602082019050818103600083015261173c816114c3565b9050919050565b600060208201905061175860008301846114e6565b92915050565b600060208201905061177360008301846114f5565b92915050565b6000611783611794565b905061178f8282611973565b919050565b6000604051905090565b600067ffffffffffffffff8211156117b9576117b8611a55565b5b6117c282611ac7565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000611821826118e8565b915061182c836118e8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611861576118606119f7565b5b828201905092915050565b6000611877826118e8565b9150611882836118e8565b925082821015611895576118946119f7565b5b828203905092915050565b60006118ab826118c8565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561192c578082015181840152602081019050611911565b8381111561193b576000848401525b50505050565b6000600282049050600182168061195957607f821691505b6020821081141561196d5761196c611a26565b5b50919050565b61197c82611ac7565b810181811067ffffffffffffffff8211171561199b5761199a611a55565b5b80604052505050565b60006119af826118e8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156119e2576119e16119f7565b5b600182019050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052605160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f414c52454144595f494e495449414c495a454400000000000000000000000000600082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f45524332303a207375627472616374696f6e20756e646572666c6f7700000000600082015250565b7f45524332303a206164646974696f6e206f766572666c6f770000000000000000600082015250565b7f494e56414c49445f5349474e4552000000000000000000000000000000000000600082015250565b7f5045524d49545f444541444c494e455f45585049524544000000000000000000600082015250565b611bd7816118a0565b8114611be257600080fd5b50565b611bee816118be565b8114611bf957600080fd5b50565b611c05816118e8565b8114611c1057600080fd5b50565b611c1c816118f2565b8114611c2757600080fd5b5056fea2646970667358221220ee7d0358f6dc54d9a0daa9ec1987cc49290bece08d5b0890a343184933a9ba8f64736f6c63430008070033", -} - -// MockERC20ABI is the input ABI used to generate the binding from. -// Deprecated: Use MockERC20MetaData.ABI instead. -var MockERC20ABI = MockERC20MetaData.ABI - -// MockERC20Bin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use MockERC20MetaData.Bin instead. -var MockERC20Bin = MockERC20MetaData.Bin - -// DeployMockERC20 deploys a new Ethereum contract, binding an instance of MockERC20 to it. -func DeployMockERC20(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MockERC20, error) { - parsed, err := MockERC20MetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MockERC20Bin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &MockERC20{MockERC20Caller: MockERC20Caller{contract: contract}, MockERC20Transactor: MockERC20Transactor{contract: contract}, MockERC20Filterer: MockERC20Filterer{contract: contract}}, nil -} - -// MockERC20 is an auto generated Go binding around an Ethereum contract. -type MockERC20 struct { - MockERC20Caller // Read-only binding to the contract - MockERC20Transactor // Write-only binding to the contract - MockERC20Filterer // Log filterer for contract events -} - -// MockERC20Caller is an auto generated read-only Go binding around an Ethereum contract. -type MockERC20Caller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// MockERC20Transactor is an auto generated write-only Go binding around an Ethereum contract. -type MockERC20Transactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// MockERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events. -type MockERC20Filterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// MockERC20Session is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type MockERC20Session struct { - Contract *MockERC20 // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// MockERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type MockERC20CallerSession struct { - Contract *MockERC20Caller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// MockERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type MockERC20TransactorSession struct { - Contract *MockERC20Transactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// MockERC20Raw is an auto generated low-level Go binding around an Ethereum contract. -type MockERC20Raw struct { - Contract *MockERC20 // Generic contract binding to access the raw methods on -} - -// MockERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type MockERC20CallerRaw struct { - Contract *MockERC20Caller // Generic read-only contract binding to access the raw methods on -} - -// MockERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type MockERC20TransactorRaw struct { - Contract *MockERC20Transactor // Generic write-only contract binding to access the raw methods on -} - -// NewMockERC20 creates a new instance of MockERC20, bound to a specific deployed contract. -func NewMockERC20(address common.Address, backend bind.ContractBackend) (*MockERC20, error) { - contract, err := bindMockERC20(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &MockERC20{MockERC20Caller: MockERC20Caller{contract: contract}, MockERC20Transactor: MockERC20Transactor{contract: contract}, MockERC20Filterer: MockERC20Filterer{contract: contract}}, nil -} - -// NewMockERC20Caller creates a new read-only instance of MockERC20, bound to a specific deployed contract. -func NewMockERC20Caller(address common.Address, caller bind.ContractCaller) (*MockERC20Caller, error) { - contract, err := bindMockERC20(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &MockERC20Caller{contract: contract}, nil -} - -// NewMockERC20Transactor creates a new write-only instance of MockERC20, bound to a specific deployed contract. -func NewMockERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*MockERC20Transactor, error) { - contract, err := bindMockERC20(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &MockERC20Transactor{contract: contract}, nil -} - -// NewMockERC20Filterer creates a new log filterer instance of MockERC20, bound to a specific deployed contract. -func NewMockERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*MockERC20Filterer, error) { - contract, err := bindMockERC20(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &MockERC20Filterer{contract: contract}, nil -} - -// bindMockERC20 binds a generic wrapper to an already deployed contract. -func bindMockERC20(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := MockERC20MetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_MockERC20 *MockERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _MockERC20.Contract.MockERC20Caller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_MockERC20 *MockERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _MockERC20.Contract.MockERC20Transactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_MockERC20 *MockERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _MockERC20.Contract.MockERC20Transactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_MockERC20 *MockERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _MockERC20.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_MockERC20 *MockERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _MockERC20.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_MockERC20 *MockERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _MockERC20.Contract.contract.Transact(opts, method, params...) -} - -// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. -// -// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) -func (_MockERC20 *MockERC20Caller) DOMAINSEPARATOR(opts *bind.CallOpts) ([32]byte, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "DOMAIN_SEPARATOR") - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. -// -// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) -func (_MockERC20 *MockERC20Session) DOMAINSEPARATOR() ([32]byte, error) { - return _MockERC20.Contract.DOMAINSEPARATOR(&_MockERC20.CallOpts) -} - -// DOMAINSEPARATOR is a free data retrieval call binding the contract method 0x3644e515. -// -// Solidity: function DOMAIN_SEPARATOR() view returns(bytes32) -func (_MockERC20 *MockERC20CallerSession) DOMAINSEPARATOR() ([32]byte, error) { - return _MockERC20.Contract.DOMAINSEPARATOR(&_MockERC20.CallOpts) -} - -// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. -// -// Solidity: function allowance(address owner, address spender) view returns(uint256) -func (_MockERC20 *MockERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "allowance", owner, spender) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. -// -// Solidity: function allowance(address owner, address spender) view returns(uint256) -func (_MockERC20 *MockERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { - return _MockERC20.Contract.Allowance(&_MockERC20.CallOpts, owner, spender) -} - -// Allowance is a free data retrieval call binding the contract method 0xdd62ed3e. -// -// Solidity: function allowance(address owner, address spender) view returns(uint256) -func (_MockERC20 *MockERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error) { - return _MockERC20.Contract.Allowance(&_MockERC20.CallOpts, owner, spender) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address owner) view returns(uint256) -func (_MockERC20 *MockERC20Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "balanceOf", owner) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address owner) view returns(uint256) -func (_MockERC20 *MockERC20Session) BalanceOf(owner common.Address) (*big.Int, error) { - return _MockERC20.Contract.BalanceOf(&_MockERC20.CallOpts, owner) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address owner) view returns(uint256) -func (_MockERC20 *MockERC20CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { - return _MockERC20.Contract.BalanceOf(&_MockERC20.CallOpts, owner) -} - -// Decimals is a free data retrieval call binding the contract method 0x313ce567. -// -// Solidity: function decimals() view returns(uint8) -func (_MockERC20 *MockERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "decimals") - - if err != nil { - return *new(uint8), err - } - - out0 := *abi.ConvertType(out[0], new(uint8)).(*uint8) - - return out0, err - -} - -// Decimals is a free data retrieval call binding the contract method 0x313ce567. -// -// Solidity: function decimals() view returns(uint8) -func (_MockERC20 *MockERC20Session) Decimals() (uint8, error) { - return _MockERC20.Contract.Decimals(&_MockERC20.CallOpts) -} - -// Decimals is a free data retrieval call binding the contract method 0x313ce567. -// -// Solidity: function decimals() view returns(uint8) -func (_MockERC20 *MockERC20CallerSession) Decimals() (uint8, error) { - return _MockERC20.Contract.Decimals(&_MockERC20.CallOpts) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_MockERC20 *MockERC20Caller) Name(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "name") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_MockERC20 *MockERC20Session) Name() (string, error) { - return _MockERC20.Contract.Name(&_MockERC20.CallOpts) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_MockERC20 *MockERC20CallerSession) Name() (string, error) { - return _MockERC20.Contract.Name(&_MockERC20.CallOpts) -} - -// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. -// -// Solidity: function nonces(address ) view returns(uint256) -func (_MockERC20 *MockERC20Caller) Nonces(opts *bind.CallOpts, arg0 common.Address) (*big.Int, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "nonces", arg0) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. -// -// Solidity: function nonces(address ) view returns(uint256) -func (_MockERC20 *MockERC20Session) Nonces(arg0 common.Address) (*big.Int, error) { - return _MockERC20.Contract.Nonces(&_MockERC20.CallOpts, arg0) -} - -// Nonces is a free data retrieval call binding the contract method 0x7ecebe00. -// -// Solidity: function nonces(address ) view returns(uint256) -func (_MockERC20 *MockERC20CallerSession) Nonces(arg0 common.Address) (*big.Int, error) { - return _MockERC20.Contract.Nonces(&_MockERC20.CallOpts, arg0) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_MockERC20 *MockERC20Caller) Symbol(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "symbol") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_MockERC20 *MockERC20Session) Symbol() (string, error) { - return _MockERC20.Contract.Symbol(&_MockERC20.CallOpts) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_MockERC20 *MockERC20CallerSession) Symbol() (string, error) { - return _MockERC20.Contract.Symbol(&_MockERC20.CallOpts) -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_MockERC20 *MockERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _MockERC20.contract.Call(opts, &out, "totalSupply") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_MockERC20 *MockERC20Session) TotalSupply() (*big.Int, error) { - return _MockERC20.Contract.TotalSupply(&_MockERC20.CallOpts) -} - -// TotalSupply is a free data retrieval call binding the contract method 0x18160ddd. -// -// Solidity: function totalSupply() view returns(uint256) -func (_MockERC20 *MockERC20CallerSession) TotalSupply() (*big.Int, error) { - return _MockERC20.Contract.TotalSupply(&_MockERC20.CallOpts) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.contract.Transact(opts, "approve", spender, amount) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20Session) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.Contract.Approve(&_MockERC20.TransactOpts, spender, amount) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20TransactorSession) Approve(spender common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.Contract.Approve(&_MockERC20.TransactOpts, spender, amount) -} - -// Initialize is a paid mutator transaction binding the contract method 0x1624f6c6. -// -// Solidity: function initialize(string name_, string symbol_, uint8 decimals_) returns() -func (_MockERC20 *MockERC20Transactor) Initialize(opts *bind.TransactOpts, name_ string, symbol_ string, decimals_ uint8) (*types.Transaction, error) { - return _MockERC20.contract.Transact(opts, "initialize", name_, symbol_, decimals_) -} - -// Initialize is a paid mutator transaction binding the contract method 0x1624f6c6. -// -// Solidity: function initialize(string name_, string symbol_, uint8 decimals_) returns() -func (_MockERC20 *MockERC20Session) Initialize(name_ string, symbol_ string, decimals_ uint8) (*types.Transaction, error) { - return _MockERC20.Contract.Initialize(&_MockERC20.TransactOpts, name_, symbol_, decimals_) -} - -// Initialize is a paid mutator transaction binding the contract method 0x1624f6c6. -// -// Solidity: function initialize(string name_, string symbol_, uint8 decimals_) returns() -func (_MockERC20 *MockERC20TransactorSession) Initialize(name_ string, symbol_ string, decimals_ uint8) (*types.Transaction, error) { - return _MockERC20.Contract.Initialize(&_MockERC20.TransactOpts, name_, symbol_, decimals_) -} - -// Permit is a paid mutator transaction binding the contract method 0xd505accf. -// -// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() -func (_MockERC20 *MockERC20Transactor) Permit(opts *bind.TransactOpts, owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { - return _MockERC20.contract.Transact(opts, "permit", owner, spender, value, deadline, v, r, s) -} - -// Permit is a paid mutator transaction binding the contract method 0xd505accf. -// -// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() -func (_MockERC20 *MockERC20Session) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { - return _MockERC20.Contract.Permit(&_MockERC20.TransactOpts, owner, spender, value, deadline, v, r, s) -} - -// Permit is a paid mutator transaction binding the contract method 0xd505accf. -// -// Solidity: function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) returns() -func (_MockERC20 *MockERC20TransactorSession) Permit(owner common.Address, spender common.Address, value *big.Int, deadline *big.Int, v uint8, r [32]byte, s [32]byte) (*types.Transaction, error) { - return _MockERC20.Contract.Permit(&_MockERC20.TransactOpts, owner, spender, value, deadline, v, r, s) -} - -// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. -// -// Solidity: function transfer(address to, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.contract.Transact(opts, "transfer", to, amount) -} - -// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. -// -// Solidity: function transfer(address to, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20Session) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.Contract.Transfer(&_MockERC20.TransactOpts, to, amount) -} - -// Transfer is a paid mutator transaction binding the contract method 0xa9059cbb. -// -// Solidity: function transfer(address to, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20TransactorSession) Transfer(to common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.Contract.Transfer(&_MockERC20.TransactOpts, to, amount) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.contract.Transact(opts, "transferFrom", from, to, amount) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20Session) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.Contract.TransferFrom(&_MockERC20.TransactOpts, from, to, amount) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 amount) returns(bool) -func (_MockERC20 *MockERC20TransactorSession) TransferFrom(from common.Address, to common.Address, amount *big.Int) (*types.Transaction, error) { - return _MockERC20.Contract.TransferFrom(&_MockERC20.TransactOpts, from, to, amount) -} - -// MockERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the MockERC20 contract. -type MockERC20ApprovalIterator struct { - Event *MockERC20Approval // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *MockERC20ApprovalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(MockERC20Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(MockERC20Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *MockERC20ApprovalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *MockERC20ApprovalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// MockERC20Approval represents a Approval event raised by the MockERC20 contract. -type MockERC20Approval struct { - Owner common.Address - Spender common.Address - Value *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) -func (_MockERC20 *MockERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*MockERC20ApprovalIterator, error) { - - var ownerRule []interface{} - for _, ownerItem := range owner { - ownerRule = append(ownerRule, ownerItem) - } - var spenderRule []interface{} - for _, spenderItem := range spender { - spenderRule = append(spenderRule, spenderItem) - } - - logs, sub, err := _MockERC20.contract.FilterLogs(opts, "Approval", ownerRule, spenderRule) - if err != nil { - return nil, err - } - return &MockERC20ApprovalIterator{contract: _MockERC20.contract, event: "Approval", logs: logs, sub: sub}, nil -} - -// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) -func (_MockERC20 *MockERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *MockERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error) { - - var ownerRule []interface{} - for _, ownerItem := range owner { - ownerRule = append(ownerRule, ownerItem) - } - var spenderRule []interface{} - for _, spenderItem := range spender { - spenderRule = append(spenderRule, spenderItem) - } - - logs, sub, err := _MockERC20.contract.WatchLogs(opts, "Approval", ownerRule, spenderRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(MockERC20Approval) - if err := _MockERC20.contract.UnpackLog(event, "Approval", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed owner, address indexed spender, uint256 value) -func (_MockERC20 *MockERC20Filterer) ParseApproval(log types.Log) (*MockERC20Approval, error) { - event := new(MockERC20Approval) - if err := _MockERC20.contract.UnpackLog(event, "Approval", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// MockERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the MockERC20 contract. -type MockERC20TransferIterator struct { - Event *MockERC20Transfer // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *MockERC20TransferIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(MockERC20Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(MockERC20Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *MockERC20TransferIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *MockERC20TransferIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// MockERC20Transfer represents a Transfer event raised by the MockERC20 contract. -type MockERC20Transfer struct { - From common.Address - To common.Address - Value *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) -func (_MockERC20 *MockERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*MockERC20TransferIterator, error) { - - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _MockERC20.contract.FilterLogs(opts, "Transfer", fromRule, toRule) - if err != nil { - return nil, err - } - return &MockERC20TransferIterator{contract: _MockERC20.contract, event: "Transfer", logs: logs, sub: sub}, nil -} - -// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) -func (_MockERC20 *MockERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MockERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error) { - - var fromRule []interface{} - for _, fromItem := range from { - fromRule = append(fromRule, fromItem) - } - var toRule []interface{} - for _, toItem := range to { - toRule = append(toRule, toItem) - } - - logs, sub, err := _MockERC20.contract.WatchLogs(opts, "Transfer", fromRule, toRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(MockERC20Transfer) - if err := _MockERC20.contract.UnpackLog(event, "Transfer", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed from, address indexed to, uint256 value) -func (_MockERC20 *MockERC20Filterer) ParseTransfer(log types.Log) (*MockERC20Transfer, error) { - event := new(MockERC20Transfer) - if err := _MockERC20.contract.UnpackLog(event, "Transfer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/mocks/mockerc721.sol/mockerc721.go b/pkg/forge-std/mocks/mockerc721.sol/mockerc721.go deleted file mode 100644 index 641085b4..00000000 --- a/pkg/forge-std/mocks/mockerc721.sol/mockerc721.go +++ /dev/null @@ -1,1055 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package mockerc721 - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// MockERC721MetaData contains all meta data concerning the MockERC721 contract. -var MockERC721MetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]", - Bin: "0x608060405234801561001057600080fd5b50611e69806100206000396000f3fe6080604052600436106100dd5760003560e01c80636352211e1161007f578063a22cb46511610059578063a22cb465146102a9578063b88d4fde146102d2578063c87b56dd146102ee578063e985e9c51461032b576100dd565b80636352211e1461020457806370a082311461024157806395d89b411461027e576100dd565b8063095ea7b3116100bb578063095ea7b31461018757806323b872dd146101a357806342842e0e146101bf5780634cd88b76146101db576100dd565b806301ffc9a7146100e257806306fdde031461011f578063081812fc1461014a575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190611519565b610368565b6040516101169190611880565b60405180910390f35b34801561012b57600080fd5b506101346103fa565b604051610141919061189b565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c91906115eb565b61048c565b60405161017e91906117cf565b60405180910390f35b6101a1600480360381019061019c91906114d9565b6104c9565b005b6101bd60048036038101906101b891906113c3565b6106b2565b005b6101d960048036038101906101d491906113c3565b610abd565b005b3480156101e757600080fd5b5061020260048036038101906101fd9190611573565b610bf3565b005b34801561021057600080fd5b5061022b600480360381019061022691906115eb565b610c90565b60405161023891906117cf565b60405180910390f35b34801561024d57600080fd5b5061026860048036038101906102639190611356565b610d3c565b604051610275919061199d565b60405180910390f35b34801561028a57600080fd5b50610293610df4565b6040516102a0919061189b565b60405180910390f35b3480156102b557600080fd5b506102d060048036038101906102cb9190611499565b610e86565b005b6102ec60048036038101906102e79190611416565b610f83565b005b3480156102fa57600080fd5b50610315600480360381019061031091906115eb565b6110bc565b604051610322919061189b565b60405180910390f35b34801561033757600080fd5b50610352600480360381019061034d9190611383565b6110c3565b60405161035f9190611880565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103c357506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806103f35750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60606000805461040990611b57565b80601f016020809104026020016040519081016040528092919081815260200182805461043590611b57565b80156104825780601f1061045757610100808354040283529160200191610482565b820191906000526020600020905b81548152906001019060200180831161046557829003601f168201915b5050505050905090565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105c15750600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105f79061193d565b60405180910390fd5b826004600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6002600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a9061197d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ba906118dd565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108835750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806108ec57506004600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61092b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109229061193d565b60405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061097b90611b2d565b9190505550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906109d090611bba565b9190505550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b610ac88383836106b2565b610ad182611157565b1580610baf575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b8152600401610b3c93929190611836565b602060405180830381600087803b158015610b5657600080fd5b505af1158015610b6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8e9190611546565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b610bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be59061191d565b60405180910390fd5b505050565b600660009054906101000a900460ff1615610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a906118bd565b60405180910390fd5b8160009080519060200190610c5992919061116a565b508060019080519060200190610c7092919061116a565b506001600660006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff161415610d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2e9061195d565b60405180910390fd5b919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da4906118fd565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060018054610e0390611b57565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2f90611b57565b8015610e7c5780601f10610e5157610100808354040283529160200191610e7c565b820191906000526020600020905b815481529060010190602001808311610e5f57829003601f168201915b5050505050905090565b80600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610f779190611880565b60405180910390a35050565b610f8e8484846106b2565b610f9783611157565b1580611077575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168373ffffffffffffffffffffffffffffffffffffffff1663150b7a02338786866040518563ffffffff1660e01b815260040161100494939291906117ea565b602060405180830381600087803b15801561101e57600080fd5b505af1158015611032573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110569190611546565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b6110b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ad9061191d565b60405180910390fd5b50505050565b6060919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080823b905060008111915050919050565b82805461117690611b57565b90600052602060002090601f01602090048101928261119857600085556111df565b82601f106111b157805160ff19168380011785556111df565b828001600101855582156111df579182015b828111156111de5782518255916020019190600101906111c3565b5b5090506111ec91906111f0565b5090565b5b808211156112095760008160009055506001016111f1565b5090565b600061122061121b846119dd565b6119b8565b90508281526020810184848401111561123c5761123b611c95565b5b611247848285611aeb565b509392505050565b600061126261125d84611a0e565b6119b8565b90508281526020810184848401111561127e5761127d611c95565b5b611289848285611aeb565b509392505050565b6000813590506112a081611dd7565b92915050565b6000813590506112b581611dee565b92915050565b6000813590506112ca81611e05565b92915050565b6000815190506112df81611e05565b92915050565b600082601f8301126112fa576112f9611c90565b5b813561130a84826020860161120d565b91505092915050565b600082601f83011261132857611327611c90565b5b813561133884826020860161124f565b91505092915050565b60008135905061135081611e1c565b92915050565b60006020828403121561136c5761136b611c9f565b5b600061137a84828501611291565b91505092915050565b6000806040838503121561139a57611399611c9f565b5b60006113a885828601611291565b92505060206113b985828601611291565b9150509250929050565b6000806000606084860312156113dc576113db611c9f565b5b60006113ea86828701611291565b93505060206113fb86828701611291565b925050604061140c86828701611341565b9150509250925092565b600080600080608085870312156114305761142f611c9f565b5b600061143e87828801611291565b945050602061144f87828801611291565b935050604061146087828801611341565b925050606085013567ffffffffffffffff81111561148157611480611c9a565b5b61148d878288016112e5565b91505092959194509250565b600080604083850312156114b0576114af611c9f565b5b60006114be85828601611291565b92505060206114cf858286016112a6565b9150509250929050565b600080604083850312156114f0576114ef611c9f565b5b60006114fe85828601611291565b925050602061150f85828601611341565b9150509250929050565b60006020828403121561152f5761152e611c9f565b5b600061153d848285016112bb565b91505092915050565b60006020828403121561155c5761155b611c9f565b5b600061156a848285016112d0565b91505092915050565b6000806040838503121561158a57611589611c9f565b5b600083013567ffffffffffffffff8111156115a8576115a7611c9a565b5b6115b485828601611313565b925050602083013567ffffffffffffffff8111156115d5576115d4611c9a565b5b6115e185828601611313565b9150509250929050565b60006020828403121561160157611600611c9f565b5b600061160f84828501611341565b91505092915050565b61162181611a77565b82525050565b61163081611a89565b82525050565b600061164182611a3f565b61164b8185611a55565b935061165b818560208601611afa565b61166481611ca4565b840191505092915050565b600061167a82611a4a565b6116848185611a66565b9350611694818560208601611afa565b61169d81611ca4565b840191505092915050565b60006116b5601383611a66565b91506116c082611cb5565b602082019050919050565b60006116d8601183611a66565b91506116e382611cde565b602082019050919050565b60006116fb600c83611a66565b915061170682611d07565b602082019050919050565b600061171e601083611a66565b915061172982611d30565b602082019050919050565b6000611741600083611a55565b915061174c82611d59565b600082019050919050565b6000611764600e83611a66565b915061176f82611d5c565b602082019050919050565b6000611787600a83611a66565b915061179282611d85565b602082019050919050565b60006117aa600a83611a66565b91506117b582611dae565b602082019050919050565b6117c981611ae1565b82525050565b60006020820190506117e46000830184611618565b92915050565b60006080820190506117ff6000830187611618565b61180c6020830186611618565b61181960408301856117c0565b818103606083015261182b8184611636565b905095945050505050565b600060808201905061184b6000830186611618565b6118586020830185611618565b61186560408301846117c0565b818103606083015261187681611734565b9050949350505050565b60006020820190506118956000830184611627565b92915050565b600060208201905081810360008301526118b5818461166f565b905092915050565b600060208201905081810360008301526118d6816116a8565b9050919050565b600060208201905081810360008301526118f6816116cb565b9050919050565b60006020820190508181036000830152611916816116ee565b9050919050565b6000602082019050818103600083015261193681611711565b9050919050565b6000602082019050818103600083015261195681611757565b9050919050565b600060208201905081810360008301526119768161177a565b9050919050565b600060208201905081810360008301526119968161179d565b9050919050565b60006020820190506119b260008301846117c0565b92915050565b60006119c26119d3565b90506119ce8282611b89565b919050565b6000604051905090565b600067ffffffffffffffff8211156119f8576119f7611c61565b5b611a0182611ca4565b9050602081019050919050565b600067ffffffffffffffff821115611a2957611a28611c61565b5b611a3282611ca4565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611a8282611ac1565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015611b18578082015181840152602081019050611afd565b83811115611b27576000848401525b50505050565b6000611b3882611ae1565b91506000821415611b4c57611b4b611c03565b5b600182039050919050565b60006002820490506001821680611b6f57607f821691505b60208210811415611b8357611b82611c32565b5b50919050565b611b9282611ca4565b810181811067ffffffffffffffff82111715611bb157611bb0611c61565b5b80604052505050565b6000611bc582611ae1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611bf857611bf7611c03565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f414c52454144595f494e495449414c495a454400000000000000000000000000600082015250565b7f494e56414c49445f524543495049454e54000000000000000000000000000000600082015250565b7f5a45524f5f414444524553530000000000000000000000000000000000000000600082015250565b7f554e534146455f524543495049454e5400000000000000000000000000000000600082015250565b50565b7f4e4f545f415554484f52495a4544000000000000000000000000000000000000600082015250565b7f4e4f545f4d494e54454400000000000000000000000000000000000000000000600082015250565b7f57524f4e475f46524f4d00000000000000000000000000000000000000000000600082015250565b611de081611a77565b8114611deb57600080fd5b50565b611df781611a89565b8114611e0257600080fd5b50565b611e0e81611a95565b8114611e1957600080fd5b50565b611e2581611ae1565b8114611e3057600080fd5b5056fea264697066735822122096b381bcc1d3bc0c5ed578328f1d7697016e32ad0e05efb995b62d3457df066664736f6c63430008070033", -} - -// MockERC721ABI is the input ABI used to generate the binding from. -// Deprecated: Use MockERC721MetaData.ABI instead. -var MockERC721ABI = MockERC721MetaData.ABI - -// MockERC721Bin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use MockERC721MetaData.Bin instead. -var MockERC721Bin = MockERC721MetaData.Bin - -// DeployMockERC721 deploys a new Ethereum contract, binding an instance of MockERC721 to it. -func DeployMockERC721(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *MockERC721, error) { - parsed, err := MockERC721MetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(MockERC721Bin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &MockERC721{MockERC721Caller: MockERC721Caller{contract: contract}, MockERC721Transactor: MockERC721Transactor{contract: contract}, MockERC721Filterer: MockERC721Filterer{contract: contract}}, nil -} - -// MockERC721 is an auto generated Go binding around an Ethereum contract. -type MockERC721 struct { - MockERC721Caller // Read-only binding to the contract - MockERC721Transactor // Write-only binding to the contract - MockERC721Filterer // Log filterer for contract events -} - -// MockERC721Caller is an auto generated read-only Go binding around an Ethereum contract. -type MockERC721Caller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// MockERC721Transactor is an auto generated write-only Go binding around an Ethereum contract. -type MockERC721Transactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// MockERC721Filterer is an auto generated log filtering Go binding around an Ethereum contract events. -type MockERC721Filterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// MockERC721Session is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type MockERC721Session struct { - Contract *MockERC721 // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// MockERC721CallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type MockERC721CallerSession struct { - Contract *MockERC721Caller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// MockERC721TransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type MockERC721TransactorSession struct { - Contract *MockERC721Transactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// MockERC721Raw is an auto generated low-level Go binding around an Ethereum contract. -type MockERC721Raw struct { - Contract *MockERC721 // Generic contract binding to access the raw methods on -} - -// MockERC721CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type MockERC721CallerRaw struct { - Contract *MockERC721Caller // Generic read-only contract binding to access the raw methods on -} - -// MockERC721TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type MockERC721TransactorRaw struct { - Contract *MockERC721Transactor // Generic write-only contract binding to access the raw methods on -} - -// NewMockERC721 creates a new instance of MockERC721, bound to a specific deployed contract. -func NewMockERC721(address common.Address, backend bind.ContractBackend) (*MockERC721, error) { - contract, err := bindMockERC721(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &MockERC721{MockERC721Caller: MockERC721Caller{contract: contract}, MockERC721Transactor: MockERC721Transactor{contract: contract}, MockERC721Filterer: MockERC721Filterer{contract: contract}}, nil -} - -// NewMockERC721Caller creates a new read-only instance of MockERC721, bound to a specific deployed contract. -func NewMockERC721Caller(address common.Address, caller bind.ContractCaller) (*MockERC721Caller, error) { - contract, err := bindMockERC721(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &MockERC721Caller{contract: contract}, nil -} - -// NewMockERC721Transactor creates a new write-only instance of MockERC721, bound to a specific deployed contract. -func NewMockERC721Transactor(address common.Address, transactor bind.ContractTransactor) (*MockERC721Transactor, error) { - contract, err := bindMockERC721(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &MockERC721Transactor{contract: contract}, nil -} - -// NewMockERC721Filterer creates a new log filterer instance of MockERC721, bound to a specific deployed contract. -func NewMockERC721Filterer(address common.Address, filterer bind.ContractFilterer) (*MockERC721Filterer, error) { - contract, err := bindMockERC721(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &MockERC721Filterer{contract: contract}, nil -} - -// bindMockERC721 binds a generic wrapper to an already deployed contract. -func bindMockERC721(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := MockERC721MetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_MockERC721 *MockERC721Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _MockERC721.Contract.MockERC721Caller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_MockERC721 *MockERC721Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _MockERC721.Contract.MockERC721Transactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_MockERC721 *MockERC721Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _MockERC721.Contract.MockERC721Transactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_MockERC721 *MockERC721CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _MockERC721.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_MockERC721 *MockERC721TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _MockERC721.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_MockERC721 *MockERC721TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _MockERC721.Contract.contract.Transact(opts, method, params...) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address owner) view returns(uint256) -func (_MockERC721 *MockERC721Caller) BalanceOf(opts *bind.CallOpts, owner common.Address) (*big.Int, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "balanceOf", owner) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address owner) view returns(uint256) -func (_MockERC721 *MockERC721Session) BalanceOf(owner common.Address) (*big.Int, error) { - return _MockERC721.Contract.BalanceOf(&_MockERC721.CallOpts, owner) -} - -// BalanceOf is a free data retrieval call binding the contract method 0x70a08231. -// -// Solidity: function balanceOf(address owner) view returns(uint256) -func (_MockERC721 *MockERC721CallerSession) BalanceOf(owner common.Address) (*big.Int, error) { - return _MockERC721.Contract.BalanceOf(&_MockERC721.CallOpts, owner) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 id) view returns(address) -func (_MockERC721 *MockERC721Caller) GetApproved(opts *bind.CallOpts, id *big.Int) (common.Address, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "getApproved", id) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 id) view returns(address) -func (_MockERC721 *MockERC721Session) GetApproved(id *big.Int) (common.Address, error) { - return _MockERC721.Contract.GetApproved(&_MockERC721.CallOpts, id) -} - -// GetApproved is a free data retrieval call binding the contract method 0x081812fc. -// -// Solidity: function getApproved(uint256 id) view returns(address) -func (_MockERC721 *MockERC721CallerSession) GetApproved(id *big.Int) (common.Address, error) { - return _MockERC721.Contract.GetApproved(&_MockERC721.CallOpts, id) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) -func (_MockERC721 *MockERC721Caller) IsApprovedForAll(opts *bind.CallOpts, owner common.Address, operator common.Address) (bool, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "isApprovedForAll", owner, operator) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) -func (_MockERC721 *MockERC721Session) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { - return _MockERC721.Contract.IsApprovedForAll(&_MockERC721.CallOpts, owner, operator) -} - -// IsApprovedForAll is a free data retrieval call binding the contract method 0xe985e9c5. -// -// Solidity: function isApprovedForAll(address owner, address operator) view returns(bool) -func (_MockERC721 *MockERC721CallerSession) IsApprovedForAll(owner common.Address, operator common.Address) (bool, error) { - return _MockERC721.Contract.IsApprovedForAll(&_MockERC721.CallOpts, owner, operator) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_MockERC721 *MockERC721Caller) Name(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "name") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_MockERC721 *MockERC721Session) Name() (string, error) { - return _MockERC721.Contract.Name(&_MockERC721.CallOpts) -} - -// Name is a free data retrieval call binding the contract method 0x06fdde03. -// -// Solidity: function name() view returns(string) -func (_MockERC721 *MockERC721CallerSession) Name() (string, error) { - return _MockERC721.Contract.Name(&_MockERC721.CallOpts) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 id) view returns(address owner) -func (_MockERC721 *MockERC721Caller) OwnerOf(opts *bind.CallOpts, id *big.Int) (common.Address, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "ownerOf", id) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 id) view returns(address owner) -func (_MockERC721 *MockERC721Session) OwnerOf(id *big.Int) (common.Address, error) { - return _MockERC721.Contract.OwnerOf(&_MockERC721.CallOpts, id) -} - -// OwnerOf is a free data retrieval call binding the contract method 0x6352211e. -// -// Solidity: function ownerOf(uint256 id) view returns(address owner) -func (_MockERC721 *MockERC721CallerSession) OwnerOf(id *big.Int) (common.Address, error) { - return _MockERC721.Contract.OwnerOf(&_MockERC721.CallOpts, id) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) -func (_MockERC721 *MockERC721Caller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "supportsInterface", interfaceId) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) -func (_MockERC721 *MockERC721Session) SupportsInterface(interfaceId [4]byte) (bool, error) { - return _MockERC721.Contract.SupportsInterface(&_MockERC721.CallOpts, interfaceId) -} - -// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. -// -// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) -func (_MockERC721 *MockERC721CallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { - return _MockERC721.Contract.SupportsInterface(&_MockERC721.CallOpts, interfaceId) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_MockERC721 *MockERC721Caller) Symbol(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "symbol") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_MockERC721 *MockERC721Session) Symbol() (string, error) { - return _MockERC721.Contract.Symbol(&_MockERC721.CallOpts) -} - -// Symbol is a free data retrieval call binding the contract method 0x95d89b41. -// -// Solidity: function symbol() view returns(string) -func (_MockERC721 *MockERC721CallerSession) Symbol() (string, error) { - return _MockERC721.Contract.Symbol(&_MockERC721.CallOpts) -} - -// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. -// -// Solidity: function tokenURI(uint256 id) view returns(string) -func (_MockERC721 *MockERC721Caller) TokenURI(opts *bind.CallOpts, id *big.Int) (string, error) { - var out []interface{} - err := _MockERC721.contract.Call(opts, &out, "tokenURI", id) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. -// -// Solidity: function tokenURI(uint256 id) view returns(string) -func (_MockERC721 *MockERC721Session) TokenURI(id *big.Int) (string, error) { - return _MockERC721.Contract.TokenURI(&_MockERC721.CallOpts, id) -} - -// TokenURI is a free data retrieval call binding the contract method 0xc87b56dd. -// -// Solidity: function tokenURI(uint256 id) view returns(string) -func (_MockERC721 *MockERC721CallerSession) TokenURI(id *big.Int) (string, error) { - return _MockERC721.Contract.TokenURI(&_MockERC721.CallOpts, id) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 id) payable returns() -func (_MockERC721 *MockERC721Transactor) Approve(opts *bind.TransactOpts, spender common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.contract.Transact(opts, "approve", spender, id) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 id) payable returns() -func (_MockERC721 *MockERC721Session) Approve(spender common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.Contract.Approve(&_MockERC721.TransactOpts, spender, id) -} - -// Approve is a paid mutator transaction binding the contract method 0x095ea7b3. -// -// Solidity: function approve(address spender, uint256 id) payable returns() -func (_MockERC721 *MockERC721TransactorSession) Approve(spender common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.Contract.Approve(&_MockERC721.TransactOpts, spender, id) -} - -// Initialize is a paid mutator transaction binding the contract method 0x4cd88b76. -// -// Solidity: function initialize(string name_, string symbol_) returns() -func (_MockERC721 *MockERC721Transactor) Initialize(opts *bind.TransactOpts, name_ string, symbol_ string) (*types.Transaction, error) { - return _MockERC721.contract.Transact(opts, "initialize", name_, symbol_) -} - -// Initialize is a paid mutator transaction binding the contract method 0x4cd88b76. -// -// Solidity: function initialize(string name_, string symbol_) returns() -func (_MockERC721 *MockERC721Session) Initialize(name_ string, symbol_ string) (*types.Transaction, error) { - return _MockERC721.Contract.Initialize(&_MockERC721.TransactOpts, name_, symbol_) -} - -// Initialize is a paid mutator transaction binding the contract method 0x4cd88b76. -// -// Solidity: function initialize(string name_, string symbol_) returns() -func (_MockERC721 *MockERC721TransactorSession) Initialize(name_ string, symbol_ string) (*types.Transaction, error) { - return _MockERC721.Contract.Initialize(&_MockERC721.TransactOpts, name_, symbol_) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address from, address to, uint256 id) payable returns() -func (_MockERC721 *MockERC721Transactor) SafeTransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.contract.Transact(opts, "safeTransferFrom", from, to, id) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address from, address to, uint256 id) payable returns() -func (_MockERC721 *MockERC721Session) SafeTransferFrom(from common.Address, to common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.Contract.SafeTransferFrom(&_MockERC721.TransactOpts, from, to, id) -} - -// SafeTransferFrom is a paid mutator transaction binding the contract method 0x42842e0e. -// -// Solidity: function safeTransferFrom(address from, address to, uint256 id) payable returns() -func (_MockERC721 *MockERC721TransactorSession) SafeTransferFrom(from common.Address, to common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.Contract.SafeTransferFrom(&_MockERC721.TransactOpts, from, to, id) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address from, address to, uint256 id, bytes data) payable returns() -func (_MockERC721 *MockERC721Transactor) SafeTransferFrom0(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int, data []byte) (*types.Transaction, error) { - return _MockERC721.contract.Transact(opts, "safeTransferFrom0", from, to, id, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address from, address to, uint256 id, bytes data) payable returns() -func (_MockERC721 *MockERC721Session) SafeTransferFrom0(from common.Address, to common.Address, id *big.Int, data []byte) (*types.Transaction, error) { - return _MockERC721.Contract.SafeTransferFrom0(&_MockERC721.TransactOpts, from, to, id, data) -} - -// SafeTransferFrom0 is a paid mutator transaction binding the contract method 0xb88d4fde. -// -// Solidity: function safeTransferFrom(address from, address to, uint256 id, bytes data) payable returns() -func (_MockERC721 *MockERC721TransactorSession) SafeTransferFrom0(from common.Address, to common.Address, id *big.Int, data []byte) (*types.Transaction, error) { - return _MockERC721.Contract.SafeTransferFrom0(&_MockERC721.TransactOpts, from, to, id, data) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address operator, bool approved) returns() -func (_MockERC721 *MockERC721Transactor) SetApprovalForAll(opts *bind.TransactOpts, operator common.Address, approved bool) (*types.Transaction, error) { - return _MockERC721.contract.Transact(opts, "setApprovalForAll", operator, approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address operator, bool approved) returns() -func (_MockERC721 *MockERC721Session) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { - return _MockERC721.Contract.SetApprovalForAll(&_MockERC721.TransactOpts, operator, approved) -} - -// SetApprovalForAll is a paid mutator transaction binding the contract method 0xa22cb465. -// -// Solidity: function setApprovalForAll(address operator, bool approved) returns() -func (_MockERC721 *MockERC721TransactorSession) SetApprovalForAll(operator common.Address, approved bool) (*types.Transaction, error) { - return _MockERC721.Contract.SetApprovalForAll(&_MockERC721.TransactOpts, operator, approved) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 id) payable returns() -func (_MockERC721 *MockERC721Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.contract.Transact(opts, "transferFrom", from, to, id) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 id) payable returns() -func (_MockERC721 *MockERC721Session) TransferFrom(from common.Address, to common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.Contract.TransferFrom(&_MockERC721.TransactOpts, from, to, id) -} - -// TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd. -// -// Solidity: function transferFrom(address from, address to, uint256 id) payable returns() -func (_MockERC721 *MockERC721TransactorSession) TransferFrom(from common.Address, to common.Address, id *big.Int) (*types.Transaction, error) { - return _MockERC721.Contract.TransferFrom(&_MockERC721.TransactOpts, from, to, id) -} - -// MockERC721ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the MockERC721 contract. -type MockERC721ApprovalIterator struct { - Event *MockERC721Approval // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *MockERC721ApprovalIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(MockERC721Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(MockERC721Approval) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *MockERC721ApprovalIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *MockERC721ApprovalIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// MockERC721Approval represents a Approval event raised by the MockERC721 contract. -type MockERC721Approval struct { - Owner common.Address - Approved common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_MockERC721 *MockERC721Filterer) FilterApproval(opts *bind.FilterOpts, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (*MockERC721ApprovalIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _MockERC721.contract.FilterLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &MockERC721ApprovalIterator{contract: _MockERC721.contract, event: "Approval", logs: logs, sub: sub}, nil -} - -// WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_MockERC721 *MockERC721Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *MockERC721Approval, _owner []common.Address, _approved []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _approvedRule []interface{} - for _, _approvedItem := range _approved { - _approvedRule = append(_approvedRule, _approvedItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _MockERC721.contract.WatchLogs(opts, "Approval", _ownerRule, _approvedRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(MockERC721Approval) - if err := _MockERC721.contract.UnpackLog(event, "Approval", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925. -// -// Solidity: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId) -func (_MockERC721 *MockERC721Filterer) ParseApproval(log types.Log) (*MockERC721Approval, error) { - event := new(MockERC721Approval) - if err := _MockERC721.contract.UnpackLog(event, "Approval", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// MockERC721ApprovalForAllIterator is returned from FilterApprovalForAll and is used to iterate over the raw logs and unpacked data for ApprovalForAll events raised by the MockERC721 contract. -type MockERC721ApprovalForAllIterator struct { - Event *MockERC721ApprovalForAll // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *MockERC721ApprovalForAllIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(MockERC721ApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(MockERC721ApprovalForAll) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *MockERC721ApprovalForAllIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *MockERC721ApprovalForAllIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// MockERC721ApprovalForAll represents a ApprovalForAll event raised by the MockERC721 contract. -type MockERC721ApprovalForAll struct { - Owner common.Address - Operator common.Address - Approved bool - Raw types.Log // Blockchain specific contextual infos -} - -// FilterApprovalForAll is a free log retrieval operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_MockERC721 *MockERC721Filterer) FilterApprovalForAll(opts *bind.FilterOpts, _owner []common.Address, _operator []common.Address) (*MockERC721ApprovalForAllIterator, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _MockERC721.contract.FilterLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return &MockERC721ApprovalForAllIterator{contract: _MockERC721.contract, event: "ApprovalForAll", logs: logs, sub: sub}, nil -} - -// WatchApprovalForAll is a free log subscription operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_MockERC721 *MockERC721Filterer) WatchApprovalForAll(opts *bind.WatchOpts, sink chan<- *MockERC721ApprovalForAll, _owner []common.Address, _operator []common.Address) (event.Subscription, error) { - - var _ownerRule []interface{} - for _, _ownerItem := range _owner { - _ownerRule = append(_ownerRule, _ownerItem) - } - var _operatorRule []interface{} - for _, _operatorItem := range _operator { - _operatorRule = append(_operatorRule, _operatorItem) - } - - logs, sub, err := _MockERC721.contract.WatchLogs(opts, "ApprovalForAll", _ownerRule, _operatorRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(MockERC721ApprovalForAll) - if err := _MockERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseApprovalForAll is a log parse operation binding the contract event 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31. -// -// Solidity: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved) -func (_MockERC721 *MockERC721Filterer) ParseApprovalForAll(log types.Log) (*MockERC721ApprovalForAll, error) { - event := new(MockERC721ApprovalForAll) - if err := _MockERC721.contract.UnpackLog(event, "ApprovalForAll", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// MockERC721TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the MockERC721 contract. -type MockERC721TransferIterator struct { - Event *MockERC721Transfer // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *MockERC721TransferIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(MockERC721Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(MockERC721Transfer) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *MockERC721TransferIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *MockERC721TransferIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// MockERC721Transfer represents a Transfer event raised by the MockERC721 contract. -type MockERC721Transfer struct { - From common.Address - To common.Address - TokenId *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_MockERC721 *MockERC721Filterer) FilterTransfer(opts *bind.FilterOpts, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (*MockERC721TransferIterator, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _MockERC721.contract.FilterLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return &MockERC721TransferIterator{contract: _MockERC721.contract, event: "Transfer", logs: logs, sub: sub}, nil -} - -// WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_MockERC721 *MockERC721Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *MockERC721Transfer, _from []common.Address, _to []common.Address, _tokenId []*big.Int) (event.Subscription, error) { - - var _fromRule []interface{} - for _, _fromItem := range _from { - _fromRule = append(_fromRule, _fromItem) - } - var _toRule []interface{} - for _, _toItem := range _to { - _toRule = append(_toRule, _toItem) - } - var _tokenIdRule []interface{} - for _, _tokenIdItem := range _tokenId { - _tokenIdRule = append(_tokenIdRule, _tokenIdItem) - } - - logs, sub, err := _MockERC721.contract.WatchLogs(opts, "Transfer", _fromRule, _toRule, _tokenIdRule) - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(MockERC721Transfer) - if err := _MockERC721.contract.UnpackLog(event, "Transfer", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef. -// -// Solidity: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId) -func (_MockERC721 *MockERC721Filterer) ParseTransfer(log types.Log) (*MockERC721Transfer, error) { - event := new(MockERC721Transfer) - if err := _MockERC721.contract.UnpackLog(event, "Transfer", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/safeconsole.sol/safeconsole.go b/pkg/forge-std/safeconsole.sol/safeconsole.go deleted file mode 100644 index 9d42f404..00000000 --- a/pkg/forge-std/safeconsole.sol/safeconsole.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package safeconsole - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// SafeconsoleMetaData contains all meta data concerning the Safeconsole contract. -var SafeconsoleMetaData = &bind.MetaData{ - ABI: "[]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bda7fb78de2addc6c647ae8d0c202408646b0cd7d4e6a0df5ead8a8b63693e8a64736f6c63430008070033", -} - -// SafeconsoleABI is the input ABI used to generate the binding from. -// Deprecated: Use SafeconsoleMetaData.ABI instead. -var SafeconsoleABI = SafeconsoleMetaData.ABI - -// SafeconsoleBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use SafeconsoleMetaData.Bin instead. -var SafeconsoleBin = SafeconsoleMetaData.Bin - -// DeploySafeconsole deploys a new Ethereum contract, binding an instance of Safeconsole to it. -func DeploySafeconsole(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *Safeconsole, error) { - parsed, err := SafeconsoleMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(SafeconsoleBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &Safeconsole{SafeconsoleCaller: SafeconsoleCaller{contract: contract}, SafeconsoleTransactor: SafeconsoleTransactor{contract: contract}, SafeconsoleFilterer: SafeconsoleFilterer{contract: contract}}, nil -} - -// Safeconsole is an auto generated Go binding around an Ethereum contract. -type Safeconsole struct { - SafeconsoleCaller // Read-only binding to the contract - SafeconsoleTransactor // Write-only binding to the contract - SafeconsoleFilterer // Log filterer for contract events -} - -// SafeconsoleCaller is an auto generated read-only Go binding around an Ethereum contract. -type SafeconsoleCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// SafeconsoleTransactor is an auto generated write-only Go binding around an Ethereum contract. -type SafeconsoleTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// SafeconsoleFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type SafeconsoleFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// SafeconsoleSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type SafeconsoleSession struct { - Contract *Safeconsole // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// SafeconsoleCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type SafeconsoleCallerSession struct { - Contract *SafeconsoleCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// SafeconsoleTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type SafeconsoleTransactorSession struct { - Contract *SafeconsoleTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// SafeconsoleRaw is an auto generated low-level Go binding around an Ethereum contract. -type SafeconsoleRaw struct { - Contract *Safeconsole // Generic contract binding to access the raw methods on -} - -// SafeconsoleCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type SafeconsoleCallerRaw struct { - Contract *SafeconsoleCaller // Generic read-only contract binding to access the raw methods on -} - -// SafeconsoleTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type SafeconsoleTransactorRaw struct { - Contract *SafeconsoleTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewSafeconsole creates a new instance of Safeconsole, bound to a specific deployed contract. -func NewSafeconsole(address common.Address, backend bind.ContractBackend) (*Safeconsole, error) { - contract, err := bindSafeconsole(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &Safeconsole{SafeconsoleCaller: SafeconsoleCaller{contract: contract}, SafeconsoleTransactor: SafeconsoleTransactor{contract: contract}, SafeconsoleFilterer: SafeconsoleFilterer{contract: contract}}, nil -} - -// NewSafeconsoleCaller creates a new read-only instance of Safeconsole, bound to a specific deployed contract. -func NewSafeconsoleCaller(address common.Address, caller bind.ContractCaller) (*SafeconsoleCaller, error) { - contract, err := bindSafeconsole(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &SafeconsoleCaller{contract: contract}, nil -} - -// NewSafeconsoleTransactor creates a new write-only instance of Safeconsole, bound to a specific deployed contract. -func NewSafeconsoleTransactor(address common.Address, transactor bind.ContractTransactor) (*SafeconsoleTransactor, error) { - contract, err := bindSafeconsole(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &SafeconsoleTransactor{contract: contract}, nil -} - -// NewSafeconsoleFilterer creates a new log filterer instance of Safeconsole, bound to a specific deployed contract. -func NewSafeconsoleFilterer(address common.Address, filterer bind.ContractFilterer) (*SafeconsoleFilterer, error) { - contract, err := bindSafeconsole(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &SafeconsoleFilterer{contract: contract}, nil -} - -// bindSafeconsole binds a generic wrapper to an already deployed contract. -func bindSafeconsole(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := SafeconsoleMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Safeconsole *SafeconsoleRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Safeconsole.Contract.SafeconsoleCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Safeconsole *SafeconsoleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Safeconsole.Contract.SafeconsoleTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Safeconsole *SafeconsoleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Safeconsole.Contract.SafeconsoleTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Safeconsole *SafeconsoleCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Safeconsole.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Safeconsole *SafeconsoleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Safeconsole.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Safeconsole *SafeconsoleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Safeconsole.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdassertions.sol/stdassertions.go b/pkg/forge-std/stdassertions.sol/stdassertions.go deleted file mode 100644 index c6c42787..00000000 --- a/pkg/forge-std/stdassertions.sol/stdassertions.go +++ /dev/null @@ -1,3173 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdassertions - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdAssertionsMetaData contains all meta data concerning the StdAssertions contract. -var StdAssertionsMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", -} - -// StdAssertionsABI is the input ABI used to generate the binding from. -// Deprecated: Use StdAssertionsMetaData.ABI instead. -var StdAssertionsABI = StdAssertionsMetaData.ABI - -// StdAssertions is an auto generated Go binding around an Ethereum contract. -type StdAssertions struct { - StdAssertionsCaller // Read-only binding to the contract - StdAssertionsTransactor // Write-only binding to the contract - StdAssertionsFilterer // Log filterer for contract events -} - -// StdAssertionsCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdAssertionsCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdAssertionsTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdAssertionsTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdAssertionsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdAssertionsFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdAssertionsSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdAssertionsSession struct { - Contract *StdAssertions // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdAssertionsCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdAssertionsCallerSession struct { - Contract *StdAssertionsCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdAssertionsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdAssertionsTransactorSession struct { - Contract *StdAssertionsTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdAssertionsRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdAssertionsRaw struct { - Contract *StdAssertions // Generic contract binding to access the raw methods on -} - -// StdAssertionsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdAssertionsCallerRaw struct { - Contract *StdAssertionsCaller // Generic read-only contract binding to access the raw methods on -} - -// StdAssertionsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdAssertionsTransactorRaw struct { - Contract *StdAssertionsTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdAssertions creates a new instance of StdAssertions, bound to a specific deployed contract. -func NewStdAssertions(address common.Address, backend bind.ContractBackend) (*StdAssertions, error) { - contract, err := bindStdAssertions(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdAssertions{StdAssertionsCaller: StdAssertionsCaller{contract: contract}, StdAssertionsTransactor: StdAssertionsTransactor{contract: contract}, StdAssertionsFilterer: StdAssertionsFilterer{contract: contract}}, nil -} - -// NewStdAssertionsCaller creates a new read-only instance of StdAssertions, bound to a specific deployed contract. -func NewStdAssertionsCaller(address common.Address, caller bind.ContractCaller) (*StdAssertionsCaller, error) { - contract, err := bindStdAssertions(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdAssertionsCaller{contract: contract}, nil -} - -// NewStdAssertionsTransactor creates a new write-only instance of StdAssertions, bound to a specific deployed contract. -func NewStdAssertionsTransactor(address common.Address, transactor bind.ContractTransactor) (*StdAssertionsTransactor, error) { - contract, err := bindStdAssertions(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdAssertionsTransactor{contract: contract}, nil -} - -// NewStdAssertionsFilterer creates a new log filterer instance of StdAssertions, bound to a specific deployed contract. -func NewStdAssertionsFilterer(address common.Address, filterer bind.ContractFilterer) (*StdAssertionsFilterer, error) { - contract, err := bindStdAssertions(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdAssertionsFilterer{contract: contract}, nil -} - -// bindStdAssertions binds a generic wrapper to an already deployed contract. -func bindStdAssertions(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdAssertionsMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdAssertions *StdAssertionsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdAssertions.Contract.StdAssertionsCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdAssertions *StdAssertionsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdAssertions.Contract.StdAssertionsTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdAssertions *StdAssertionsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdAssertions.Contract.StdAssertionsTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdAssertions *StdAssertionsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdAssertions.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdAssertions *StdAssertionsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdAssertions.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdAssertions *StdAssertionsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdAssertions.Contract.contract.Transact(opts, method, params...) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_StdAssertions *StdAssertionsCaller) Failed(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _StdAssertions.contract.Call(opts, &out, "failed") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_StdAssertions *StdAssertionsSession) Failed() (bool, error) { - return _StdAssertions.Contract.Failed(&_StdAssertions.CallOpts) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_StdAssertions *StdAssertionsCallerSession) Failed() (bool, error) { - return _StdAssertions.Contract.Failed(&_StdAssertions.CallOpts) -} - -// StdAssertionsLogIterator is returned from FilterLog and is used to iterate over the raw logs and unpacked data for Log events raised by the StdAssertions contract. -type StdAssertionsLogIterator struct { - Event *StdAssertionsLog // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLog represents a Log event raised by the StdAssertions contract. -type StdAssertionsLog struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLog is a free log retrieval operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLog(opts *bind.FilterOpts) (*StdAssertionsLogIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log") - if err != nil { - return nil, err - } - return &StdAssertionsLogIterator{contract: _StdAssertions.contract, event: "log", logs: logs, sub: sub}, nil -} - -// WatchLog is a free log subscription operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLog(opts *bind.WatchOpts, sink chan<- *StdAssertionsLog) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLog) - if err := _StdAssertions.contract.UnpackLog(event, "log", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLog is a log parse operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLog(log types.Log) (*StdAssertionsLog, error) { - event := new(StdAssertionsLog) - if err := _StdAssertions.contract.UnpackLog(event, "log", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogAddressIterator is returned from FilterLogAddress and is used to iterate over the raw logs and unpacked data for LogAddress events raised by the StdAssertions contract. -type StdAssertionsLogAddressIterator struct { - Event *StdAssertionsLogAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogAddress represents a LogAddress event raised by the StdAssertions contract. -type StdAssertionsLogAddress struct { - Arg0 common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogAddress is a free log retrieval operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLogAddress(opts *bind.FilterOpts) (*StdAssertionsLogAddressIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_address") - if err != nil { - return nil, err - } - return &StdAssertionsLogAddressIterator{contract: _StdAssertions.contract, event: "log_address", logs: logs, sub: sub}, nil -} - -// WatchLogAddress is a free log subscription operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLogAddress(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogAddress) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogAddress) - if err := _StdAssertions.contract.UnpackLog(event, "log_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogAddress is a log parse operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLogAddress(log types.Log) (*StdAssertionsLogAddress, error) { - event := new(StdAssertionsLogAddress) - if err := _StdAssertions.contract.UnpackLog(event, "log_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogArrayIterator is returned from FilterLogArray and is used to iterate over the raw logs and unpacked data for LogArray events raised by the StdAssertions contract. -type StdAssertionsLogArrayIterator struct { - Event *StdAssertionsLogArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogArray represents a LogArray event raised by the StdAssertions contract. -type StdAssertionsLogArray struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray is a free log retrieval operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogArray(opts *bind.FilterOpts) (*StdAssertionsLogArrayIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_array") - if err != nil { - return nil, err - } - return &StdAssertionsLogArrayIterator{contract: _StdAssertions.contract, event: "log_array", logs: logs, sub: sub}, nil -} - -// WatchLogArray is a free log subscription operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogArray(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogArray) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogArray) - if err := _StdAssertions.contract.UnpackLog(event, "log_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray is a log parse operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogArray(log types.Log) (*StdAssertionsLogArray, error) { - event := new(StdAssertionsLogArray) - if err := _StdAssertions.contract.UnpackLog(event, "log_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogArray0Iterator is returned from FilterLogArray0 and is used to iterate over the raw logs and unpacked data for LogArray0 events raised by the StdAssertions contract. -type StdAssertionsLogArray0Iterator struct { - Event *StdAssertionsLogArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogArray0 represents a LogArray0 event raised by the StdAssertions contract. -type StdAssertionsLogArray0 struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray0 is a free log retrieval operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogArray0(opts *bind.FilterOpts) (*StdAssertionsLogArray0Iterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return &StdAssertionsLogArray0Iterator{contract: _StdAssertions.contract, event: "log_array0", logs: logs, sub: sub}, nil -} - -// WatchLogArray0 is a free log subscription operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogArray0(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogArray0) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogArray0) - if err := _StdAssertions.contract.UnpackLog(event, "log_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray0 is a log parse operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogArray0(log types.Log) (*StdAssertionsLogArray0, error) { - event := new(StdAssertionsLogArray0) - if err := _StdAssertions.contract.UnpackLog(event, "log_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogArray1Iterator is returned from FilterLogArray1 and is used to iterate over the raw logs and unpacked data for LogArray1 events raised by the StdAssertions contract. -type StdAssertionsLogArray1Iterator struct { - Event *StdAssertionsLogArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogArray1 represents a LogArray1 event raised by the StdAssertions contract. -type StdAssertionsLogArray1 struct { - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray1 is a free log retrieval operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogArray1(opts *bind.FilterOpts) (*StdAssertionsLogArray1Iterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return &StdAssertionsLogArray1Iterator{contract: _StdAssertions.contract, event: "log_array1", logs: logs, sub: sub}, nil -} - -// WatchLogArray1 is a free log subscription operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogArray1(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogArray1) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogArray1) - if err := _StdAssertions.contract.UnpackLog(event, "log_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray1 is a log parse operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogArray1(log types.Log) (*StdAssertionsLogArray1, error) { - event := new(StdAssertionsLogArray1) - if err := _StdAssertions.contract.UnpackLog(event, "log_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogBytesIterator is returned from FilterLogBytes and is used to iterate over the raw logs and unpacked data for LogBytes events raised by the StdAssertions contract. -type StdAssertionsLogBytesIterator struct { - Event *StdAssertionsLogBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogBytes represents a LogBytes event raised by the StdAssertions contract. -type StdAssertionsLogBytes struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes is a free log retrieval operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLogBytes(opts *bind.FilterOpts) (*StdAssertionsLogBytesIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return &StdAssertionsLogBytesIterator{contract: _StdAssertions.contract, event: "log_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogBytes is a free log subscription operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLogBytes(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogBytes) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogBytes) - if err := _StdAssertions.contract.UnpackLog(event, "log_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes is a log parse operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLogBytes(log types.Log) (*StdAssertionsLogBytes, error) { - event := new(StdAssertionsLogBytes) - if err := _StdAssertions.contract.UnpackLog(event, "log_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogBytes32Iterator is returned from FilterLogBytes32 and is used to iterate over the raw logs and unpacked data for LogBytes32 events raised by the StdAssertions contract. -type StdAssertionsLogBytes32Iterator struct { - Event *StdAssertionsLogBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogBytes32 represents a LogBytes32 event raised by the StdAssertions contract. -type StdAssertionsLogBytes32 struct { - Arg0 [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes32 is a free log retrieval operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLogBytes32(opts *bind.FilterOpts) (*StdAssertionsLogBytes32Iterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return &StdAssertionsLogBytes32Iterator{contract: _StdAssertions.contract, event: "log_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogBytes32 is a free log subscription operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLogBytes32(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogBytes32) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogBytes32) - if err := _StdAssertions.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes32 is a log parse operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLogBytes32(log types.Log) (*StdAssertionsLogBytes32, error) { - event := new(StdAssertionsLogBytes32) - if err := _StdAssertions.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogIntIterator is returned from FilterLogInt and is used to iterate over the raw logs and unpacked data for LogInt events raised by the StdAssertions contract. -type StdAssertionsLogIntIterator struct { - Event *StdAssertionsLogInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogInt represents a LogInt event raised by the StdAssertions contract. -type StdAssertionsLogInt struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogInt is a free log retrieval operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLogInt(opts *bind.FilterOpts) (*StdAssertionsLogIntIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_int") - if err != nil { - return nil, err - } - return &StdAssertionsLogIntIterator{contract: _StdAssertions.contract, event: "log_int", logs: logs, sub: sub}, nil -} - -// WatchLogInt is a free log subscription operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLogInt(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogInt) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogInt) - if err := _StdAssertions.contract.UnpackLog(event, "log_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogInt is a log parse operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLogInt(log types.Log) (*StdAssertionsLogInt, error) { - event := new(StdAssertionsLogInt) - if err := _StdAssertions.contract.UnpackLog(event, "log_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedAddressIterator is returned from FilterLogNamedAddress and is used to iterate over the raw logs and unpacked data for LogNamedAddress events raised by the StdAssertions contract. -type StdAssertionsLogNamedAddressIterator struct { - Event *StdAssertionsLogNamedAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedAddress represents a LogNamedAddress event raised by the StdAssertions contract. -type StdAssertionsLogNamedAddress struct { - Key string - Val common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedAddress is a free log retrieval operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedAddress(opts *bind.FilterOpts) (*StdAssertionsLogNamedAddressIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedAddressIterator{contract: _StdAssertions.contract, event: "log_named_address", logs: logs, sub: sub}, nil -} - -// WatchLogNamedAddress is a free log subscription operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedAddress(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedAddress) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedAddress) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedAddress is a log parse operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedAddress(log types.Log) (*StdAssertionsLogNamedAddress, error) { - event := new(StdAssertionsLogNamedAddress) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedArrayIterator is returned from FilterLogNamedArray and is used to iterate over the raw logs and unpacked data for LogNamedArray events raised by the StdAssertions contract. -type StdAssertionsLogNamedArrayIterator struct { - Event *StdAssertionsLogNamedArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedArray represents a LogNamedArray event raised by the StdAssertions contract. -type StdAssertionsLogNamedArray struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray is a free log retrieval operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedArray(opts *bind.FilterOpts) (*StdAssertionsLogNamedArrayIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedArrayIterator{contract: _StdAssertions.contract, event: "log_named_array", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray is a free log subscription operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedArray(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedArray) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedArray) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray is a log parse operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedArray(log types.Log) (*StdAssertionsLogNamedArray, error) { - event := new(StdAssertionsLogNamedArray) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedArray0Iterator is returned from FilterLogNamedArray0 and is used to iterate over the raw logs and unpacked data for LogNamedArray0 events raised by the StdAssertions contract. -type StdAssertionsLogNamedArray0Iterator struct { - Event *StdAssertionsLogNamedArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedArray0 represents a LogNamedArray0 event raised by the StdAssertions contract. -type StdAssertionsLogNamedArray0 struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray0 is a free log retrieval operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedArray0(opts *bind.FilterOpts) (*StdAssertionsLogNamedArray0Iterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedArray0Iterator{contract: _StdAssertions.contract, event: "log_named_array0", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray0 is a free log subscription operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedArray0(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedArray0) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedArray0) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray0 is a log parse operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedArray0(log types.Log) (*StdAssertionsLogNamedArray0, error) { - event := new(StdAssertionsLogNamedArray0) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedArray1Iterator is returned from FilterLogNamedArray1 and is used to iterate over the raw logs and unpacked data for LogNamedArray1 events raised by the StdAssertions contract. -type StdAssertionsLogNamedArray1Iterator struct { - Event *StdAssertionsLogNamedArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedArray1 represents a LogNamedArray1 event raised by the StdAssertions contract. -type StdAssertionsLogNamedArray1 struct { - Key string - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray1 is a free log retrieval operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedArray1(opts *bind.FilterOpts) (*StdAssertionsLogNamedArray1Iterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedArray1Iterator{contract: _StdAssertions.contract, event: "log_named_array1", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray1 is a free log subscription operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedArray1(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedArray1) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedArray1) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray1 is a log parse operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedArray1(log types.Log) (*StdAssertionsLogNamedArray1, error) { - event := new(StdAssertionsLogNamedArray1) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedBytesIterator is returned from FilterLogNamedBytes and is used to iterate over the raw logs and unpacked data for LogNamedBytes events raised by the StdAssertions contract. -type StdAssertionsLogNamedBytesIterator struct { - Event *StdAssertionsLogNamedBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedBytes represents a LogNamedBytes event raised by the StdAssertions contract. -type StdAssertionsLogNamedBytes struct { - Key string - Val []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes is a free log retrieval operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedBytes(opts *bind.FilterOpts) (*StdAssertionsLogNamedBytesIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedBytesIterator{contract: _StdAssertions.contract, event: "log_named_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes is a free log subscription operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedBytes(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedBytes) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedBytes) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes is a log parse operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedBytes(log types.Log) (*StdAssertionsLogNamedBytes, error) { - event := new(StdAssertionsLogNamedBytes) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedBytes32Iterator is returned from FilterLogNamedBytes32 and is used to iterate over the raw logs and unpacked data for LogNamedBytes32 events raised by the StdAssertions contract. -type StdAssertionsLogNamedBytes32Iterator struct { - Event *StdAssertionsLogNamedBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedBytes32 represents a LogNamedBytes32 event raised by the StdAssertions contract. -type StdAssertionsLogNamedBytes32 struct { - Key string - Val [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes32 is a free log retrieval operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedBytes32(opts *bind.FilterOpts) (*StdAssertionsLogNamedBytes32Iterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedBytes32Iterator{contract: _StdAssertions.contract, event: "log_named_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes32 is a free log subscription operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedBytes32(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedBytes32) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedBytes32) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes32 is a log parse operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedBytes32(log types.Log) (*StdAssertionsLogNamedBytes32, error) { - event := new(StdAssertionsLogNamedBytes32) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedDecimalIntIterator is returned from FilterLogNamedDecimalInt and is used to iterate over the raw logs and unpacked data for LogNamedDecimalInt events raised by the StdAssertions contract. -type StdAssertionsLogNamedDecimalIntIterator struct { - Event *StdAssertionsLogNamedDecimalInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedDecimalIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedDecimalIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedDecimalIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedDecimalInt represents a LogNamedDecimalInt event raised by the StdAssertions contract. -type StdAssertionsLogNamedDecimalInt struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalInt is a free log retrieval operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedDecimalInt(opts *bind.FilterOpts) (*StdAssertionsLogNamedDecimalIntIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedDecimalIntIterator{contract: _StdAssertions.contract, event: "log_named_decimal_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalInt is a free log subscription operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedDecimalInt(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedDecimalInt) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedDecimalInt) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalInt is a log parse operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedDecimalInt(log types.Log) (*StdAssertionsLogNamedDecimalInt, error) { - event := new(StdAssertionsLogNamedDecimalInt) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedDecimalUintIterator is returned from FilterLogNamedDecimalUint and is used to iterate over the raw logs and unpacked data for LogNamedDecimalUint events raised by the StdAssertions contract. -type StdAssertionsLogNamedDecimalUintIterator struct { - Event *StdAssertionsLogNamedDecimalUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedDecimalUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedDecimalUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedDecimalUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedDecimalUint represents a LogNamedDecimalUint event raised by the StdAssertions contract. -type StdAssertionsLogNamedDecimalUint struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalUint is a free log retrieval operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedDecimalUint(opts *bind.FilterOpts) (*StdAssertionsLogNamedDecimalUintIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedDecimalUintIterator{contract: _StdAssertions.contract, event: "log_named_decimal_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalUint is a free log subscription operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedDecimalUint(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedDecimalUint) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedDecimalUint) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalUint is a log parse operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedDecimalUint(log types.Log) (*StdAssertionsLogNamedDecimalUint, error) { - event := new(StdAssertionsLogNamedDecimalUint) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedIntIterator is returned from FilterLogNamedInt and is used to iterate over the raw logs and unpacked data for LogNamedInt events raised by the StdAssertions contract. -type StdAssertionsLogNamedIntIterator struct { - Event *StdAssertionsLogNamedInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedInt represents a LogNamedInt event raised by the StdAssertions contract. -type StdAssertionsLogNamedInt struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedInt is a free log retrieval operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedInt(opts *bind.FilterOpts) (*StdAssertionsLogNamedIntIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedIntIterator{contract: _StdAssertions.contract, event: "log_named_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedInt is a free log subscription operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedInt(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedInt) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedInt) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedInt is a log parse operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedInt(log types.Log) (*StdAssertionsLogNamedInt, error) { - event := new(StdAssertionsLogNamedInt) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedStringIterator is returned from FilterLogNamedString and is used to iterate over the raw logs and unpacked data for LogNamedString events raised by the StdAssertions contract. -type StdAssertionsLogNamedStringIterator struct { - Event *StdAssertionsLogNamedString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedString represents a LogNamedString event raised by the StdAssertions contract. -type StdAssertionsLogNamedString struct { - Key string - Val string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedString is a free log retrieval operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedString(opts *bind.FilterOpts) (*StdAssertionsLogNamedStringIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedStringIterator{contract: _StdAssertions.contract, event: "log_named_string", logs: logs, sub: sub}, nil -} - -// WatchLogNamedString is a free log subscription operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedString(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedString) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedString) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedString is a log parse operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedString(log types.Log) (*StdAssertionsLogNamedString, error) { - event := new(StdAssertionsLogNamedString) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogNamedUintIterator is returned from FilterLogNamedUint and is used to iterate over the raw logs and unpacked data for LogNamedUint events raised by the StdAssertions contract. -type StdAssertionsLogNamedUintIterator struct { - Event *StdAssertionsLogNamedUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogNamedUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogNamedUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogNamedUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogNamedUint represents a LogNamedUint event raised by the StdAssertions contract. -type StdAssertionsLogNamedUint struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedUint is a free log retrieval operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_StdAssertions *StdAssertionsFilterer) FilterLogNamedUint(opts *bind.FilterOpts) (*StdAssertionsLogNamedUintIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return &StdAssertionsLogNamedUintIterator{contract: _StdAssertions.contract, event: "log_named_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedUint is a free log subscription operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_StdAssertions *StdAssertionsFilterer) WatchLogNamedUint(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogNamedUint) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogNamedUint) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedUint is a log parse operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_StdAssertions *StdAssertionsFilterer) ParseLogNamedUint(log types.Log) (*StdAssertionsLogNamedUint, error) { - event := new(StdAssertionsLogNamedUint) - if err := _StdAssertions.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogStringIterator is returned from FilterLogString and is used to iterate over the raw logs and unpacked data for LogString events raised by the StdAssertions contract. -type StdAssertionsLogStringIterator struct { - Event *StdAssertionsLogString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogString represents a LogString event raised by the StdAssertions contract. -type StdAssertionsLogString struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogString is a free log retrieval operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLogString(opts *bind.FilterOpts) (*StdAssertionsLogStringIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_string") - if err != nil { - return nil, err - } - return &StdAssertionsLogStringIterator{contract: _StdAssertions.contract, event: "log_string", logs: logs, sub: sub}, nil -} - -// WatchLogString is a free log subscription operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLogString(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogString) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogString) - if err := _StdAssertions.contract.UnpackLog(event, "log_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogString is a log parse operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLogString(log types.Log) (*StdAssertionsLogString, error) { - event := new(StdAssertionsLogString) - if err := _StdAssertions.contract.UnpackLog(event, "log_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogUintIterator is returned from FilterLogUint and is used to iterate over the raw logs and unpacked data for LogUint events raised by the StdAssertions contract. -type StdAssertionsLogUintIterator struct { - Event *StdAssertionsLogUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogUint represents a LogUint event raised by the StdAssertions contract. -type StdAssertionsLogUint struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogUint is a free log retrieval operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLogUint(opts *bind.FilterOpts) (*StdAssertionsLogUintIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return &StdAssertionsLogUintIterator{contract: _StdAssertions.contract, event: "log_uint", logs: logs, sub: sub}, nil -} - -// WatchLogUint is a free log subscription operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLogUint(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogUint) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogUint) - if err := _StdAssertions.contract.UnpackLog(event, "log_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogUint is a log parse operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLogUint(log types.Log) (*StdAssertionsLogUint, error) { - event := new(StdAssertionsLogUint) - if err := _StdAssertions.contract.UnpackLog(event, "log_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdAssertionsLogsIterator is returned from FilterLogs and is used to iterate over the raw logs and unpacked data for Logs events raised by the StdAssertions contract. -type StdAssertionsLogsIterator struct { - Event *StdAssertionsLogs // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdAssertionsLogsIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdAssertionsLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdAssertionsLogsIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdAssertionsLogsIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdAssertionsLogs represents a Logs event raised by the StdAssertions contract. -type StdAssertionsLogs struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogs is a free log retrieval operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_StdAssertions *StdAssertionsFilterer) FilterLogs(opts *bind.FilterOpts) (*StdAssertionsLogsIterator, error) { - - logs, sub, err := _StdAssertions.contract.FilterLogs(opts, "logs") - if err != nil { - return nil, err - } - return &StdAssertionsLogsIterator{contract: _StdAssertions.contract, event: "logs", logs: logs, sub: sub}, nil -} - -// WatchLogs is a free log subscription operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_StdAssertions *StdAssertionsFilterer) WatchLogs(opts *bind.WatchOpts, sink chan<- *StdAssertionsLogs) (event.Subscription, error) { - - logs, sub, err := _StdAssertions.contract.WatchLogs(opts, "logs") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdAssertionsLogs) - if err := _StdAssertions.contract.UnpackLog(event, "logs", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogs is a log parse operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_StdAssertions *StdAssertionsFilterer) ParseLogs(log types.Log) (*StdAssertionsLogs, error) { - event := new(StdAssertionsLogs) - if err := _StdAssertions.contract.UnpackLog(event, "logs", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/stdchains.sol/stdchains.go b/pkg/forge-std/stdchains.sol/stdchains.go deleted file mode 100644 index 440f138f..00000000 --- a/pkg/forge-std/stdchains.sol/stdchains.go +++ /dev/null @@ -1,181 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdchains - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdChainsMetaData contains all meta data concerning the StdChains contract. -var StdChainsMetaData = &bind.MetaData{ - ABI: "[]", -} - -// StdChainsABI is the input ABI used to generate the binding from. -// Deprecated: Use StdChainsMetaData.ABI instead. -var StdChainsABI = StdChainsMetaData.ABI - -// StdChains is an auto generated Go binding around an Ethereum contract. -type StdChains struct { - StdChainsCaller // Read-only binding to the contract - StdChainsTransactor // Write-only binding to the contract - StdChainsFilterer // Log filterer for contract events -} - -// StdChainsCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdChainsCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdChainsTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdChainsTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdChainsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdChainsFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdChainsSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdChainsSession struct { - Contract *StdChains // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdChainsCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdChainsCallerSession struct { - Contract *StdChainsCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdChainsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdChainsTransactorSession struct { - Contract *StdChainsTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdChainsRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdChainsRaw struct { - Contract *StdChains // Generic contract binding to access the raw methods on -} - -// StdChainsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdChainsCallerRaw struct { - Contract *StdChainsCaller // Generic read-only contract binding to access the raw methods on -} - -// StdChainsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdChainsTransactorRaw struct { - Contract *StdChainsTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdChains creates a new instance of StdChains, bound to a specific deployed contract. -func NewStdChains(address common.Address, backend bind.ContractBackend) (*StdChains, error) { - contract, err := bindStdChains(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdChains{StdChainsCaller: StdChainsCaller{contract: contract}, StdChainsTransactor: StdChainsTransactor{contract: contract}, StdChainsFilterer: StdChainsFilterer{contract: contract}}, nil -} - -// NewStdChainsCaller creates a new read-only instance of StdChains, bound to a specific deployed contract. -func NewStdChainsCaller(address common.Address, caller bind.ContractCaller) (*StdChainsCaller, error) { - contract, err := bindStdChains(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdChainsCaller{contract: contract}, nil -} - -// NewStdChainsTransactor creates a new write-only instance of StdChains, bound to a specific deployed contract. -func NewStdChainsTransactor(address common.Address, transactor bind.ContractTransactor) (*StdChainsTransactor, error) { - contract, err := bindStdChains(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdChainsTransactor{contract: contract}, nil -} - -// NewStdChainsFilterer creates a new log filterer instance of StdChains, bound to a specific deployed contract. -func NewStdChainsFilterer(address common.Address, filterer bind.ContractFilterer) (*StdChainsFilterer, error) { - contract, err := bindStdChains(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdChainsFilterer{contract: contract}, nil -} - -// bindStdChains binds a generic wrapper to an already deployed contract. -func bindStdChains(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdChainsMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdChains *StdChainsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdChains.Contract.StdChainsCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdChains *StdChainsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdChains.Contract.StdChainsTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdChains *StdChainsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdChains.Contract.StdChainsTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdChains *StdChainsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdChains.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdChains *StdChainsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdChains.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdChains *StdChainsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdChains.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdcheats.sol/stdcheats.go b/pkg/forge-std/stdcheats.sol/stdcheats.go deleted file mode 100644 index 434d8176..00000000 --- a/pkg/forge-std/stdcheats.sol/stdcheats.go +++ /dev/null @@ -1,181 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdcheats - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdCheatsMetaData contains all meta data concerning the StdCheats contract. -var StdCheatsMetaData = &bind.MetaData{ - ABI: "[]", -} - -// StdCheatsABI is the input ABI used to generate the binding from. -// Deprecated: Use StdCheatsMetaData.ABI instead. -var StdCheatsABI = StdCheatsMetaData.ABI - -// StdCheats is an auto generated Go binding around an Ethereum contract. -type StdCheats struct { - StdCheatsCaller // Read-only binding to the contract - StdCheatsTransactor // Write-only binding to the contract - StdCheatsFilterer // Log filterer for contract events -} - -// StdCheatsCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdCheatsCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdCheatsTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdCheatsTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdCheatsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdCheatsFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdCheatsSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdCheatsSession struct { - Contract *StdCheats // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdCheatsCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdCheatsCallerSession struct { - Contract *StdCheatsCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdCheatsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdCheatsTransactorSession struct { - Contract *StdCheatsTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdCheatsRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdCheatsRaw struct { - Contract *StdCheats // Generic contract binding to access the raw methods on -} - -// StdCheatsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdCheatsCallerRaw struct { - Contract *StdCheatsCaller // Generic read-only contract binding to access the raw methods on -} - -// StdCheatsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdCheatsTransactorRaw struct { - Contract *StdCheatsTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdCheats creates a new instance of StdCheats, bound to a specific deployed contract. -func NewStdCheats(address common.Address, backend bind.ContractBackend) (*StdCheats, error) { - contract, err := bindStdCheats(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdCheats{StdCheatsCaller: StdCheatsCaller{contract: contract}, StdCheatsTransactor: StdCheatsTransactor{contract: contract}, StdCheatsFilterer: StdCheatsFilterer{contract: contract}}, nil -} - -// NewStdCheatsCaller creates a new read-only instance of StdCheats, bound to a specific deployed contract. -func NewStdCheatsCaller(address common.Address, caller bind.ContractCaller) (*StdCheatsCaller, error) { - contract, err := bindStdCheats(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdCheatsCaller{contract: contract}, nil -} - -// NewStdCheatsTransactor creates a new write-only instance of StdCheats, bound to a specific deployed contract. -func NewStdCheatsTransactor(address common.Address, transactor bind.ContractTransactor) (*StdCheatsTransactor, error) { - contract, err := bindStdCheats(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdCheatsTransactor{contract: contract}, nil -} - -// NewStdCheatsFilterer creates a new log filterer instance of StdCheats, bound to a specific deployed contract. -func NewStdCheatsFilterer(address common.Address, filterer bind.ContractFilterer) (*StdCheatsFilterer, error) { - contract, err := bindStdCheats(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdCheatsFilterer{contract: contract}, nil -} - -// bindStdCheats binds a generic wrapper to an already deployed contract. -func bindStdCheats(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdCheatsMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdCheats *StdCheatsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdCheats.Contract.StdCheatsCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdCheats *StdCheatsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdCheats.Contract.StdCheatsTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdCheats *StdCheatsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdCheats.Contract.StdCheatsTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdCheats *StdCheatsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdCheats.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdCheats *StdCheatsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdCheats.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdCheats *StdCheatsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdCheats.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdcheats.sol/stdcheatssafe.go b/pkg/forge-std/stdcheats.sol/stdcheatssafe.go deleted file mode 100644 index 4ccb96d0..00000000 --- a/pkg/forge-std/stdcheats.sol/stdcheatssafe.go +++ /dev/null @@ -1,181 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdcheats - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdCheatsSafeMetaData contains all meta data concerning the StdCheatsSafe contract. -var StdCheatsSafeMetaData = &bind.MetaData{ - ABI: "[]", -} - -// StdCheatsSafeABI is the input ABI used to generate the binding from. -// Deprecated: Use StdCheatsSafeMetaData.ABI instead. -var StdCheatsSafeABI = StdCheatsSafeMetaData.ABI - -// StdCheatsSafe is an auto generated Go binding around an Ethereum contract. -type StdCheatsSafe struct { - StdCheatsSafeCaller // Read-only binding to the contract - StdCheatsSafeTransactor // Write-only binding to the contract - StdCheatsSafeFilterer // Log filterer for contract events -} - -// StdCheatsSafeCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdCheatsSafeCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdCheatsSafeTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdCheatsSafeTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdCheatsSafeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdCheatsSafeFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdCheatsSafeSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdCheatsSafeSession struct { - Contract *StdCheatsSafe // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdCheatsSafeCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdCheatsSafeCallerSession struct { - Contract *StdCheatsSafeCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdCheatsSafeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdCheatsSafeTransactorSession struct { - Contract *StdCheatsSafeTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdCheatsSafeRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdCheatsSafeRaw struct { - Contract *StdCheatsSafe // Generic contract binding to access the raw methods on -} - -// StdCheatsSafeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdCheatsSafeCallerRaw struct { - Contract *StdCheatsSafeCaller // Generic read-only contract binding to access the raw methods on -} - -// StdCheatsSafeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdCheatsSafeTransactorRaw struct { - Contract *StdCheatsSafeTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdCheatsSafe creates a new instance of StdCheatsSafe, bound to a specific deployed contract. -func NewStdCheatsSafe(address common.Address, backend bind.ContractBackend) (*StdCheatsSafe, error) { - contract, err := bindStdCheatsSafe(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdCheatsSafe{StdCheatsSafeCaller: StdCheatsSafeCaller{contract: contract}, StdCheatsSafeTransactor: StdCheatsSafeTransactor{contract: contract}, StdCheatsSafeFilterer: StdCheatsSafeFilterer{contract: contract}}, nil -} - -// NewStdCheatsSafeCaller creates a new read-only instance of StdCheatsSafe, bound to a specific deployed contract. -func NewStdCheatsSafeCaller(address common.Address, caller bind.ContractCaller) (*StdCheatsSafeCaller, error) { - contract, err := bindStdCheatsSafe(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdCheatsSafeCaller{contract: contract}, nil -} - -// NewStdCheatsSafeTransactor creates a new write-only instance of StdCheatsSafe, bound to a specific deployed contract. -func NewStdCheatsSafeTransactor(address common.Address, transactor bind.ContractTransactor) (*StdCheatsSafeTransactor, error) { - contract, err := bindStdCheatsSafe(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdCheatsSafeTransactor{contract: contract}, nil -} - -// NewStdCheatsSafeFilterer creates a new log filterer instance of StdCheatsSafe, bound to a specific deployed contract. -func NewStdCheatsSafeFilterer(address common.Address, filterer bind.ContractFilterer) (*StdCheatsSafeFilterer, error) { - contract, err := bindStdCheatsSafe(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdCheatsSafeFilterer{contract: contract}, nil -} - -// bindStdCheatsSafe binds a generic wrapper to an already deployed contract. -func bindStdCheatsSafe(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdCheatsSafeMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdCheatsSafe *StdCheatsSafeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdCheatsSafe.Contract.StdCheatsSafeCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdCheatsSafe *StdCheatsSafeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdCheatsSafe.Contract.StdCheatsSafeTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdCheatsSafe *StdCheatsSafeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdCheatsSafe.Contract.StdCheatsSafeTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdCheatsSafe *StdCheatsSafeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdCheatsSafe.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdCheatsSafe *StdCheatsSafeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdCheatsSafe.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdCheatsSafe *StdCheatsSafeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdCheatsSafe.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stderror.sol/stderror.go b/pkg/forge-std/stderror.sol/stderror.go deleted file mode 100644 index af401f89..00000000 --- a/pkg/forge-std/stderror.sol/stderror.go +++ /dev/null @@ -1,482 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stderror - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdErrorMetaData contains all meta data concerning the StdError contract. -var StdErrorMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"arithmeticError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"assertionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"divisionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"encodeStorageError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enumConversionError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"indexOOBError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"memOverflowError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"popError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zeroVarError\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", - Bin: "0x6109ec610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009d5760003560e01c8063986c5f6811610070578063986c5f681461011a578063b22dc54d14610138578063b67689da14610156578063d160e4de14610174578063fa784a44146101925761009d565b806305ee8612146100a257806310332977146100c05780631de45560146100de5780638995290f146100fc575b600080fd5b6100aa6101b0565b6040516100b79190610792565b60405180910390f35b6100c8610242565b6040516100d59190610792565b60405180910390f35b6100e66102d4565b6040516100f39190610792565b60405180910390f35b610104610366565b6040516101119190610792565b60405180910390f35b6101226103f8565b60405161012f9190610792565b60405180910390f35b61014061048a565b60405161014d9190610792565b60405180910390f35b61015e61051c565b60405161016b9190610792565b60405180910390f35b61017c6105ae565b6040516101899190610792565b60405180910390f35b61019a610640565b6040516101a79190610792565b60405180910390f35b60326040516024016101c29190610856565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b600160405160240161025491906107ea565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b60216040516024016102e69190610805565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b601160405160240161037891906107b4565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b604160405160240161040a9190610871565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b603160405160240161049c919061083b565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b605160405160240161052e919061088c565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b60226040516024016105c09190610820565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b601260405160240161065291906107cf565b6040516020818303038152906040527f4e487b71000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505081565b60006106dd826108a7565b6106e781856108b2565b93506106f7818560208601610972565b610700816109a5565b840191505092915050565b610714816108d0565b82525050565b610723816108e2565b82525050565b610732816108f4565b82525050565b61074181610906565b82525050565b61075081610918565b82525050565b61075f8161092a565b82525050565b61076e8161093c565b82525050565b61077d8161094e565b82525050565b61078c81610960565b82525050565b600060208201905081810360008301526107ac81846106d2565b905092915050565b60006020820190506107c9600083018461070b565b92915050565b60006020820190506107e4600083018461071a565b92915050565b60006020820190506107ff6000830184610729565b92915050565b600060208201905061081a6000830184610738565b92915050565b60006020820190506108356000830184610747565b92915050565b60006020820190506108506000830184610756565b92915050565b600060208201905061086b6000830184610765565b92915050565b60006020820190506108866000830184610774565b92915050565b60006020820190506108a16000830184610783565b92915050565b600081519050919050565b600082825260208201905092915050565b600060ff82169050919050565b60006108db826108c3565b9050919050565b60006108ed826108c3565b9050919050565b60006108ff826108c3565b9050919050565b6000610911826108c3565b9050919050565b6000610923826108c3565b9050919050565b6000610935826108c3565b9050919050565b6000610947826108c3565b9050919050565b6000610959826108c3565b9050919050565b600061096b826108c3565b9050919050565b60005b83811015610990578082015181840152602081019050610975565b8381111561099f576000848401525b50505050565b6000601f19601f830116905091905056fea264697066735822122086a066b9b91d74494e9ce1d74ef0b42568574cbc8d6ec51dc4e6feec0c5260d764736f6c63430008070033", -} - -// StdErrorABI is the input ABI used to generate the binding from. -// Deprecated: Use StdErrorMetaData.ABI instead. -var StdErrorABI = StdErrorMetaData.ABI - -// StdErrorBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StdErrorMetaData.Bin instead. -var StdErrorBin = StdErrorMetaData.Bin - -// DeployStdError deploys a new Ethereum contract, binding an instance of StdError to it. -func DeployStdError(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StdError, error) { - parsed, err := StdErrorMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StdErrorBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StdError{StdErrorCaller: StdErrorCaller{contract: contract}, StdErrorTransactor: StdErrorTransactor{contract: contract}, StdErrorFilterer: StdErrorFilterer{contract: contract}}, nil -} - -// StdError is an auto generated Go binding around an Ethereum contract. -type StdError struct { - StdErrorCaller // Read-only binding to the contract - StdErrorTransactor // Write-only binding to the contract - StdErrorFilterer // Log filterer for contract events -} - -// StdErrorCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdErrorCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdErrorTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdErrorTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdErrorFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdErrorFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdErrorSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdErrorSession struct { - Contract *StdError // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdErrorCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdErrorCallerSession struct { - Contract *StdErrorCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdErrorTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdErrorTransactorSession struct { - Contract *StdErrorTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdErrorRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdErrorRaw struct { - Contract *StdError // Generic contract binding to access the raw methods on -} - -// StdErrorCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdErrorCallerRaw struct { - Contract *StdErrorCaller // Generic read-only contract binding to access the raw methods on -} - -// StdErrorTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdErrorTransactorRaw struct { - Contract *StdErrorTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdError creates a new instance of StdError, bound to a specific deployed contract. -func NewStdError(address common.Address, backend bind.ContractBackend) (*StdError, error) { - contract, err := bindStdError(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdError{StdErrorCaller: StdErrorCaller{contract: contract}, StdErrorTransactor: StdErrorTransactor{contract: contract}, StdErrorFilterer: StdErrorFilterer{contract: contract}}, nil -} - -// NewStdErrorCaller creates a new read-only instance of StdError, bound to a specific deployed contract. -func NewStdErrorCaller(address common.Address, caller bind.ContractCaller) (*StdErrorCaller, error) { - contract, err := bindStdError(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdErrorCaller{contract: contract}, nil -} - -// NewStdErrorTransactor creates a new write-only instance of StdError, bound to a specific deployed contract. -func NewStdErrorTransactor(address common.Address, transactor bind.ContractTransactor) (*StdErrorTransactor, error) { - contract, err := bindStdError(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdErrorTransactor{contract: contract}, nil -} - -// NewStdErrorFilterer creates a new log filterer instance of StdError, bound to a specific deployed contract. -func NewStdErrorFilterer(address common.Address, filterer bind.ContractFilterer) (*StdErrorFilterer, error) { - contract, err := bindStdError(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdErrorFilterer{contract: contract}, nil -} - -// bindStdError binds a generic wrapper to an already deployed contract. -func bindStdError(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdErrorMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdError *StdErrorRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdError.Contract.StdErrorCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdError *StdErrorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdError.Contract.StdErrorTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdError *StdErrorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdError.Contract.StdErrorTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdError *StdErrorCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdError.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdError *StdErrorTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdError.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdError *StdErrorTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdError.Contract.contract.Transact(opts, method, params...) -} - -// ArithmeticError is a free data retrieval call binding the contract method 0x8995290f. -// -// Solidity: function arithmeticError() view returns(bytes) -func (_StdError *StdErrorCaller) ArithmeticError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "arithmeticError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ArithmeticError is a free data retrieval call binding the contract method 0x8995290f. -// -// Solidity: function arithmeticError() view returns(bytes) -func (_StdError *StdErrorSession) ArithmeticError() ([]byte, error) { - return _StdError.Contract.ArithmeticError(&_StdError.CallOpts) -} - -// ArithmeticError is a free data retrieval call binding the contract method 0x8995290f. -// -// Solidity: function arithmeticError() view returns(bytes) -func (_StdError *StdErrorCallerSession) ArithmeticError() ([]byte, error) { - return _StdError.Contract.ArithmeticError(&_StdError.CallOpts) -} - -// AssertionError is a free data retrieval call binding the contract method 0x10332977. -// -// Solidity: function assertionError() view returns(bytes) -func (_StdError *StdErrorCaller) AssertionError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "assertionError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// AssertionError is a free data retrieval call binding the contract method 0x10332977. -// -// Solidity: function assertionError() view returns(bytes) -func (_StdError *StdErrorSession) AssertionError() ([]byte, error) { - return _StdError.Contract.AssertionError(&_StdError.CallOpts) -} - -// AssertionError is a free data retrieval call binding the contract method 0x10332977. -// -// Solidity: function assertionError() view returns(bytes) -func (_StdError *StdErrorCallerSession) AssertionError() ([]byte, error) { - return _StdError.Contract.AssertionError(&_StdError.CallOpts) -} - -// DivisionError is a free data retrieval call binding the contract method 0xfa784a44. -// -// Solidity: function divisionError() view returns(bytes) -func (_StdError *StdErrorCaller) DivisionError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "divisionError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// DivisionError is a free data retrieval call binding the contract method 0xfa784a44. -// -// Solidity: function divisionError() view returns(bytes) -func (_StdError *StdErrorSession) DivisionError() ([]byte, error) { - return _StdError.Contract.DivisionError(&_StdError.CallOpts) -} - -// DivisionError is a free data retrieval call binding the contract method 0xfa784a44. -// -// Solidity: function divisionError() view returns(bytes) -func (_StdError *StdErrorCallerSession) DivisionError() ([]byte, error) { - return _StdError.Contract.DivisionError(&_StdError.CallOpts) -} - -// EncodeStorageError is a free data retrieval call binding the contract method 0xd160e4de. -// -// Solidity: function encodeStorageError() view returns(bytes) -func (_StdError *StdErrorCaller) EncodeStorageError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "encodeStorageError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// EncodeStorageError is a free data retrieval call binding the contract method 0xd160e4de. -// -// Solidity: function encodeStorageError() view returns(bytes) -func (_StdError *StdErrorSession) EncodeStorageError() ([]byte, error) { - return _StdError.Contract.EncodeStorageError(&_StdError.CallOpts) -} - -// EncodeStorageError is a free data retrieval call binding the contract method 0xd160e4de. -// -// Solidity: function encodeStorageError() view returns(bytes) -func (_StdError *StdErrorCallerSession) EncodeStorageError() ([]byte, error) { - return _StdError.Contract.EncodeStorageError(&_StdError.CallOpts) -} - -// EnumConversionError is a free data retrieval call binding the contract method 0x1de45560. -// -// Solidity: function enumConversionError() view returns(bytes) -func (_StdError *StdErrorCaller) EnumConversionError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "enumConversionError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// EnumConversionError is a free data retrieval call binding the contract method 0x1de45560. -// -// Solidity: function enumConversionError() view returns(bytes) -func (_StdError *StdErrorSession) EnumConversionError() ([]byte, error) { - return _StdError.Contract.EnumConversionError(&_StdError.CallOpts) -} - -// EnumConversionError is a free data retrieval call binding the contract method 0x1de45560. -// -// Solidity: function enumConversionError() view returns(bytes) -func (_StdError *StdErrorCallerSession) EnumConversionError() ([]byte, error) { - return _StdError.Contract.EnumConversionError(&_StdError.CallOpts) -} - -// IndexOOBError is a free data retrieval call binding the contract method 0x05ee8612. -// -// Solidity: function indexOOBError() view returns(bytes) -func (_StdError *StdErrorCaller) IndexOOBError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "indexOOBError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// IndexOOBError is a free data retrieval call binding the contract method 0x05ee8612. -// -// Solidity: function indexOOBError() view returns(bytes) -func (_StdError *StdErrorSession) IndexOOBError() ([]byte, error) { - return _StdError.Contract.IndexOOBError(&_StdError.CallOpts) -} - -// IndexOOBError is a free data retrieval call binding the contract method 0x05ee8612. -// -// Solidity: function indexOOBError() view returns(bytes) -func (_StdError *StdErrorCallerSession) IndexOOBError() ([]byte, error) { - return _StdError.Contract.IndexOOBError(&_StdError.CallOpts) -} - -// MemOverflowError is a free data retrieval call binding the contract method 0x986c5f68. -// -// Solidity: function memOverflowError() view returns(bytes) -func (_StdError *StdErrorCaller) MemOverflowError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "memOverflowError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// MemOverflowError is a free data retrieval call binding the contract method 0x986c5f68. -// -// Solidity: function memOverflowError() view returns(bytes) -func (_StdError *StdErrorSession) MemOverflowError() ([]byte, error) { - return _StdError.Contract.MemOverflowError(&_StdError.CallOpts) -} - -// MemOverflowError is a free data retrieval call binding the contract method 0x986c5f68. -// -// Solidity: function memOverflowError() view returns(bytes) -func (_StdError *StdErrorCallerSession) MemOverflowError() ([]byte, error) { - return _StdError.Contract.MemOverflowError(&_StdError.CallOpts) -} - -// PopError is a free data retrieval call binding the contract method 0xb22dc54d. -// -// Solidity: function popError() view returns(bytes) -func (_StdError *StdErrorCaller) PopError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "popError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// PopError is a free data retrieval call binding the contract method 0xb22dc54d. -// -// Solidity: function popError() view returns(bytes) -func (_StdError *StdErrorSession) PopError() ([]byte, error) { - return _StdError.Contract.PopError(&_StdError.CallOpts) -} - -// PopError is a free data retrieval call binding the contract method 0xb22dc54d. -// -// Solidity: function popError() view returns(bytes) -func (_StdError *StdErrorCallerSession) PopError() ([]byte, error) { - return _StdError.Contract.PopError(&_StdError.CallOpts) -} - -// ZeroVarError is a free data retrieval call binding the contract method 0xb67689da. -// -// Solidity: function zeroVarError() view returns(bytes) -func (_StdError *StdErrorCaller) ZeroVarError(opts *bind.CallOpts) ([]byte, error) { - var out []interface{} - err := _StdError.contract.Call(opts, &out, "zeroVarError") - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ZeroVarError is a free data retrieval call binding the contract method 0xb67689da. -// -// Solidity: function zeroVarError() view returns(bytes) -func (_StdError *StdErrorSession) ZeroVarError() ([]byte, error) { - return _StdError.Contract.ZeroVarError(&_StdError.CallOpts) -} - -// ZeroVarError is a free data retrieval call binding the contract method 0xb67689da. -// -// Solidity: function zeroVarError() view returns(bytes) -func (_StdError *StdErrorCallerSession) ZeroVarError() ([]byte, error) { - return _StdError.Contract.ZeroVarError(&_StdError.CallOpts) -} diff --git a/pkg/forge-std/stdinvariant.sol/stdinvariant.go b/pkg/forge-std/stdinvariant.sol/stdinvariant.go deleted file mode 100644 index 48b1bba4..00000000 --- a/pkg/forge-std/stdinvariant.sol/stdinvariant.go +++ /dev/null @@ -1,509 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdinvariant - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdInvariantFuzzArtifactSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzArtifactSelector struct { - Artifact string - Selectors [][4]byte -} - -// StdInvariantFuzzInterface is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzInterface struct { - Addr common.Address - Artifacts []string -} - -// StdInvariantFuzzSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzSelector struct { - Addr common.Address - Selectors [][4]byte -} - -// StdInvariantMetaData contains all meta data concerning the StdInvariant contract. -var StdInvariantMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"structStdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", -} - -// StdInvariantABI is the input ABI used to generate the binding from. -// Deprecated: Use StdInvariantMetaData.ABI instead. -var StdInvariantABI = StdInvariantMetaData.ABI - -// StdInvariant is an auto generated Go binding around an Ethereum contract. -type StdInvariant struct { - StdInvariantCaller // Read-only binding to the contract - StdInvariantTransactor // Write-only binding to the contract - StdInvariantFilterer // Log filterer for contract events -} - -// StdInvariantCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdInvariantCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdInvariantTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdInvariantTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdInvariantFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdInvariantFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdInvariantSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdInvariantSession struct { - Contract *StdInvariant // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdInvariantCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdInvariantCallerSession struct { - Contract *StdInvariantCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdInvariantTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdInvariantTransactorSession struct { - Contract *StdInvariantTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdInvariantRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdInvariantRaw struct { - Contract *StdInvariant // Generic contract binding to access the raw methods on -} - -// StdInvariantCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdInvariantCallerRaw struct { - Contract *StdInvariantCaller // Generic read-only contract binding to access the raw methods on -} - -// StdInvariantTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdInvariantTransactorRaw struct { - Contract *StdInvariantTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdInvariant creates a new instance of StdInvariant, bound to a specific deployed contract. -func NewStdInvariant(address common.Address, backend bind.ContractBackend) (*StdInvariant, error) { - contract, err := bindStdInvariant(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdInvariant{StdInvariantCaller: StdInvariantCaller{contract: contract}, StdInvariantTransactor: StdInvariantTransactor{contract: contract}, StdInvariantFilterer: StdInvariantFilterer{contract: contract}}, nil -} - -// NewStdInvariantCaller creates a new read-only instance of StdInvariant, bound to a specific deployed contract. -func NewStdInvariantCaller(address common.Address, caller bind.ContractCaller) (*StdInvariantCaller, error) { - contract, err := bindStdInvariant(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdInvariantCaller{contract: contract}, nil -} - -// NewStdInvariantTransactor creates a new write-only instance of StdInvariant, bound to a specific deployed contract. -func NewStdInvariantTransactor(address common.Address, transactor bind.ContractTransactor) (*StdInvariantTransactor, error) { - contract, err := bindStdInvariant(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdInvariantTransactor{contract: contract}, nil -} - -// NewStdInvariantFilterer creates a new log filterer instance of StdInvariant, bound to a specific deployed contract. -func NewStdInvariantFilterer(address common.Address, filterer bind.ContractFilterer) (*StdInvariantFilterer, error) { - contract, err := bindStdInvariant(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdInvariantFilterer{contract: contract}, nil -} - -// bindStdInvariant binds a generic wrapper to an already deployed contract. -func bindStdInvariant(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdInvariantMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdInvariant *StdInvariantRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdInvariant.Contract.StdInvariantCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdInvariant *StdInvariantRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdInvariant.Contract.StdInvariantTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdInvariant *StdInvariantRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdInvariant.Contract.StdInvariantTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdInvariant *StdInvariantCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdInvariant.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdInvariant *StdInvariantTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdInvariant.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdInvariant *StdInvariantTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdInvariant.Contract.contract.Transact(opts, method, params...) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_StdInvariant *StdInvariantCaller) ExcludeArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "excludeArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_StdInvariant *StdInvariantSession) ExcludeArtifacts() ([]string, error) { - return _StdInvariant.Contract.ExcludeArtifacts(&_StdInvariant.CallOpts) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_StdInvariant *StdInvariantCallerSession) ExcludeArtifacts() ([]string, error) { - return _StdInvariant.Contract.ExcludeArtifacts(&_StdInvariant.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_StdInvariant *StdInvariantCaller) ExcludeContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "excludeContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_StdInvariant *StdInvariantSession) ExcludeContracts() ([]common.Address, error) { - return _StdInvariant.Contract.ExcludeContracts(&_StdInvariant.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_StdInvariant *StdInvariantCallerSession) ExcludeContracts() ([]common.Address, error) { - return _StdInvariant.Contract.ExcludeContracts(&_StdInvariant.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_StdInvariant *StdInvariantCaller) ExcludeSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "excludeSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_StdInvariant *StdInvariantSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _StdInvariant.Contract.ExcludeSelectors(&_StdInvariant.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_StdInvariant *StdInvariantCallerSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _StdInvariant.Contract.ExcludeSelectors(&_StdInvariant.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_StdInvariant *StdInvariantCaller) ExcludeSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "excludeSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_StdInvariant *StdInvariantSession) ExcludeSenders() ([]common.Address, error) { - return _StdInvariant.Contract.ExcludeSenders(&_StdInvariant.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_StdInvariant *StdInvariantCallerSession) ExcludeSenders() ([]common.Address, error) { - return _StdInvariant.Contract.ExcludeSenders(&_StdInvariant.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_StdInvariant *StdInvariantCaller) TargetArtifactSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzArtifactSelector, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "targetArtifactSelectors") - - if err != nil { - return *new([]StdInvariantFuzzArtifactSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzArtifactSelector)).(*[]StdInvariantFuzzArtifactSelector) - - return out0, err - -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_StdInvariant *StdInvariantSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _StdInvariant.Contract.TargetArtifactSelectors(&_StdInvariant.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_StdInvariant *StdInvariantCallerSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _StdInvariant.Contract.TargetArtifactSelectors(&_StdInvariant.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_StdInvariant *StdInvariantCaller) TargetArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "targetArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_StdInvariant *StdInvariantSession) TargetArtifacts() ([]string, error) { - return _StdInvariant.Contract.TargetArtifacts(&_StdInvariant.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_StdInvariant *StdInvariantCallerSession) TargetArtifacts() ([]string, error) { - return _StdInvariant.Contract.TargetArtifacts(&_StdInvariant.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_StdInvariant *StdInvariantCaller) TargetContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "targetContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_StdInvariant *StdInvariantSession) TargetContracts() ([]common.Address, error) { - return _StdInvariant.Contract.TargetContracts(&_StdInvariant.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_StdInvariant *StdInvariantCallerSession) TargetContracts() ([]common.Address, error) { - return _StdInvariant.Contract.TargetContracts(&_StdInvariant.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_StdInvariant *StdInvariantCaller) TargetInterfaces(opts *bind.CallOpts) ([]StdInvariantFuzzInterface, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "targetInterfaces") - - if err != nil { - return *new([]StdInvariantFuzzInterface), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzInterface)).(*[]StdInvariantFuzzInterface) - - return out0, err - -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_StdInvariant *StdInvariantSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _StdInvariant.Contract.TargetInterfaces(&_StdInvariant.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_StdInvariant *StdInvariantCallerSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _StdInvariant.Contract.TargetInterfaces(&_StdInvariant.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_StdInvariant *StdInvariantCaller) TargetSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "targetSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_StdInvariant *StdInvariantSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _StdInvariant.Contract.TargetSelectors(&_StdInvariant.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_StdInvariant *StdInvariantCallerSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _StdInvariant.Contract.TargetSelectors(&_StdInvariant.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_StdInvariant *StdInvariantCaller) TargetSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _StdInvariant.contract.Call(opts, &out, "targetSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_StdInvariant *StdInvariantSession) TargetSenders() ([]common.Address, error) { - return _StdInvariant.Contract.TargetSenders(&_StdInvariant.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_StdInvariant *StdInvariantCallerSession) TargetSenders() ([]common.Address, error) { - return _StdInvariant.Contract.TargetSenders(&_StdInvariant.CallOpts) -} diff --git a/pkg/forge-std/stdjson.sol/stdjson.go b/pkg/forge-std/stdjson.sol/stdjson.go deleted file mode 100644 index 08407218..00000000 --- a/pkg/forge-std/stdjson.sol/stdjson.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdjson - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdJsonMetaData contains all meta data concerning the StdJson contract. -var StdJsonMetaData = &bind.MetaData{ - ABI: "[]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fd118c1fcd3907eb874182e9003db5246bd358195bf6b0e544e419dc1d2826d964736f6c63430008070033", -} - -// StdJsonABI is the input ABI used to generate the binding from. -// Deprecated: Use StdJsonMetaData.ABI instead. -var StdJsonABI = StdJsonMetaData.ABI - -// StdJsonBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StdJsonMetaData.Bin instead. -var StdJsonBin = StdJsonMetaData.Bin - -// DeployStdJson deploys a new Ethereum contract, binding an instance of StdJson to it. -func DeployStdJson(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StdJson, error) { - parsed, err := StdJsonMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StdJsonBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StdJson{StdJsonCaller: StdJsonCaller{contract: contract}, StdJsonTransactor: StdJsonTransactor{contract: contract}, StdJsonFilterer: StdJsonFilterer{contract: contract}}, nil -} - -// StdJson is an auto generated Go binding around an Ethereum contract. -type StdJson struct { - StdJsonCaller // Read-only binding to the contract - StdJsonTransactor // Write-only binding to the contract - StdJsonFilterer // Log filterer for contract events -} - -// StdJsonCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdJsonCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdJsonTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdJsonTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdJsonFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdJsonFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdJsonSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdJsonSession struct { - Contract *StdJson // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdJsonCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdJsonCallerSession struct { - Contract *StdJsonCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdJsonTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdJsonTransactorSession struct { - Contract *StdJsonTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdJsonRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdJsonRaw struct { - Contract *StdJson // Generic contract binding to access the raw methods on -} - -// StdJsonCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdJsonCallerRaw struct { - Contract *StdJsonCaller // Generic read-only contract binding to access the raw methods on -} - -// StdJsonTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdJsonTransactorRaw struct { - Contract *StdJsonTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdJson creates a new instance of StdJson, bound to a specific deployed contract. -func NewStdJson(address common.Address, backend bind.ContractBackend) (*StdJson, error) { - contract, err := bindStdJson(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdJson{StdJsonCaller: StdJsonCaller{contract: contract}, StdJsonTransactor: StdJsonTransactor{contract: contract}, StdJsonFilterer: StdJsonFilterer{contract: contract}}, nil -} - -// NewStdJsonCaller creates a new read-only instance of StdJson, bound to a specific deployed contract. -func NewStdJsonCaller(address common.Address, caller bind.ContractCaller) (*StdJsonCaller, error) { - contract, err := bindStdJson(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdJsonCaller{contract: contract}, nil -} - -// NewStdJsonTransactor creates a new write-only instance of StdJson, bound to a specific deployed contract. -func NewStdJsonTransactor(address common.Address, transactor bind.ContractTransactor) (*StdJsonTransactor, error) { - contract, err := bindStdJson(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdJsonTransactor{contract: contract}, nil -} - -// NewStdJsonFilterer creates a new log filterer instance of StdJson, bound to a specific deployed contract. -func NewStdJsonFilterer(address common.Address, filterer bind.ContractFilterer) (*StdJsonFilterer, error) { - contract, err := bindStdJson(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdJsonFilterer{contract: contract}, nil -} - -// bindStdJson binds a generic wrapper to an already deployed contract. -func bindStdJson(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdJsonMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdJson *StdJsonRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdJson.Contract.StdJsonCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdJson *StdJsonRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdJson.Contract.StdJsonTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdJson *StdJsonRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdJson.Contract.StdJsonTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdJson *StdJsonCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdJson.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdJson *StdJsonTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdJson.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdJson *StdJsonTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdJson.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdmath.sol/stdmath.go b/pkg/forge-std/stdmath.sol/stdmath.go deleted file mode 100644 index 6a9dbf5f..00000000 --- a/pkg/forge-std/stdmath.sol/stdmath.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdmath - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdMathMetaData contains all meta data concerning the StdMath contract. -var StdMathMetaData = &bind.MetaData{ - ABI: "[]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202c9cb8336268ae69ebdb90faf9e4d33e5557f5ffbf651a355e34ae45b76c935a64736f6c63430008070033", -} - -// StdMathABI is the input ABI used to generate the binding from. -// Deprecated: Use StdMathMetaData.ABI instead. -var StdMathABI = StdMathMetaData.ABI - -// StdMathBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StdMathMetaData.Bin instead. -var StdMathBin = StdMathMetaData.Bin - -// DeployStdMath deploys a new Ethereum contract, binding an instance of StdMath to it. -func DeployStdMath(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StdMath, error) { - parsed, err := StdMathMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StdMathBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StdMath{StdMathCaller: StdMathCaller{contract: contract}, StdMathTransactor: StdMathTransactor{contract: contract}, StdMathFilterer: StdMathFilterer{contract: contract}}, nil -} - -// StdMath is an auto generated Go binding around an Ethereum contract. -type StdMath struct { - StdMathCaller // Read-only binding to the contract - StdMathTransactor // Write-only binding to the contract - StdMathFilterer // Log filterer for contract events -} - -// StdMathCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdMathCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdMathTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdMathTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdMathFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdMathFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdMathSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdMathSession struct { - Contract *StdMath // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdMathCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdMathCallerSession struct { - Contract *StdMathCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdMathTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdMathTransactorSession struct { - Contract *StdMathTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdMathRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdMathRaw struct { - Contract *StdMath // Generic contract binding to access the raw methods on -} - -// StdMathCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdMathCallerRaw struct { - Contract *StdMathCaller // Generic read-only contract binding to access the raw methods on -} - -// StdMathTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdMathTransactorRaw struct { - Contract *StdMathTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdMath creates a new instance of StdMath, bound to a specific deployed contract. -func NewStdMath(address common.Address, backend bind.ContractBackend) (*StdMath, error) { - contract, err := bindStdMath(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdMath{StdMathCaller: StdMathCaller{contract: contract}, StdMathTransactor: StdMathTransactor{contract: contract}, StdMathFilterer: StdMathFilterer{contract: contract}}, nil -} - -// NewStdMathCaller creates a new read-only instance of StdMath, bound to a specific deployed contract. -func NewStdMathCaller(address common.Address, caller bind.ContractCaller) (*StdMathCaller, error) { - contract, err := bindStdMath(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdMathCaller{contract: contract}, nil -} - -// NewStdMathTransactor creates a new write-only instance of StdMath, bound to a specific deployed contract. -func NewStdMathTransactor(address common.Address, transactor bind.ContractTransactor) (*StdMathTransactor, error) { - contract, err := bindStdMath(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdMathTransactor{contract: contract}, nil -} - -// NewStdMathFilterer creates a new log filterer instance of StdMath, bound to a specific deployed contract. -func NewStdMathFilterer(address common.Address, filterer bind.ContractFilterer) (*StdMathFilterer, error) { - contract, err := bindStdMath(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdMathFilterer{contract: contract}, nil -} - -// bindStdMath binds a generic wrapper to an already deployed contract. -func bindStdMath(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdMathMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdMath *StdMathRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdMath.Contract.StdMathCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdMath *StdMathRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdMath.Contract.StdMathTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdMath *StdMathRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdMath.Contract.StdMathTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdMath *StdMathCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdMath.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdMath *StdMathTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdMath.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdMath *StdMathTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdMath.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdstorage.sol/stdstorage.go b/pkg/forge-std/stdstorage.sol/stdstorage.go deleted file mode 100644 index 43d4935e..00000000 --- a/pkg/forge-std/stdstorage.sol/stdstorage.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdstorage - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdStorageMetaData contains all meta data concerning the StdStorage contract. -var StdStorageMetaData = &bind.MetaData{ - ABI: "[]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200b6fb7014132ade9c41ca90b7cb0e09d7ce9bbcf96be59a54660031e1258522d64736f6c63430008070033", -} - -// StdStorageABI is the input ABI used to generate the binding from. -// Deprecated: Use StdStorageMetaData.ABI instead. -var StdStorageABI = StdStorageMetaData.ABI - -// StdStorageBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StdStorageMetaData.Bin instead. -var StdStorageBin = StdStorageMetaData.Bin - -// DeployStdStorage deploys a new Ethereum contract, binding an instance of StdStorage to it. -func DeployStdStorage(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StdStorage, error) { - parsed, err := StdStorageMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StdStorageBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StdStorage{StdStorageCaller: StdStorageCaller{contract: contract}, StdStorageTransactor: StdStorageTransactor{contract: contract}, StdStorageFilterer: StdStorageFilterer{contract: contract}}, nil -} - -// StdStorage is an auto generated Go binding around an Ethereum contract. -type StdStorage struct { - StdStorageCaller // Read-only binding to the contract - StdStorageTransactor // Write-only binding to the contract - StdStorageFilterer // Log filterer for contract events -} - -// StdStorageCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdStorageCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStorageTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdStorageTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStorageFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdStorageFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStorageSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdStorageSession struct { - Contract *StdStorage // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdStorageCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdStorageCallerSession struct { - Contract *StdStorageCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdStorageTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdStorageTransactorSession struct { - Contract *StdStorageTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdStorageRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdStorageRaw struct { - Contract *StdStorage // Generic contract binding to access the raw methods on -} - -// StdStorageCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdStorageCallerRaw struct { - Contract *StdStorageCaller // Generic read-only contract binding to access the raw methods on -} - -// StdStorageTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdStorageTransactorRaw struct { - Contract *StdStorageTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdStorage creates a new instance of StdStorage, bound to a specific deployed contract. -func NewStdStorage(address common.Address, backend bind.ContractBackend) (*StdStorage, error) { - contract, err := bindStdStorage(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdStorage{StdStorageCaller: StdStorageCaller{contract: contract}, StdStorageTransactor: StdStorageTransactor{contract: contract}, StdStorageFilterer: StdStorageFilterer{contract: contract}}, nil -} - -// NewStdStorageCaller creates a new read-only instance of StdStorage, bound to a specific deployed contract. -func NewStdStorageCaller(address common.Address, caller bind.ContractCaller) (*StdStorageCaller, error) { - contract, err := bindStdStorage(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdStorageCaller{contract: contract}, nil -} - -// NewStdStorageTransactor creates a new write-only instance of StdStorage, bound to a specific deployed contract. -func NewStdStorageTransactor(address common.Address, transactor bind.ContractTransactor) (*StdStorageTransactor, error) { - contract, err := bindStdStorage(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdStorageTransactor{contract: contract}, nil -} - -// NewStdStorageFilterer creates a new log filterer instance of StdStorage, bound to a specific deployed contract. -func NewStdStorageFilterer(address common.Address, filterer bind.ContractFilterer) (*StdStorageFilterer, error) { - contract, err := bindStdStorage(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdStorageFilterer{contract: contract}, nil -} - -// bindStdStorage binds a generic wrapper to an already deployed contract. -func bindStdStorage(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdStorageMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdStorage *StdStorageRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdStorage.Contract.StdStorageCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdStorage *StdStorageRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdStorage.Contract.StdStorageTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdStorage *StdStorageRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdStorage.Contract.StdStorageTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdStorage *StdStorageCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdStorage.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdStorage *StdStorageTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdStorage.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdStorage *StdStorageTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdStorage.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdstorage.sol/stdstoragesafe.go b/pkg/forge-std/stdstorage.sol/stdstoragesafe.go deleted file mode 100644 index cb144d78..00000000 --- a/pkg/forge-std/stdstorage.sol/stdstoragesafe.go +++ /dev/null @@ -1,475 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdstorage - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdStorageSafeMetaData contains all meta data concerning the StdStorageSafe contract. -var StdStorageSafeMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"fsig\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"keysHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"SlotFound\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"who\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slot\",\"type\":\"uint256\"}],\"name\":\"WARNING_UninitedSlot\",\"type\":\"event\"}]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d00bd3f77bc95c5f63c719093a6d31da7bdf9c8d48a9ab8306cc99545a0bf89664736f6c63430008070033", -} - -// StdStorageSafeABI is the input ABI used to generate the binding from. -// Deprecated: Use StdStorageSafeMetaData.ABI instead. -var StdStorageSafeABI = StdStorageSafeMetaData.ABI - -// StdStorageSafeBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StdStorageSafeMetaData.Bin instead. -var StdStorageSafeBin = StdStorageSafeMetaData.Bin - -// DeployStdStorageSafe deploys a new Ethereum contract, binding an instance of StdStorageSafe to it. -func DeployStdStorageSafe(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StdStorageSafe, error) { - parsed, err := StdStorageSafeMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StdStorageSafeBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StdStorageSafe{StdStorageSafeCaller: StdStorageSafeCaller{contract: contract}, StdStorageSafeTransactor: StdStorageSafeTransactor{contract: contract}, StdStorageSafeFilterer: StdStorageSafeFilterer{contract: contract}}, nil -} - -// StdStorageSafe is an auto generated Go binding around an Ethereum contract. -type StdStorageSafe struct { - StdStorageSafeCaller // Read-only binding to the contract - StdStorageSafeTransactor // Write-only binding to the contract - StdStorageSafeFilterer // Log filterer for contract events -} - -// StdStorageSafeCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdStorageSafeCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStorageSafeTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdStorageSafeTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStorageSafeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdStorageSafeFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStorageSafeSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdStorageSafeSession struct { - Contract *StdStorageSafe // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdStorageSafeCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdStorageSafeCallerSession struct { - Contract *StdStorageSafeCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdStorageSafeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdStorageSafeTransactorSession struct { - Contract *StdStorageSafeTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdStorageSafeRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdStorageSafeRaw struct { - Contract *StdStorageSafe // Generic contract binding to access the raw methods on -} - -// StdStorageSafeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdStorageSafeCallerRaw struct { - Contract *StdStorageSafeCaller // Generic read-only contract binding to access the raw methods on -} - -// StdStorageSafeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdStorageSafeTransactorRaw struct { - Contract *StdStorageSafeTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdStorageSafe creates a new instance of StdStorageSafe, bound to a specific deployed contract. -func NewStdStorageSafe(address common.Address, backend bind.ContractBackend) (*StdStorageSafe, error) { - contract, err := bindStdStorageSafe(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdStorageSafe{StdStorageSafeCaller: StdStorageSafeCaller{contract: contract}, StdStorageSafeTransactor: StdStorageSafeTransactor{contract: contract}, StdStorageSafeFilterer: StdStorageSafeFilterer{contract: contract}}, nil -} - -// NewStdStorageSafeCaller creates a new read-only instance of StdStorageSafe, bound to a specific deployed contract. -func NewStdStorageSafeCaller(address common.Address, caller bind.ContractCaller) (*StdStorageSafeCaller, error) { - contract, err := bindStdStorageSafe(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdStorageSafeCaller{contract: contract}, nil -} - -// NewStdStorageSafeTransactor creates a new write-only instance of StdStorageSafe, bound to a specific deployed contract. -func NewStdStorageSafeTransactor(address common.Address, transactor bind.ContractTransactor) (*StdStorageSafeTransactor, error) { - contract, err := bindStdStorageSafe(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdStorageSafeTransactor{contract: contract}, nil -} - -// NewStdStorageSafeFilterer creates a new log filterer instance of StdStorageSafe, bound to a specific deployed contract. -func NewStdStorageSafeFilterer(address common.Address, filterer bind.ContractFilterer) (*StdStorageSafeFilterer, error) { - contract, err := bindStdStorageSafe(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdStorageSafeFilterer{contract: contract}, nil -} - -// bindStdStorageSafe binds a generic wrapper to an already deployed contract. -func bindStdStorageSafe(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdStorageSafeMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdStorageSafe *StdStorageSafeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdStorageSafe.Contract.StdStorageSafeCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdStorageSafe *StdStorageSafeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdStorageSafe.Contract.StdStorageSafeTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdStorageSafe *StdStorageSafeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdStorageSafe.Contract.StdStorageSafeTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdStorageSafe *StdStorageSafeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdStorageSafe.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdStorageSafe *StdStorageSafeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdStorageSafe.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdStorageSafe *StdStorageSafeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdStorageSafe.Contract.contract.Transact(opts, method, params...) -} - -// StdStorageSafeSlotFoundIterator is returned from FilterSlotFound and is used to iterate over the raw logs and unpacked data for SlotFound events raised by the StdStorageSafe contract. -type StdStorageSafeSlotFoundIterator struct { - Event *StdStorageSafeSlotFound // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdStorageSafeSlotFoundIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdStorageSafeSlotFound) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdStorageSafeSlotFound) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdStorageSafeSlotFoundIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdStorageSafeSlotFoundIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdStorageSafeSlotFound represents a SlotFound event raised by the StdStorageSafe contract. -type StdStorageSafeSlotFound struct { - Who common.Address - Fsig [4]byte - KeysHash [32]byte - Slot *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterSlotFound is a free log retrieval operation binding the contract event 0x9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed. -// -// Solidity: event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot) -func (_StdStorageSafe *StdStorageSafeFilterer) FilterSlotFound(opts *bind.FilterOpts) (*StdStorageSafeSlotFoundIterator, error) { - - logs, sub, err := _StdStorageSafe.contract.FilterLogs(opts, "SlotFound") - if err != nil { - return nil, err - } - return &StdStorageSafeSlotFoundIterator{contract: _StdStorageSafe.contract, event: "SlotFound", logs: logs, sub: sub}, nil -} - -// WatchSlotFound is a free log subscription operation binding the contract event 0x9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed. -// -// Solidity: event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot) -func (_StdStorageSafe *StdStorageSafeFilterer) WatchSlotFound(opts *bind.WatchOpts, sink chan<- *StdStorageSafeSlotFound) (event.Subscription, error) { - - logs, sub, err := _StdStorageSafe.contract.WatchLogs(opts, "SlotFound") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdStorageSafeSlotFound) - if err := _StdStorageSafe.contract.UnpackLog(event, "SlotFound", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseSlotFound is a log parse operation binding the contract event 0x9c9555b1e3102e3cf48f427d79cb678f5d9bd1ed0ad574389461e255f95170ed. -// -// Solidity: event SlotFound(address who, bytes4 fsig, bytes32 keysHash, uint256 slot) -func (_StdStorageSafe *StdStorageSafeFilterer) ParseSlotFound(log types.Log) (*StdStorageSafeSlotFound, error) { - event := new(StdStorageSafeSlotFound) - if err := _StdStorageSafe.contract.UnpackLog(event, "SlotFound", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// StdStorageSafeWARNINGUninitedSlotIterator is returned from FilterWARNINGUninitedSlot and is used to iterate over the raw logs and unpacked data for WARNINGUninitedSlot events raised by the StdStorageSafe contract. -type StdStorageSafeWARNINGUninitedSlotIterator struct { - Event *StdStorageSafeWARNINGUninitedSlot // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *StdStorageSafeWARNINGUninitedSlotIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(StdStorageSafeWARNINGUninitedSlot) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(StdStorageSafeWARNINGUninitedSlot) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *StdStorageSafeWARNINGUninitedSlotIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *StdStorageSafeWARNINGUninitedSlotIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// StdStorageSafeWARNINGUninitedSlot represents a WARNINGUninitedSlot event raised by the StdStorageSafe contract. -type StdStorageSafeWARNINGUninitedSlot struct { - Who common.Address - Slot *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterWARNINGUninitedSlot is a free log retrieval operation binding the contract event 0x080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5. -// -// Solidity: event WARNING_UninitedSlot(address who, uint256 slot) -func (_StdStorageSafe *StdStorageSafeFilterer) FilterWARNINGUninitedSlot(opts *bind.FilterOpts) (*StdStorageSafeWARNINGUninitedSlotIterator, error) { - - logs, sub, err := _StdStorageSafe.contract.FilterLogs(opts, "WARNING_UninitedSlot") - if err != nil { - return nil, err - } - return &StdStorageSafeWARNINGUninitedSlotIterator{contract: _StdStorageSafe.contract, event: "WARNING_UninitedSlot", logs: logs, sub: sub}, nil -} - -// WatchWARNINGUninitedSlot is a free log subscription operation binding the contract event 0x080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5. -// -// Solidity: event WARNING_UninitedSlot(address who, uint256 slot) -func (_StdStorageSafe *StdStorageSafeFilterer) WatchWARNINGUninitedSlot(opts *bind.WatchOpts, sink chan<- *StdStorageSafeWARNINGUninitedSlot) (event.Subscription, error) { - - logs, sub, err := _StdStorageSafe.contract.WatchLogs(opts, "WARNING_UninitedSlot") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(StdStorageSafeWARNINGUninitedSlot) - if err := _StdStorageSafe.contract.UnpackLog(event, "WARNING_UninitedSlot", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseWARNINGUninitedSlot is a log parse operation binding the contract event 0x080fc4a96620c4462e705b23f346413fe3796bb63c6f8d8591baec0e231577a5. -// -// Solidity: event WARNING_UninitedSlot(address who, uint256 slot) -func (_StdStorageSafe *StdStorageSafeFilterer) ParseWARNINGUninitedSlot(log types.Log) (*StdStorageSafeWARNINGUninitedSlot, error) { - event := new(StdStorageSafeWARNINGUninitedSlot) - if err := _StdStorageSafe.contract.UnpackLog(event, "WARNING_UninitedSlot", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/stdstyle.sol/stdstyle.go b/pkg/forge-std/stdstyle.sol/stdstyle.go deleted file mode 100644 index 62f50c57..00000000 --- a/pkg/forge-std/stdstyle.sol/stdstyle.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdstyle - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdStyleMetaData contains all meta data concerning the StdStyle contract. -var StdStyleMetaData = &bind.MetaData{ - ABI: "[]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122076e9da14a2764d00eaf674a9ed2ffca5f85c03aafbeb496e4b22be2fbc5f8c8e64736f6c63430008070033", -} - -// StdStyleABI is the input ABI used to generate the binding from. -// Deprecated: Use StdStyleMetaData.ABI instead. -var StdStyleABI = StdStyleMetaData.ABI - -// StdStyleBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StdStyleMetaData.Bin instead. -var StdStyleBin = StdStyleMetaData.Bin - -// DeployStdStyle deploys a new Ethereum contract, binding an instance of StdStyle to it. -func DeployStdStyle(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StdStyle, error) { - parsed, err := StdStyleMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StdStyleBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StdStyle{StdStyleCaller: StdStyleCaller{contract: contract}, StdStyleTransactor: StdStyleTransactor{contract: contract}, StdStyleFilterer: StdStyleFilterer{contract: contract}}, nil -} - -// StdStyle is an auto generated Go binding around an Ethereum contract. -type StdStyle struct { - StdStyleCaller // Read-only binding to the contract - StdStyleTransactor // Write-only binding to the contract - StdStyleFilterer // Log filterer for contract events -} - -// StdStyleCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdStyleCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStyleTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdStyleTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStyleFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdStyleFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdStyleSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdStyleSession struct { - Contract *StdStyle // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdStyleCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdStyleCallerSession struct { - Contract *StdStyleCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdStyleTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdStyleTransactorSession struct { - Contract *StdStyleTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdStyleRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdStyleRaw struct { - Contract *StdStyle // Generic contract binding to access the raw methods on -} - -// StdStyleCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdStyleCallerRaw struct { - Contract *StdStyleCaller // Generic read-only contract binding to access the raw methods on -} - -// StdStyleTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdStyleTransactorRaw struct { - Contract *StdStyleTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdStyle creates a new instance of StdStyle, bound to a specific deployed contract. -func NewStdStyle(address common.Address, backend bind.ContractBackend) (*StdStyle, error) { - contract, err := bindStdStyle(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdStyle{StdStyleCaller: StdStyleCaller{contract: contract}, StdStyleTransactor: StdStyleTransactor{contract: contract}, StdStyleFilterer: StdStyleFilterer{contract: contract}}, nil -} - -// NewStdStyleCaller creates a new read-only instance of StdStyle, bound to a specific deployed contract. -func NewStdStyleCaller(address common.Address, caller bind.ContractCaller) (*StdStyleCaller, error) { - contract, err := bindStdStyle(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdStyleCaller{contract: contract}, nil -} - -// NewStdStyleTransactor creates a new write-only instance of StdStyle, bound to a specific deployed contract. -func NewStdStyleTransactor(address common.Address, transactor bind.ContractTransactor) (*StdStyleTransactor, error) { - contract, err := bindStdStyle(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdStyleTransactor{contract: contract}, nil -} - -// NewStdStyleFilterer creates a new log filterer instance of StdStyle, bound to a specific deployed contract. -func NewStdStyleFilterer(address common.Address, filterer bind.ContractFilterer) (*StdStyleFilterer, error) { - contract, err := bindStdStyle(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdStyleFilterer{contract: contract}, nil -} - -// bindStdStyle binds a generic wrapper to an already deployed contract. -func bindStdStyle(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdStyleMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdStyle *StdStyleRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdStyle.Contract.StdStyleCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdStyle *StdStyleRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdStyle.Contract.StdStyleTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdStyle *StdStyleRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdStyle.Contract.StdStyleTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdStyle *StdStyleCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdStyle.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdStyle *StdStyleTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdStyle.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdStyle *StdStyleTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdStyle.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdtoml.sol/stdtoml.go b/pkg/forge-std/stdtoml.sol/stdtoml.go deleted file mode 100644 index fa1a104a..00000000 --- a/pkg/forge-std/stdtoml.sol/stdtoml.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdtoml - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdTomlMetaData contains all meta data concerning the StdToml contract. -var StdTomlMetaData = &bind.MetaData{ - ABI: "[]", - Bin: "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e25044dac3c36497036f0280f9b889943144979220629a5dccb0befcba234d5964736f6c63430008070033", -} - -// StdTomlABI is the input ABI used to generate the binding from. -// Deprecated: Use StdTomlMetaData.ABI instead. -var StdTomlABI = StdTomlMetaData.ABI - -// StdTomlBin is the compiled bytecode used for deploying new contracts. -// Deprecated: Use StdTomlMetaData.Bin instead. -var StdTomlBin = StdTomlMetaData.Bin - -// DeployStdToml deploys a new Ethereum contract, binding an instance of StdToml to it. -func DeployStdToml(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *StdToml, error) { - parsed, err := StdTomlMetaData.GetAbi() - if err != nil { - return common.Address{}, nil, nil, err - } - if parsed == nil { - return common.Address{}, nil, nil, errors.New("GetABI returned nil") - } - - address, tx, contract, err := bind.DeployContract(auth, *parsed, common.FromHex(StdTomlBin), backend) - if err != nil { - return common.Address{}, nil, nil, err - } - return address, tx, &StdToml{StdTomlCaller: StdTomlCaller{contract: contract}, StdTomlTransactor: StdTomlTransactor{contract: contract}, StdTomlFilterer: StdTomlFilterer{contract: contract}}, nil -} - -// StdToml is an auto generated Go binding around an Ethereum contract. -type StdToml struct { - StdTomlCaller // Read-only binding to the contract - StdTomlTransactor // Write-only binding to the contract - StdTomlFilterer // Log filterer for contract events -} - -// StdTomlCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdTomlCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdTomlTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdTomlTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdTomlFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdTomlFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdTomlSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdTomlSession struct { - Contract *StdToml // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdTomlCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdTomlCallerSession struct { - Contract *StdTomlCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdTomlTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdTomlTransactorSession struct { - Contract *StdTomlTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdTomlRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdTomlRaw struct { - Contract *StdToml // Generic contract binding to access the raw methods on -} - -// StdTomlCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdTomlCallerRaw struct { - Contract *StdTomlCaller // Generic read-only contract binding to access the raw methods on -} - -// StdTomlTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdTomlTransactorRaw struct { - Contract *StdTomlTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdToml creates a new instance of StdToml, bound to a specific deployed contract. -func NewStdToml(address common.Address, backend bind.ContractBackend) (*StdToml, error) { - contract, err := bindStdToml(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdToml{StdTomlCaller: StdTomlCaller{contract: contract}, StdTomlTransactor: StdTomlTransactor{contract: contract}, StdTomlFilterer: StdTomlFilterer{contract: contract}}, nil -} - -// NewStdTomlCaller creates a new read-only instance of StdToml, bound to a specific deployed contract. -func NewStdTomlCaller(address common.Address, caller bind.ContractCaller) (*StdTomlCaller, error) { - contract, err := bindStdToml(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdTomlCaller{contract: contract}, nil -} - -// NewStdTomlTransactor creates a new write-only instance of StdToml, bound to a specific deployed contract. -func NewStdTomlTransactor(address common.Address, transactor bind.ContractTransactor) (*StdTomlTransactor, error) { - contract, err := bindStdToml(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdTomlTransactor{contract: contract}, nil -} - -// NewStdTomlFilterer creates a new log filterer instance of StdToml, bound to a specific deployed contract. -func NewStdTomlFilterer(address common.Address, filterer bind.ContractFilterer) (*StdTomlFilterer, error) { - contract, err := bindStdToml(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdTomlFilterer{contract: contract}, nil -} - -// bindStdToml binds a generic wrapper to an already deployed contract. -func bindStdToml(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdTomlMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdToml *StdTomlRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdToml.Contract.StdTomlCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdToml *StdTomlRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdToml.Contract.StdTomlTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdToml *StdTomlRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdToml.Contract.StdTomlTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdToml *StdTomlCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdToml.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdToml *StdTomlTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdToml.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdToml *StdTomlTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdToml.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/stdutils.sol/stdutils.go b/pkg/forge-std/stdutils.sol/stdutils.go deleted file mode 100644 index 88d73846..00000000 --- a/pkg/forge-std/stdutils.sol/stdutils.go +++ /dev/null @@ -1,181 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package stdutils - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdUtilsMetaData contains all meta data concerning the StdUtils contract. -var StdUtilsMetaData = &bind.MetaData{ - ABI: "[]", -} - -// StdUtilsABI is the input ABI used to generate the binding from. -// Deprecated: Use StdUtilsMetaData.ABI instead. -var StdUtilsABI = StdUtilsMetaData.ABI - -// StdUtils is an auto generated Go binding around an Ethereum contract. -type StdUtils struct { - StdUtilsCaller // Read-only binding to the contract - StdUtilsTransactor // Write-only binding to the contract - StdUtilsFilterer // Log filterer for contract events -} - -// StdUtilsCaller is an auto generated read-only Go binding around an Ethereum contract. -type StdUtilsCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdUtilsTransactor is an auto generated write-only Go binding around an Ethereum contract. -type StdUtilsTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdUtilsFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type StdUtilsFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// StdUtilsSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type StdUtilsSession struct { - Contract *StdUtils // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdUtilsCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type StdUtilsCallerSession struct { - Contract *StdUtilsCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// StdUtilsTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type StdUtilsTransactorSession struct { - Contract *StdUtilsTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// StdUtilsRaw is an auto generated low-level Go binding around an Ethereum contract. -type StdUtilsRaw struct { - Contract *StdUtils // Generic contract binding to access the raw methods on -} - -// StdUtilsCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type StdUtilsCallerRaw struct { - Contract *StdUtilsCaller // Generic read-only contract binding to access the raw methods on -} - -// StdUtilsTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type StdUtilsTransactorRaw struct { - Contract *StdUtilsTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewStdUtils creates a new instance of StdUtils, bound to a specific deployed contract. -func NewStdUtils(address common.Address, backend bind.ContractBackend) (*StdUtils, error) { - contract, err := bindStdUtils(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &StdUtils{StdUtilsCaller: StdUtilsCaller{contract: contract}, StdUtilsTransactor: StdUtilsTransactor{contract: contract}, StdUtilsFilterer: StdUtilsFilterer{contract: contract}}, nil -} - -// NewStdUtilsCaller creates a new read-only instance of StdUtils, bound to a specific deployed contract. -func NewStdUtilsCaller(address common.Address, caller bind.ContractCaller) (*StdUtilsCaller, error) { - contract, err := bindStdUtils(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &StdUtilsCaller{contract: contract}, nil -} - -// NewStdUtilsTransactor creates a new write-only instance of StdUtils, bound to a specific deployed contract. -func NewStdUtilsTransactor(address common.Address, transactor bind.ContractTransactor) (*StdUtilsTransactor, error) { - contract, err := bindStdUtils(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &StdUtilsTransactor{contract: contract}, nil -} - -// NewStdUtilsFilterer creates a new log filterer instance of StdUtils, bound to a specific deployed contract. -func NewStdUtilsFilterer(address common.Address, filterer bind.ContractFilterer) (*StdUtilsFilterer, error) { - contract, err := bindStdUtils(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &StdUtilsFilterer{contract: contract}, nil -} - -// bindStdUtils binds a generic wrapper to an already deployed contract. -func bindStdUtils(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := StdUtilsMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdUtils *StdUtilsRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdUtils.Contract.StdUtilsCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdUtils *StdUtilsRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdUtils.Contract.StdUtilsTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdUtils *StdUtilsRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdUtils.Contract.StdUtilsTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_StdUtils *StdUtilsCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _StdUtils.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_StdUtils *StdUtilsTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _StdUtils.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_StdUtils *StdUtilsTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _StdUtils.Contract.contract.Transact(opts, method, params...) -} diff --git a/pkg/forge-std/test.sol/test.go b/pkg/forge-std/test.sol/test.go deleted file mode 100644 index 798f4e1f..00000000 --- a/pkg/forge-std/test.sol/test.go +++ /dev/null @@ -1,3532 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package test - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// StdInvariantFuzzArtifactSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzArtifactSelector struct { - Artifact string - Selectors [][4]byte -} - -// StdInvariantFuzzInterface is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzInterface struct { - Addr common.Address - Artifacts []string -} - -// StdInvariantFuzzSelector is an auto generated low-level Go binding around an user-defined struct. -type StdInvariantFuzzSelector struct { - Addr common.Address - Selectors [][4]byte -} - -// TestMetaData contains all meta data concerning the Test contract. -var TestMetaData = &bind.MetaData{ - ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"excludedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"artifact\",\"type\":\"string\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzArtifactSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetInterfaces\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"artifacts\",\"type\":\"string[]\"}],\"internalType\":\"structStdInvariant.FuzzInterface[]\",\"name\":\"targetedInterfaces_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structStdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", -} - -// TestABI is the input ABI used to generate the binding from. -// Deprecated: Use TestMetaData.ABI instead. -var TestABI = TestMetaData.ABI - -// Test is an auto generated Go binding around an Ethereum contract. -type Test struct { - TestCaller // Read-only binding to the contract - TestTransactor // Write-only binding to the contract - TestFilterer // Log filterer for contract events -} - -// TestCaller is an auto generated read-only Go binding around an Ethereum contract. -type TestCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// TestTransactor is an auto generated write-only Go binding around an Ethereum contract. -type TestTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// TestFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type TestFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// TestSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type TestSession struct { - Contract *Test // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// TestCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type TestCallerSession struct { - Contract *TestCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// TestTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type TestTransactorSession struct { - Contract *TestTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// TestRaw is an auto generated low-level Go binding around an Ethereum contract. -type TestRaw struct { - Contract *Test // Generic contract binding to access the raw methods on -} - -// TestCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type TestCallerRaw struct { - Contract *TestCaller // Generic read-only contract binding to access the raw methods on -} - -// TestTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type TestTransactorRaw struct { - Contract *TestTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewTest creates a new instance of Test, bound to a specific deployed contract. -func NewTest(address common.Address, backend bind.ContractBackend) (*Test, error) { - contract, err := bindTest(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &Test{TestCaller: TestCaller{contract: contract}, TestTransactor: TestTransactor{contract: contract}, TestFilterer: TestFilterer{contract: contract}}, nil -} - -// NewTestCaller creates a new read-only instance of Test, bound to a specific deployed contract. -func NewTestCaller(address common.Address, caller bind.ContractCaller) (*TestCaller, error) { - contract, err := bindTest(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &TestCaller{contract: contract}, nil -} - -// NewTestTransactor creates a new write-only instance of Test, bound to a specific deployed contract. -func NewTestTransactor(address common.Address, transactor bind.ContractTransactor) (*TestTransactor, error) { - contract, err := bindTest(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &TestTransactor{contract: contract}, nil -} - -// NewTestFilterer creates a new log filterer instance of Test, bound to a specific deployed contract. -func NewTestFilterer(address common.Address, filterer bind.ContractFilterer) (*TestFilterer, error) { - contract, err := bindTest(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &TestFilterer{contract: contract}, nil -} - -// bindTest binds a generic wrapper to an already deployed contract. -func bindTest(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := TestMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Test *TestRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Test.Contract.TestCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Test *TestRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Test.Contract.TestTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Test *TestRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Test.Contract.TestTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Test *TestCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Test.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Test *TestTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Test.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Test *TestTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Test.Contract.contract.Transact(opts, method, params...) -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_Test *TestCaller) ISTEST(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "IS_TEST") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_Test *TestSession) ISTEST() (bool, error) { - return _Test.Contract.ISTEST(&_Test.CallOpts) -} - -// ISTEST is a free data retrieval call binding the contract method 0xfa7626d4. -// -// Solidity: function IS_TEST() view returns(bool) -func (_Test *TestCallerSession) ISTEST() (bool, error) { - return _Test.Contract.ISTEST(&_Test.CallOpts) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_Test *TestCaller) ExcludeArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "excludeArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_Test *TestSession) ExcludeArtifacts() ([]string, error) { - return _Test.Contract.ExcludeArtifacts(&_Test.CallOpts) -} - -// ExcludeArtifacts is a free data retrieval call binding the contract method 0xb5508aa9. -// -// Solidity: function excludeArtifacts() view returns(string[] excludedArtifacts_) -func (_Test *TestCallerSession) ExcludeArtifacts() ([]string, error) { - return _Test.Contract.ExcludeArtifacts(&_Test.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_Test *TestCaller) ExcludeContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "excludeContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_Test *TestSession) ExcludeContracts() ([]common.Address, error) { - return _Test.Contract.ExcludeContracts(&_Test.CallOpts) -} - -// ExcludeContracts is a free data retrieval call binding the contract method 0xe20c9f71. -// -// Solidity: function excludeContracts() view returns(address[] excludedContracts_) -func (_Test *TestCallerSession) ExcludeContracts() ([]common.Address, error) { - return _Test.Contract.ExcludeContracts(&_Test.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_Test *TestCaller) ExcludeSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "excludeSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_Test *TestSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _Test.Contract.ExcludeSelectors(&_Test.CallOpts) -} - -// ExcludeSelectors is a free data retrieval call binding the contract method 0xb0464fdc. -// -// Solidity: function excludeSelectors() view returns((address,bytes4[])[] excludedSelectors_) -func (_Test *TestCallerSession) ExcludeSelectors() ([]StdInvariantFuzzSelector, error) { - return _Test.Contract.ExcludeSelectors(&_Test.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_Test *TestCaller) ExcludeSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "excludeSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_Test *TestSession) ExcludeSenders() ([]common.Address, error) { - return _Test.Contract.ExcludeSenders(&_Test.CallOpts) -} - -// ExcludeSenders is a free data retrieval call binding the contract method 0x1ed7831c. -// -// Solidity: function excludeSenders() view returns(address[] excludedSenders_) -func (_Test *TestCallerSession) ExcludeSenders() ([]common.Address, error) { - return _Test.Contract.ExcludeSenders(&_Test.CallOpts) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_Test *TestCaller) Failed(opts *bind.CallOpts) (bool, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "failed") - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_Test *TestSession) Failed() (bool, error) { - return _Test.Contract.Failed(&_Test.CallOpts) -} - -// Failed is a free data retrieval call binding the contract method 0xba414fa6. -// -// Solidity: function failed() view returns(bool) -func (_Test *TestCallerSession) Failed() (bool, error) { - return _Test.Contract.Failed(&_Test.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_Test *TestCaller) TargetArtifactSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzArtifactSelector, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "targetArtifactSelectors") - - if err != nil { - return *new([]StdInvariantFuzzArtifactSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzArtifactSelector)).(*[]StdInvariantFuzzArtifactSelector) - - return out0, err - -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_Test *TestSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _Test.Contract.TargetArtifactSelectors(&_Test.CallOpts) -} - -// TargetArtifactSelectors is a free data retrieval call binding the contract method 0x66d9a9a0. -// -// Solidity: function targetArtifactSelectors() view returns((string,bytes4[])[] targetedArtifactSelectors_) -func (_Test *TestCallerSession) TargetArtifactSelectors() ([]StdInvariantFuzzArtifactSelector, error) { - return _Test.Contract.TargetArtifactSelectors(&_Test.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_Test *TestCaller) TargetArtifacts(opts *bind.CallOpts) ([]string, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "targetArtifacts") - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_Test *TestSession) TargetArtifacts() ([]string, error) { - return _Test.Contract.TargetArtifacts(&_Test.CallOpts) -} - -// TargetArtifacts is a free data retrieval call binding the contract method 0x85226c81. -// -// Solidity: function targetArtifacts() view returns(string[] targetedArtifacts_) -func (_Test *TestCallerSession) TargetArtifacts() ([]string, error) { - return _Test.Contract.TargetArtifacts(&_Test.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_Test *TestCaller) TargetContracts(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "targetContracts") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_Test *TestSession) TargetContracts() ([]common.Address, error) { - return _Test.Contract.TargetContracts(&_Test.CallOpts) -} - -// TargetContracts is a free data retrieval call binding the contract method 0x3f7286f4. -// -// Solidity: function targetContracts() view returns(address[] targetedContracts_) -func (_Test *TestCallerSession) TargetContracts() ([]common.Address, error) { - return _Test.Contract.TargetContracts(&_Test.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_Test *TestCaller) TargetInterfaces(opts *bind.CallOpts) ([]StdInvariantFuzzInterface, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "targetInterfaces") - - if err != nil { - return *new([]StdInvariantFuzzInterface), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzInterface)).(*[]StdInvariantFuzzInterface) - - return out0, err - -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_Test *TestSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _Test.Contract.TargetInterfaces(&_Test.CallOpts) -} - -// TargetInterfaces is a free data retrieval call binding the contract method 0x2ade3880. -// -// Solidity: function targetInterfaces() view returns((address,string[])[] targetedInterfaces_) -func (_Test *TestCallerSession) TargetInterfaces() ([]StdInvariantFuzzInterface, error) { - return _Test.Contract.TargetInterfaces(&_Test.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_Test *TestCaller) TargetSelectors(opts *bind.CallOpts) ([]StdInvariantFuzzSelector, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "targetSelectors") - - if err != nil { - return *new([]StdInvariantFuzzSelector), err - } - - out0 := *abi.ConvertType(out[0], new([]StdInvariantFuzzSelector)).(*[]StdInvariantFuzzSelector) - - return out0, err - -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_Test *TestSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _Test.Contract.TargetSelectors(&_Test.CallOpts) -} - -// TargetSelectors is a free data retrieval call binding the contract method 0x916a17c6. -// -// Solidity: function targetSelectors() view returns((address,bytes4[])[] targetedSelectors_) -func (_Test *TestCallerSession) TargetSelectors() ([]StdInvariantFuzzSelector, error) { - return _Test.Contract.TargetSelectors(&_Test.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_Test *TestCaller) TargetSenders(opts *bind.CallOpts) ([]common.Address, error) { - var out []interface{} - err := _Test.contract.Call(opts, &out, "targetSenders") - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_Test *TestSession) TargetSenders() ([]common.Address, error) { - return _Test.Contract.TargetSenders(&_Test.CallOpts) -} - -// TargetSenders is a free data retrieval call binding the contract method 0x3e5e3c23. -// -// Solidity: function targetSenders() view returns(address[] targetedSenders_) -func (_Test *TestCallerSession) TargetSenders() ([]common.Address, error) { - return _Test.Contract.TargetSenders(&_Test.CallOpts) -} - -// TestLogIterator is returned from FilterLog and is used to iterate over the raw logs and unpacked data for Log events raised by the Test contract. -type TestLogIterator struct { - Event *TestLog // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLog) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLog represents a Log event raised by the Test contract. -type TestLog struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLog is a free log retrieval operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_Test *TestFilterer) FilterLog(opts *bind.FilterOpts) (*TestLogIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log") - if err != nil { - return nil, err - } - return &TestLogIterator{contract: _Test.contract, event: "log", logs: logs, sub: sub}, nil -} - -// WatchLog is a free log subscription operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_Test *TestFilterer) WatchLog(opts *bind.WatchOpts, sink chan<- *TestLog) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLog) - if err := _Test.contract.UnpackLog(event, "log", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLog is a log parse operation binding the contract event 0x41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50. -// -// Solidity: event log(string arg0) -func (_Test *TestFilterer) ParseLog(log types.Log) (*TestLog, error) { - event := new(TestLog) - if err := _Test.contract.UnpackLog(event, "log", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogAddressIterator is returned from FilterLogAddress and is used to iterate over the raw logs and unpacked data for LogAddress events raised by the Test contract. -type TestLogAddressIterator struct { - Event *TestLogAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogAddress represents a LogAddress event raised by the Test contract. -type TestLogAddress struct { - Arg0 common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogAddress is a free log retrieval operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_Test *TestFilterer) FilterLogAddress(opts *bind.FilterOpts) (*TestLogAddressIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_address") - if err != nil { - return nil, err - } - return &TestLogAddressIterator{contract: _Test.contract, event: "log_address", logs: logs, sub: sub}, nil -} - -// WatchLogAddress is a free log subscription operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_Test *TestFilterer) WatchLogAddress(opts *bind.WatchOpts, sink chan<- *TestLogAddress) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogAddress) - if err := _Test.contract.UnpackLog(event, "log_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogAddress is a log parse operation binding the contract event 0x7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3. -// -// Solidity: event log_address(address arg0) -func (_Test *TestFilterer) ParseLogAddress(log types.Log) (*TestLogAddress, error) { - event := new(TestLogAddress) - if err := _Test.contract.UnpackLog(event, "log_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogArrayIterator is returned from FilterLogArray and is used to iterate over the raw logs and unpacked data for LogArray events raised by the Test contract. -type TestLogArrayIterator struct { - Event *TestLogArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogArray represents a LogArray event raised by the Test contract. -type TestLogArray struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray is a free log retrieval operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_Test *TestFilterer) FilterLogArray(opts *bind.FilterOpts) (*TestLogArrayIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_array") - if err != nil { - return nil, err - } - return &TestLogArrayIterator{contract: _Test.contract, event: "log_array", logs: logs, sub: sub}, nil -} - -// WatchLogArray is a free log subscription operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_Test *TestFilterer) WatchLogArray(opts *bind.WatchOpts, sink chan<- *TestLogArray) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogArray) - if err := _Test.contract.UnpackLog(event, "log_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray is a log parse operation binding the contract event 0xfb102865d50addddf69da9b5aa1bced66c80cf869a5c8d0471a467e18ce9cab1. -// -// Solidity: event log_array(uint256[] val) -func (_Test *TestFilterer) ParseLogArray(log types.Log) (*TestLogArray, error) { - event := new(TestLogArray) - if err := _Test.contract.UnpackLog(event, "log_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogArray0Iterator is returned from FilterLogArray0 and is used to iterate over the raw logs and unpacked data for LogArray0 events raised by the Test contract. -type TestLogArray0Iterator struct { - Event *TestLogArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogArray0 represents a LogArray0 event raised by the Test contract. -type TestLogArray0 struct { - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray0 is a free log retrieval operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_Test *TestFilterer) FilterLogArray0(opts *bind.FilterOpts) (*TestLogArray0Iterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return &TestLogArray0Iterator{contract: _Test.contract, event: "log_array0", logs: logs, sub: sub}, nil -} - -// WatchLogArray0 is a free log subscription operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_Test *TestFilterer) WatchLogArray0(opts *bind.WatchOpts, sink chan<- *TestLogArray0) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogArray0) - if err := _Test.contract.UnpackLog(event, "log_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray0 is a log parse operation binding the contract event 0x890a82679b470f2bd82816ed9b161f97d8b967f37fa3647c21d5bf39749e2dd5. -// -// Solidity: event log_array(int256[] val) -func (_Test *TestFilterer) ParseLogArray0(log types.Log) (*TestLogArray0, error) { - event := new(TestLogArray0) - if err := _Test.contract.UnpackLog(event, "log_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogArray1Iterator is returned from FilterLogArray1 and is used to iterate over the raw logs and unpacked data for LogArray1 events raised by the Test contract. -type TestLogArray1Iterator struct { - Event *TestLogArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogArray1 represents a LogArray1 event raised by the Test contract. -type TestLogArray1 struct { - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogArray1 is a free log retrieval operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_Test *TestFilterer) FilterLogArray1(opts *bind.FilterOpts) (*TestLogArray1Iterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return &TestLogArray1Iterator{contract: _Test.contract, event: "log_array1", logs: logs, sub: sub}, nil -} - -// WatchLogArray1 is a free log subscription operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_Test *TestFilterer) WatchLogArray1(opts *bind.WatchOpts, sink chan<- *TestLogArray1) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogArray1) - if err := _Test.contract.UnpackLog(event, "log_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogArray1 is a log parse operation binding the contract event 0x40e1840f5769073d61bd01372d9b75baa9842d5629a0c99ff103be1178a8e9e2. -// -// Solidity: event log_array(address[] val) -func (_Test *TestFilterer) ParseLogArray1(log types.Log) (*TestLogArray1, error) { - event := new(TestLogArray1) - if err := _Test.contract.UnpackLog(event, "log_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogBytesIterator is returned from FilterLogBytes and is used to iterate over the raw logs and unpacked data for LogBytes events raised by the Test contract. -type TestLogBytesIterator struct { - Event *TestLogBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogBytes represents a LogBytes event raised by the Test contract. -type TestLogBytes struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes is a free log retrieval operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_Test *TestFilterer) FilterLogBytes(opts *bind.FilterOpts) (*TestLogBytesIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return &TestLogBytesIterator{contract: _Test.contract, event: "log_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogBytes is a free log subscription operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_Test *TestFilterer) WatchLogBytes(opts *bind.WatchOpts, sink chan<- *TestLogBytes) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogBytes) - if err := _Test.contract.UnpackLog(event, "log_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes is a log parse operation binding the contract event 0x23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20. -// -// Solidity: event log_bytes(bytes arg0) -func (_Test *TestFilterer) ParseLogBytes(log types.Log) (*TestLogBytes, error) { - event := new(TestLogBytes) - if err := _Test.contract.UnpackLog(event, "log_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogBytes32Iterator is returned from FilterLogBytes32 and is used to iterate over the raw logs and unpacked data for LogBytes32 events raised by the Test contract. -type TestLogBytes32Iterator struct { - Event *TestLogBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogBytes32 represents a LogBytes32 event raised by the Test contract. -type TestLogBytes32 struct { - Arg0 [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogBytes32 is a free log retrieval operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_Test *TestFilterer) FilterLogBytes32(opts *bind.FilterOpts) (*TestLogBytes32Iterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return &TestLogBytes32Iterator{contract: _Test.contract, event: "log_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogBytes32 is a free log subscription operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_Test *TestFilterer) WatchLogBytes32(opts *bind.WatchOpts, sink chan<- *TestLogBytes32) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogBytes32) - if err := _Test.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogBytes32 is a log parse operation binding the contract event 0xe81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3. -// -// Solidity: event log_bytes32(bytes32 arg0) -func (_Test *TestFilterer) ParseLogBytes32(log types.Log) (*TestLogBytes32, error) { - event := new(TestLogBytes32) - if err := _Test.contract.UnpackLog(event, "log_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogIntIterator is returned from FilterLogInt and is used to iterate over the raw logs and unpacked data for LogInt events raised by the Test contract. -type TestLogIntIterator struct { - Event *TestLogInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogInt represents a LogInt event raised by the Test contract. -type TestLogInt struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogInt is a free log retrieval operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_Test *TestFilterer) FilterLogInt(opts *bind.FilterOpts) (*TestLogIntIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_int") - if err != nil { - return nil, err - } - return &TestLogIntIterator{contract: _Test.contract, event: "log_int", logs: logs, sub: sub}, nil -} - -// WatchLogInt is a free log subscription operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_Test *TestFilterer) WatchLogInt(opts *bind.WatchOpts, sink chan<- *TestLogInt) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogInt) - if err := _Test.contract.UnpackLog(event, "log_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogInt is a log parse operation binding the contract event 0x0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8. -// -// Solidity: event log_int(int256 arg0) -func (_Test *TestFilterer) ParseLogInt(log types.Log) (*TestLogInt, error) { - event := new(TestLogInt) - if err := _Test.contract.UnpackLog(event, "log_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedAddressIterator is returned from FilterLogNamedAddress and is used to iterate over the raw logs and unpacked data for LogNamedAddress events raised by the Test contract. -type TestLogNamedAddressIterator struct { - Event *TestLogNamedAddress // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedAddressIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedAddress) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedAddressIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedAddressIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedAddress represents a LogNamedAddress event raised by the Test contract. -type TestLogNamedAddress struct { - Key string - Val common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedAddress is a free log retrieval operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_Test *TestFilterer) FilterLogNamedAddress(opts *bind.FilterOpts) (*TestLogNamedAddressIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return &TestLogNamedAddressIterator{contract: _Test.contract, event: "log_named_address", logs: logs, sub: sub}, nil -} - -// WatchLogNamedAddress is a free log subscription operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_Test *TestFilterer) WatchLogNamedAddress(opts *bind.WatchOpts, sink chan<- *TestLogNamedAddress) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_address") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedAddress) - if err := _Test.contract.UnpackLog(event, "log_named_address", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedAddress is a log parse operation binding the contract event 0x9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f. -// -// Solidity: event log_named_address(string key, address val) -func (_Test *TestFilterer) ParseLogNamedAddress(log types.Log) (*TestLogNamedAddress, error) { - event := new(TestLogNamedAddress) - if err := _Test.contract.UnpackLog(event, "log_named_address", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedArrayIterator is returned from FilterLogNamedArray and is used to iterate over the raw logs and unpacked data for LogNamedArray events raised by the Test contract. -type TestLogNamedArrayIterator struct { - Event *TestLogNamedArray // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedArrayIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedArray) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedArrayIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedArrayIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedArray represents a LogNamedArray event raised by the Test contract. -type TestLogNamedArray struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray is a free log retrieval operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_Test *TestFilterer) FilterLogNamedArray(opts *bind.FilterOpts) (*TestLogNamedArrayIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return &TestLogNamedArrayIterator{contract: _Test.contract, event: "log_named_array", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray is a free log subscription operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_Test *TestFilterer) WatchLogNamedArray(opts *bind.WatchOpts, sink chan<- *TestLogNamedArray) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_array") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedArray) - if err := _Test.contract.UnpackLog(event, "log_named_array", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray is a log parse operation binding the contract event 0x00aaa39c9ffb5f567a4534380c737075702e1f7f14107fc95328e3b56c0325fb. -// -// Solidity: event log_named_array(string key, uint256[] val) -func (_Test *TestFilterer) ParseLogNamedArray(log types.Log) (*TestLogNamedArray, error) { - event := new(TestLogNamedArray) - if err := _Test.contract.UnpackLog(event, "log_named_array", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedArray0Iterator is returned from FilterLogNamedArray0 and is used to iterate over the raw logs and unpacked data for LogNamedArray0 events raised by the Test contract. -type TestLogNamedArray0Iterator struct { - Event *TestLogNamedArray0 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedArray0Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedArray0) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedArray0Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedArray0Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedArray0 represents a LogNamedArray0 event raised by the Test contract. -type TestLogNamedArray0 struct { - Key string - Val []*big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray0 is a free log retrieval operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_Test *TestFilterer) FilterLogNamedArray0(opts *bind.FilterOpts) (*TestLogNamedArray0Iterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return &TestLogNamedArray0Iterator{contract: _Test.contract, event: "log_named_array0", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray0 is a free log subscription operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_Test *TestFilterer) WatchLogNamedArray0(opts *bind.WatchOpts, sink chan<- *TestLogNamedArray0) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_array0") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedArray0) - if err := _Test.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray0 is a log parse operation binding the contract event 0xa73eda09662f46dde729be4611385ff34fe6c44fbbc6f7e17b042b59a3445b57. -// -// Solidity: event log_named_array(string key, int256[] val) -func (_Test *TestFilterer) ParseLogNamedArray0(log types.Log) (*TestLogNamedArray0, error) { - event := new(TestLogNamedArray0) - if err := _Test.contract.UnpackLog(event, "log_named_array0", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedArray1Iterator is returned from FilterLogNamedArray1 and is used to iterate over the raw logs and unpacked data for LogNamedArray1 events raised by the Test contract. -type TestLogNamedArray1Iterator struct { - Event *TestLogNamedArray1 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedArray1Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedArray1) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedArray1Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedArray1Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedArray1 represents a LogNamedArray1 event raised by the Test contract. -type TestLogNamedArray1 struct { - Key string - Val []common.Address - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedArray1 is a free log retrieval operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_Test *TestFilterer) FilterLogNamedArray1(opts *bind.FilterOpts) (*TestLogNamedArray1Iterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return &TestLogNamedArray1Iterator{contract: _Test.contract, event: "log_named_array1", logs: logs, sub: sub}, nil -} - -// WatchLogNamedArray1 is a free log subscription operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_Test *TestFilterer) WatchLogNamedArray1(opts *bind.WatchOpts, sink chan<- *TestLogNamedArray1) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_array1") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedArray1) - if err := _Test.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedArray1 is a log parse operation binding the contract event 0x3bcfb2ae2e8d132dd1fce7cf278a9a19756a9fceabe470df3bdabb4bc577d1bd. -// -// Solidity: event log_named_array(string key, address[] val) -func (_Test *TestFilterer) ParseLogNamedArray1(log types.Log) (*TestLogNamedArray1, error) { - event := new(TestLogNamedArray1) - if err := _Test.contract.UnpackLog(event, "log_named_array1", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedBytesIterator is returned from FilterLogNamedBytes and is used to iterate over the raw logs and unpacked data for LogNamedBytes events raised by the Test contract. -type TestLogNamedBytesIterator struct { - Event *TestLogNamedBytes // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedBytesIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedBytes) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedBytesIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedBytesIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedBytes represents a LogNamedBytes event raised by the Test contract. -type TestLogNamedBytes struct { - Key string - Val []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes is a free log retrieval operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_Test *TestFilterer) FilterLogNamedBytes(opts *bind.FilterOpts) (*TestLogNamedBytesIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return &TestLogNamedBytesIterator{contract: _Test.contract, event: "log_named_bytes", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes is a free log subscription operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_Test *TestFilterer) WatchLogNamedBytes(opts *bind.WatchOpts, sink chan<- *TestLogNamedBytes) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_bytes") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedBytes) - if err := _Test.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes is a log parse operation binding the contract event 0xd26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18. -// -// Solidity: event log_named_bytes(string key, bytes val) -func (_Test *TestFilterer) ParseLogNamedBytes(log types.Log) (*TestLogNamedBytes, error) { - event := new(TestLogNamedBytes) - if err := _Test.contract.UnpackLog(event, "log_named_bytes", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedBytes32Iterator is returned from FilterLogNamedBytes32 and is used to iterate over the raw logs and unpacked data for LogNamedBytes32 events raised by the Test contract. -type TestLogNamedBytes32Iterator struct { - Event *TestLogNamedBytes32 // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedBytes32Iterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedBytes32) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedBytes32Iterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedBytes32Iterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedBytes32 represents a LogNamedBytes32 event raised by the Test contract. -type TestLogNamedBytes32 struct { - Key string - Val [32]byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedBytes32 is a free log retrieval operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_Test *TestFilterer) FilterLogNamedBytes32(opts *bind.FilterOpts) (*TestLogNamedBytes32Iterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return &TestLogNamedBytes32Iterator{contract: _Test.contract, event: "log_named_bytes32", logs: logs, sub: sub}, nil -} - -// WatchLogNamedBytes32 is a free log subscription operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_Test *TestFilterer) WatchLogNamedBytes32(opts *bind.WatchOpts, sink chan<- *TestLogNamedBytes32) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_bytes32") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedBytes32) - if err := _Test.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedBytes32 is a log parse operation binding the contract event 0xafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99. -// -// Solidity: event log_named_bytes32(string key, bytes32 val) -func (_Test *TestFilterer) ParseLogNamedBytes32(log types.Log) (*TestLogNamedBytes32, error) { - event := new(TestLogNamedBytes32) - if err := _Test.contract.UnpackLog(event, "log_named_bytes32", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedDecimalIntIterator is returned from FilterLogNamedDecimalInt and is used to iterate over the raw logs and unpacked data for LogNamedDecimalInt events raised by the Test contract. -type TestLogNamedDecimalIntIterator struct { - Event *TestLogNamedDecimalInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedDecimalIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedDecimalInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedDecimalIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedDecimalIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedDecimalInt represents a LogNamedDecimalInt event raised by the Test contract. -type TestLogNamedDecimalInt struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalInt is a free log retrieval operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_Test *TestFilterer) FilterLogNamedDecimalInt(opts *bind.FilterOpts) (*TestLogNamedDecimalIntIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return &TestLogNamedDecimalIntIterator{contract: _Test.contract, event: "log_named_decimal_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalInt is a free log subscription operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_Test *TestFilterer) WatchLogNamedDecimalInt(opts *bind.WatchOpts, sink chan<- *TestLogNamedDecimalInt) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_decimal_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedDecimalInt) - if err := _Test.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalInt is a log parse operation binding the contract event 0x5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95. -// -// Solidity: event log_named_decimal_int(string key, int256 val, uint256 decimals) -func (_Test *TestFilterer) ParseLogNamedDecimalInt(log types.Log) (*TestLogNamedDecimalInt, error) { - event := new(TestLogNamedDecimalInt) - if err := _Test.contract.UnpackLog(event, "log_named_decimal_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedDecimalUintIterator is returned from FilterLogNamedDecimalUint and is used to iterate over the raw logs and unpacked data for LogNamedDecimalUint events raised by the Test contract. -type TestLogNamedDecimalUintIterator struct { - Event *TestLogNamedDecimalUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedDecimalUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedDecimalUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedDecimalUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedDecimalUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedDecimalUint represents a LogNamedDecimalUint event raised by the Test contract. -type TestLogNamedDecimalUint struct { - Key string - Val *big.Int - Decimals *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedDecimalUint is a free log retrieval operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_Test *TestFilterer) FilterLogNamedDecimalUint(opts *bind.FilterOpts) (*TestLogNamedDecimalUintIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return &TestLogNamedDecimalUintIterator{contract: _Test.contract, event: "log_named_decimal_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedDecimalUint is a free log subscription operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_Test *TestFilterer) WatchLogNamedDecimalUint(opts *bind.WatchOpts, sink chan<- *TestLogNamedDecimalUint) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_decimal_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedDecimalUint) - if err := _Test.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedDecimalUint is a log parse operation binding the contract event 0xeb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b. -// -// Solidity: event log_named_decimal_uint(string key, uint256 val, uint256 decimals) -func (_Test *TestFilterer) ParseLogNamedDecimalUint(log types.Log) (*TestLogNamedDecimalUint, error) { - event := new(TestLogNamedDecimalUint) - if err := _Test.contract.UnpackLog(event, "log_named_decimal_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedIntIterator is returned from FilterLogNamedInt and is used to iterate over the raw logs and unpacked data for LogNamedInt events raised by the Test contract. -type TestLogNamedIntIterator struct { - Event *TestLogNamedInt // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedIntIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedInt) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedIntIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedIntIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedInt represents a LogNamedInt event raised by the Test contract. -type TestLogNamedInt struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedInt is a free log retrieval operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_Test *TestFilterer) FilterLogNamedInt(opts *bind.FilterOpts) (*TestLogNamedIntIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return &TestLogNamedIntIterator{contract: _Test.contract, event: "log_named_int", logs: logs, sub: sub}, nil -} - -// WatchLogNamedInt is a free log subscription operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_Test *TestFilterer) WatchLogNamedInt(opts *bind.WatchOpts, sink chan<- *TestLogNamedInt) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_int") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedInt) - if err := _Test.contract.UnpackLog(event, "log_named_int", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedInt is a log parse operation binding the contract event 0x2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168. -// -// Solidity: event log_named_int(string key, int256 val) -func (_Test *TestFilterer) ParseLogNamedInt(log types.Log) (*TestLogNamedInt, error) { - event := new(TestLogNamedInt) - if err := _Test.contract.UnpackLog(event, "log_named_int", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedStringIterator is returned from FilterLogNamedString and is used to iterate over the raw logs and unpacked data for LogNamedString events raised by the Test contract. -type TestLogNamedStringIterator struct { - Event *TestLogNamedString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedString represents a LogNamedString event raised by the Test contract. -type TestLogNamedString struct { - Key string - Val string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedString is a free log retrieval operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_Test *TestFilterer) FilterLogNamedString(opts *bind.FilterOpts) (*TestLogNamedStringIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return &TestLogNamedStringIterator{contract: _Test.contract, event: "log_named_string", logs: logs, sub: sub}, nil -} - -// WatchLogNamedString is a free log subscription operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_Test *TestFilterer) WatchLogNamedString(opts *bind.WatchOpts, sink chan<- *TestLogNamedString) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedString) - if err := _Test.contract.UnpackLog(event, "log_named_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedString is a log parse operation binding the contract event 0x280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583. -// -// Solidity: event log_named_string(string key, string val) -func (_Test *TestFilterer) ParseLogNamedString(log types.Log) (*TestLogNamedString, error) { - event := new(TestLogNamedString) - if err := _Test.contract.UnpackLog(event, "log_named_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogNamedUintIterator is returned from FilterLogNamedUint and is used to iterate over the raw logs and unpacked data for LogNamedUint events raised by the Test contract. -type TestLogNamedUintIterator struct { - Event *TestLogNamedUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogNamedUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogNamedUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogNamedUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogNamedUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogNamedUint represents a LogNamedUint event raised by the Test contract. -type TestLogNamedUint struct { - Key string - Val *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogNamedUint is a free log retrieval operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_Test *TestFilterer) FilterLogNamedUint(opts *bind.FilterOpts) (*TestLogNamedUintIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return &TestLogNamedUintIterator{contract: _Test.contract, event: "log_named_uint", logs: logs, sub: sub}, nil -} - -// WatchLogNamedUint is a free log subscription operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_Test *TestFilterer) WatchLogNamedUint(opts *bind.WatchOpts, sink chan<- *TestLogNamedUint) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_named_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogNamedUint) - if err := _Test.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogNamedUint is a log parse operation binding the contract event 0xb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8. -// -// Solidity: event log_named_uint(string key, uint256 val) -func (_Test *TestFilterer) ParseLogNamedUint(log types.Log) (*TestLogNamedUint, error) { - event := new(TestLogNamedUint) - if err := _Test.contract.UnpackLog(event, "log_named_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogStringIterator is returned from FilterLogString and is used to iterate over the raw logs and unpacked data for LogString events raised by the Test contract. -type TestLogStringIterator struct { - Event *TestLogString // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogStringIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogString) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogStringIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogStringIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogString represents a LogString event raised by the Test contract. -type TestLogString struct { - Arg0 string - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogString is a free log retrieval operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_Test *TestFilterer) FilterLogString(opts *bind.FilterOpts) (*TestLogStringIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_string") - if err != nil { - return nil, err - } - return &TestLogStringIterator{contract: _Test.contract, event: "log_string", logs: logs, sub: sub}, nil -} - -// WatchLogString is a free log subscription operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_Test *TestFilterer) WatchLogString(opts *bind.WatchOpts, sink chan<- *TestLogString) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_string") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogString) - if err := _Test.contract.UnpackLog(event, "log_string", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogString is a log parse operation binding the contract event 0x0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b. -// -// Solidity: event log_string(string arg0) -func (_Test *TestFilterer) ParseLogString(log types.Log) (*TestLogString, error) { - event := new(TestLogString) - if err := _Test.contract.UnpackLog(event, "log_string", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogUintIterator is returned from FilterLogUint and is used to iterate over the raw logs and unpacked data for LogUint events raised by the Test contract. -type TestLogUintIterator struct { - Event *TestLogUint // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogUintIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogUint) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogUintIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogUintIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogUint represents a LogUint event raised by the Test contract. -type TestLogUint struct { - Arg0 *big.Int - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogUint is a free log retrieval operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_Test *TestFilterer) FilterLogUint(opts *bind.FilterOpts) (*TestLogUintIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return &TestLogUintIterator{contract: _Test.contract, event: "log_uint", logs: logs, sub: sub}, nil -} - -// WatchLogUint is a free log subscription operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_Test *TestFilterer) WatchLogUint(opts *bind.WatchOpts, sink chan<- *TestLogUint) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "log_uint") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogUint) - if err := _Test.contract.UnpackLog(event, "log_uint", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogUint is a log parse operation binding the contract event 0x2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755. -// -// Solidity: event log_uint(uint256 arg0) -func (_Test *TestFilterer) ParseLogUint(log types.Log) (*TestLogUint, error) { - event := new(TestLogUint) - if err := _Test.contract.UnpackLog(event, "log_uint", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} - -// TestLogsIterator is returned from FilterLogs and is used to iterate over the raw logs and unpacked data for Logs events raised by the Test contract. -type TestLogsIterator struct { - Event *TestLogs // Event containing the contract specifics and raw log - - contract *bind.BoundContract // Generic contract to use for unpacking event data - event string // Event name to use for unpacking event data - - logs chan types.Log // Log channel receiving the found contract events - sub ethereum.Subscription // Subscription for errors, completion and termination - done bool // Whether the subscription completed delivering logs - fail error // Occurred error to stop iteration -} - -// Next advances the iterator to the subsequent event, returning whether there -// are any more events found. In case of a retrieval or parsing error, false is -// returned and Error() can be queried for the exact failure. -func (it *TestLogsIterator) Next() bool { - // If the iterator failed, stop iterating - if it.fail != nil { - return false - } - // If the iterator completed, deliver directly whatever's available - if it.done { - select { - case log := <-it.logs: - it.Event = new(TestLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - default: - return false - } - } - // Iterator still in progress, wait for either a data or an error event - select { - case log := <-it.logs: - it.Event = new(TestLogs) - if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { - it.fail = err - return false - } - it.Event.Raw = log - return true - - case err := <-it.sub.Err(): - it.done = true - it.fail = err - return it.Next() - } -} - -// Error returns any retrieval or parsing error occurred during filtering. -func (it *TestLogsIterator) Error() error { - return it.fail -} - -// Close terminates the iteration process, releasing any pending underlying -// resources. -func (it *TestLogsIterator) Close() error { - it.sub.Unsubscribe() - return nil -} - -// TestLogs represents a Logs event raised by the Test contract. -type TestLogs struct { - Arg0 []byte - Raw types.Log // Blockchain specific contextual infos -} - -// FilterLogs is a free log retrieval operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_Test *TestFilterer) FilterLogs(opts *bind.FilterOpts) (*TestLogsIterator, error) { - - logs, sub, err := _Test.contract.FilterLogs(opts, "logs") - if err != nil { - return nil, err - } - return &TestLogsIterator{contract: _Test.contract, event: "logs", logs: logs, sub: sub}, nil -} - -// WatchLogs is a free log subscription operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_Test *TestFilterer) WatchLogs(opts *bind.WatchOpts, sink chan<- *TestLogs) (event.Subscription, error) { - - logs, sub, err := _Test.contract.WatchLogs(opts, "logs") - if err != nil { - return nil, err - } - return event.NewSubscription(func(quit <-chan struct{}) error { - defer sub.Unsubscribe() - for { - select { - case log := <-logs: - // New log arrived, parse the event and forward to the user - event := new(TestLogs) - if err := _Test.contract.UnpackLog(event, "logs", log); err != nil { - return err - } - event.Raw = log - - select { - case sink <- event: - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - case err := <-sub.Err(): - return err - case <-quit: - return nil - } - } - }), nil -} - -// ParseLogs is a log parse operation binding the contract event 0xe7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4. -// -// Solidity: event logs(bytes arg0) -func (_Test *TestFilterer) ParseLogs(log types.Log) (*TestLogs, error) { - event := new(TestLogs) - if err := _Test.contract.UnpackLog(event, "logs", log); err != nil { - return nil, err - } - event.Raw = log - return event, nil -} diff --git a/pkg/forge-std/vm.sol/vm.go b/pkg/forge-std/vm.sol/vm.go deleted file mode 100644 index 69a67d0c..00000000 --- a/pkg/forge-std/vm.sol/vm.go +++ /dev/null @@ -1,10783 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package vm - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// VmSafeAccountAccess is an auto generated low-level Go binding around an user-defined struct. -type VmSafeAccountAccess struct { - ChainInfo VmSafeChainInfo - Kind uint8 - Account common.Address - Accessor common.Address - Initialized bool - OldBalance *big.Int - NewBalance *big.Int - DeployedCode []byte - Value *big.Int - Data []byte - Reverted bool - StorageAccesses []VmSafeStorageAccess - Depth uint64 -} - -// VmSafeChainInfo is an auto generated low-level Go binding around an user-defined struct. -type VmSafeChainInfo struct { - ForkId *big.Int - ChainId *big.Int -} - -// VmSafeDirEntry is an auto generated low-level Go binding around an user-defined struct. -type VmSafeDirEntry struct { - ErrorMessage string - Path string - Depth uint64 - IsDir bool - IsSymlink bool -} - -// VmSafeEthGetLogs is an auto generated low-level Go binding around an user-defined struct. -type VmSafeEthGetLogs struct { - Emitter common.Address - Topics [][32]byte - Data []byte - BlockHash [32]byte - BlockNumber uint64 - TransactionHash [32]byte - TransactionIndex uint64 - LogIndex *big.Int - Removed bool -} - -// VmSafeFfiResult is an auto generated low-level Go binding around an user-defined struct. -type VmSafeFfiResult struct { - ExitCode int32 - Stdout []byte - Stderr []byte -} - -// VmSafeFsMetadata is an auto generated low-level Go binding around an user-defined struct. -type VmSafeFsMetadata struct { - IsDir bool - IsSymlink bool - Length *big.Int - ReadOnly bool - Modified *big.Int - Accessed *big.Int - Created *big.Int -} - -// VmSafeGas is an auto generated low-level Go binding around an user-defined struct. -type VmSafeGas struct { - GasLimit uint64 - GasTotalUsed uint64 - GasMemoryUsed uint64 - GasRefunded int64 - GasRemaining uint64 -} - -// VmSafeLog is an auto generated low-level Go binding around an user-defined struct. -type VmSafeLog struct { - Topics [][32]byte - Data []byte - Emitter common.Address -} - -// VmSafeRpc is an auto generated low-level Go binding around an user-defined struct. -type VmSafeRpc struct { - Key string - Url string -} - -// VmSafeStorageAccess is an auto generated low-level Go binding around an user-defined struct. -type VmSafeStorageAccess struct { - Account common.Address - Slot [32]byte - IsWrite bool - PreviousValue [32]byte - NewValue [32]byte - Reverted bool -} - -// VmSafeWallet is an auto generated low-level Go binding around an user-defined struct. -type VmSafeWallet struct { - Addr common.Address - PublicKeyX *big.Int - PublicKeyY *big.Int - PrivateKey *big.Int -} - -// VmMetaData contains all meta data concerning the Vm contract. -var VmMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBlobBaseFee\",\"type\":\"uint256\"}],\"name\":\"blobBaseFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"name\":\"blobhashes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"deleteSnapshot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deleteSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToStateJson\",\"type\":\"string\"}],\"name\":\"dumpState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobhashes\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"hashes\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"structVmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enumVmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"structVmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"pathToAllocsJson\",\"type\":\"string\"}],\"name\":\"loadAllocs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrevrandao\",\"type\":\"uint256\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enumVmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertToAndDelete\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"structVmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enumVmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"}],\"internalType\":\"structVmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopExpectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"structVmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", -} - -// VmABI is the input ABI used to generate the binding from. -// Deprecated: Use VmMetaData.ABI instead. -var VmABI = VmMetaData.ABI - -// Vm is an auto generated Go binding around an Ethereum contract. -type Vm struct { - VmCaller // Read-only binding to the contract - VmTransactor // Write-only binding to the contract - VmFilterer // Log filterer for contract events -} - -// VmCaller is an auto generated read-only Go binding around an Ethereum contract. -type VmCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// VmTransactor is an auto generated write-only Go binding around an Ethereum contract. -type VmTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// VmFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type VmFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// VmSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type VmSession struct { - Contract *Vm // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// VmCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type VmCallerSession struct { - Contract *VmCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// VmTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type VmTransactorSession struct { - Contract *VmTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// VmRaw is an auto generated low-level Go binding around an Ethereum contract. -type VmRaw struct { - Contract *Vm // Generic contract binding to access the raw methods on -} - -// VmCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type VmCallerRaw struct { - Contract *VmCaller // Generic read-only contract binding to access the raw methods on -} - -// VmTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type VmTransactorRaw struct { - Contract *VmTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewVm creates a new instance of Vm, bound to a specific deployed contract. -func NewVm(address common.Address, backend bind.ContractBackend) (*Vm, error) { - contract, err := bindVm(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &Vm{VmCaller: VmCaller{contract: contract}, VmTransactor: VmTransactor{contract: contract}, VmFilterer: VmFilterer{contract: contract}}, nil -} - -// NewVmCaller creates a new read-only instance of Vm, bound to a specific deployed contract. -func NewVmCaller(address common.Address, caller bind.ContractCaller) (*VmCaller, error) { - contract, err := bindVm(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &VmCaller{contract: contract}, nil -} - -// NewVmTransactor creates a new write-only instance of Vm, bound to a specific deployed contract. -func NewVmTransactor(address common.Address, transactor bind.ContractTransactor) (*VmTransactor, error) { - contract, err := bindVm(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &VmTransactor{contract: contract}, nil -} - -// NewVmFilterer creates a new log filterer instance of Vm, bound to a specific deployed contract. -func NewVmFilterer(address common.Address, filterer bind.ContractFilterer) (*VmFilterer, error) { - contract, err := bindVm(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &VmFilterer{contract: contract}, nil -} - -// bindVm binds a generic wrapper to an already deployed contract. -func bindVm(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := VmMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Vm *VmRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Vm.Contract.VmCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Vm *VmRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.Contract.VmTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Vm *VmRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Vm.Contract.VmTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_Vm *VmCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _Vm.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_Vm *VmTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_Vm *VmTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _Vm.Contract.contract.Transact(opts, method, params...) -} - -// ActiveFork is a free data retrieval call binding the contract method 0x2f103f22. -// -// Solidity: function activeFork() view returns(uint256 forkId) -func (_Vm *VmCaller) ActiveFork(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "activeFork") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ActiveFork is a free data retrieval call binding the contract method 0x2f103f22. -// -// Solidity: function activeFork() view returns(uint256 forkId) -func (_Vm *VmSession) ActiveFork() (*big.Int, error) { - return _Vm.Contract.ActiveFork(&_Vm.CallOpts) -} - -// ActiveFork is a free data retrieval call binding the contract method 0x2f103f22. -// -// Solidity: function activeFork() view returns(uint256 forkId) -func (_Vm *VmCallerSession) ActiveFork() (*big.Int, error) { - return _Vm.Contract.ActiveFork(&_Vm.CallOpts) -} - -// Addr is a free data retrieval call binding the contract method 0xffa18649. -// -// Solidity: function addr(uint256 privateKey) pure returns(address keyAddr) -func (_Vm *VmCaller) Addr(opts *bind.CallOpts, privateKey *big.Int) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "addr", privateKey) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Addr is a free data retrieval call binding the contract method 0xffa18649. -// -// Solidity: function addr(uint256 privateKey) pure returns(address keyAddr) -func (_Vm *VmSession) Addr(privateKey *big.Int) (common.Address, error) { - return _Vm.Contract.Addr(&_Vm.CallOpts, privateKey) -} - -// Addr is a free data retrieval call binding the contract method 0xffa18649. -// -// Solidity: function addr(uint256 privateKey) pure returns(address keyAddr) -func (_Vm *VmCallerSession) Addr(privateKey *big.Int) (common.Address, error) { - return _Vm.Contract.Addr(&_Vm.CallOpts, privateKey) -} - -// AssertApproxEqAbs is a free data retrieval call binding the contract method 0x16d207c6. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbs(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbs", left, right, maxDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs is a free data retrieval call binding the contract method 0x16d207c6. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) pure returns() -func (_Vm *VmSession) AssertApproxEqAbs(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqAbs(&_Vm.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs is a free data retrieval call binding the contract method 0x16d207c6. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbs(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqAbs(&_Vm.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs0 is a free data retrieval call binding the contract method 0x240f839d. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbs0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbs0", left, right, maxDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs0 is a free data retrieval call binding the contract method 0x240f839d. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) pure returns() -func (_Vm *VmSession) AssertApproxEqAbs0(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqAbs0(&_Vm.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs0 is a free data retrieval call binding the contract method 0x240f839d. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbs0(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqAbs0(&_Vm.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs1 is a free data retrieval call binding the contract method 0x8289e621. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbs1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbs1", left, right, maxDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs1 is a free data retrieval call binding the contract method 0x8289e621. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqAbs1(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbs1(&_Vm.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbs1 is a free data retrieval call binding the contract method 0x8289e621. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbs1(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbs1(&_Vm.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbs2 is a free data retrieval call binding the contract method 0xf710b062. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbs2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbs2", left, right, maxDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs2 is a free data retrieval call binding the contract method 0xf710b062. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqAbs2(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbs2(&_Vm.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbs2 is a free data retrieval call binding the contract method 0xf710b062. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbs2(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbs2(&_Vm.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbsDecimal is a free data retrieval call binding the contract method 0x045c55ce. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbsDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbsDecimal", left, right, maxDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal is a free data retrieval call binding the contract method 0x045c55ce. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertApproxEqAbsDecimal(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqAbsDecimal(&_Vm.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal is a free data retrieval call binding the contract method 0x045c55ce. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbsDecimal(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqAbsDecimal(&_Vm.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal0 is a free data retrieval call binding the contract method 0x3d5bc8bc. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbsDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbsDecimal0", left, right, maxDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal0 is a free data retrieval call binding the contract method 0x3d5bc8bc. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertApproxEqAbsDecimal0(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqAbsDecimal0(&_Vm.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal0 is a free data retrieval call binding the contract method 0x3d5bc8bc. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbsDecimal0(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqAbsDecimal0(&_Vm.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal1 is a free data retrieval call binding the contract method 0x60429eb2. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbsDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbsDecimal1", left, right, maxDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal1 is a free data retrieval call binding the contract method 0x60429eb2. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqAbsDecimal1(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbsDecimal1(&_Vm.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqAbsDecimal1 is a free data retrieval call binding the contract method 0x60429eb2. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbsDecimal1(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbsDecimal1(&_Vm.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqAbsDecimal2 is a free data retrieval call binding the contract method 0x6a5066d4. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqAbsDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqAbsDecimal2", left, right, maxDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal2 is a free data retrieval call binding the contract method 0x6a5066d4. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqAbsDecimal2(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbsDecimal2(&_Vm.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqAbsDecimal2 is a free data retrieval call binding the contract method 0x6a5066d4. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqAbsDecimal2(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqAbsDecimal2(&_Vm.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqRel is a free data retrieval call binding the contract method 0x1ecb7d33. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqRel(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRel", left, right, maxPercentDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel is a free data retrieval call binding the contract method 0x1ecb7d33. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqRel(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRel(&_Vm.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel is a free data retrieval call binding the contract method 0x1ecb7d33. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRel(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRel(&_Vm.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel0 is a free data retrieval call binding the contract method 0x8cf25ef4. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) pure returns() -func (_Vm *VmCaller) AssertApproxEqRel0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRel0", left, right, maxPercentDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel0 is a free data retrieval call binding the contract method 0x8cf25ef4. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) pure returns() -func (_Vm *VmSession) AssertApproxEqRel0(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqRel0(&_Vm.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRel0 is a free data retrieval call binding the contract method 0x8cf25ef4. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRel0(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqRel0(&_Vm.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRel1 is a free data retrieval call binding the contract method 0xef277d72. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqRel1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRel1", left, right, maxPercentDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel1 is a free data retrieval call binding the contract method 0xef277d72. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqRel1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRel1(&_Vm.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel1 is a free data retrieval call binding the contract method 0xef277d72. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRel1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRel1(&_Vm.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel2 is a free data retrieval call binding the contract method 0xfea2d14f. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) pure returns() -func (_Vm *VmCaller) AssertApproxEqRel2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRel2", left, right, maxPercentDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel2 is a free data retrieval call binding the contract method 0xfea2d14f. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) pure returns() -func (_Vm *VmSession) AssertApproxEqRel2(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqRel2(&_Vm.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRel2 is a free data retrieval call binding the contract method 0xfea2d14f. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRel2(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _Vm.Contract.AssertApproxEqRel2(&_Vm.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRelDecimal is a free data retrieval call binding the contract method 0x21ed2977. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertApproxEqRelDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRelDecimal", left, right, maxPercentDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal is a free data retrieval call binding the contract method 0x21ed2977. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertApproxEqRelDecimal(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqRelDecimal(&_Vm.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal is a free data retrieval call binding the contract method 0x21ed2977. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRelDecimal(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqRelDecimal(&_Vm.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal0 is a free data retrieval call binding the contract method 0x82d6c8fd. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqRelDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRelDecimal0", left, right, maxPercentDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal0 is a free data retrieval call binding the contract method 0x82d6c8fd. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqRelDecimal0(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRelDecimal0(&_Vm.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertApproxEqRelDecimal0 is a free data retrieval call binding the contract method 0x82d6c8fd. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRelDecimal0(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRelDecimal0(&_Vm.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertApproxEqRelDecimal1 is a free data retrieval call binding the contract method 0xabbf21cc. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertApproxEqRelDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRelDecimal1", left, right, maxPercentDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal1 is a free data retrieval call binding the contract method 0xabbf21cc. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertApproxEqRelDecimal1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqRelDecimal1(&_Vm.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal1 is a free data retrieval call binding the contract method 0xabbf21cc. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRelDecimal1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertApproxEqRelDecimal1(&_Vm.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal2 is a free data retrieval call binding the contract method 0xfccc11c4. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertApproxEqRelDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertApproxEqRelDecimal2", left, right, maxPercentDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal2 is a free data retrieval call binding the contract method 0xfccc11c4. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertApproxEqRelDecimal2(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRelDecimal2(&_Vm.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertApproxEqRelDecimal2 is a free data retrieval call binding the contract method 0xfccc11c4. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertApproxEqRelDecimal2(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertApproxEqRelDecimal2(&_Vm.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertEq is a free data retrieval call binding the contract method 0x0cc9ee84. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right) pure returns() -func (_Vm *VmCaller) AssertEq(opts *bind.CallOpts, left [][32]byte, right [][32]byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq is a free data retrieval call binding the contract method 0x0cc9ee84. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right) pure returns() -func (_Vm *VmSession) AssertEq(left [][32]byte, right [][32]byte) error { - return _Vm.Contract.AssertEq(&_Vm.CallOpts, left, right) -} - -// AssertEq is a free data retrieval call binding the contract method 0x0cc9ee84. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right) pure returns() -func (_Vm *VmCallerSession) AssertEq(left [][32]byte, right [][32]byte) error { - return _Vm.Contract.AssertEq(&_Vm.CallOpts, left, right) -} - -// AssertEq0 is a free data retrieval call binding the contract method 0x191f1b30. -// -// Solidity: function assertEq(int256[] left, int256[] right, string error) pure returns() -func (_Vm *VmCaller) AssertEq0(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq0 is a free data retrieval call binding the contract method 0x191f1b30. -// -// Solidity: function assertEq(int256[] left, int256[] right, string error) pure returns() -func (_Vm *VmSession) AssertEq0(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertEq0(&_Vm.CallOpts, left, right, error) -} - -// AssertEq0 is a free data retrieval call binding the contract method 0x191f1b30. -// -// Solidity: function assertEq(int256[] left, int256[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq0(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertEq0(&_Vm.CallOpts, left, right, error) -} - -// AssertEq1 is a free data retrieval call binding the contract method 0x2f2769d1. -// -// Solidity: function assertEq(address left, address right, string error) pure returns() -func (_Vm *VmCaller) AssertEq1(opts *bind.CallOpts, left common.Address, right common.Address, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq1", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq1 is a free data retrieval call binding the contract method 0x2f2769d1. -// -// Solidity: function assertEq(address left, address right, string error) pure returns() -func (_Vm *VmSession) AssertEq1(left common.Address, right common.Address, error string) error { - return _Vm.Contract.AssertEq1(&_Vm.CallOpts, left, right, error) -} - -// AssertEq1 is a free data retrieval call binding the contract method 0x2f2769d1. -// -// Solidity: function assertEq(address left, address right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq1(left common.Address, right common.Address, error string) error { - return _Vm.Contract.AssertEq1(&_Vm.CallOpts, left, right, error) -} - -// AssertEq10 is a free data retrieval call binding the contract method 0x714a2f13. -// -// Solidity: function assertEq(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCaller) AssertEq10(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq10", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq10 is a free data retrieval call binding the contract method 0x714a2f13. -// -// Solidity: function assertEq(int256 left, int256 right, string error) pure returns() -func (_Vm *VmSession) AssertEq10(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertEq10(&_Vm.CallOpts, left, right, error) -} - -// AssertEq10 is a free data retrieval call binding the contract method 0x714a2f13. -// -// Solidity: function assertEq(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq10(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertEq10(&_Vm.CallOpts, left, right, error) -} - -// AssertEq11 is a free data retrieval call binding the contract method 0x7c84c69b. -// -// Solidity: function assertEq(bytes32 left, bytes32 right) pure returns() -func (_Vm *VmCaller) AssertEq11(opts *bind.CallOpts, left [32]byte, right [32]byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq11", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq11 is a free data retrieval call binding the contract method 0x7c84c69b. -// -// Solidity: function assertEq(bytes32 left, bytes32 right) pure returns() -func (_Vm *VmSession) AssertEq11(left [32]byte, right [32]byte) error { - return _Vm.Contract.AssertEq11(&_Vm.CallOpts, left, right) -} - -// AssertEq11 is a free data retrieval call binding the contract method 0x7c84c69b. -// -// Solidity: function assertEq(bytes32 left, bytes32 right) pure returns() -func (_Vm *VmCallerSession) AssertEq11(left [32]byte, right [32]byte) error { - return _Vm.Contract.AssertEq11(&_Vm.CallOpts, left, right) -} - -// AssertEq12 is a free data retrieval call binding the contract method 0x88b44c85. -// -// Solidity: function assertEq(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCaller) AssertEq12(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq12", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq12 is a free data retrieval call binding the contract method 0x88b44c85. -// -// Solidity: function assertEq(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmSession) AssertEq12(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertEq12(&_Vm.CallOpts, left, right, error) -} - -// AssertEq12 is a free data retrieval call binding the contract method 0x88b44c85. -// -// Solidity: function assertEq(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq12(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertEq12(&_Vm.CallOpts, left, right, error) -} - -// AssertEq13 is a free data retrieval call binding the contract method 0x975d5a12. -// -// Solidity: function assertEq(uint256[] left, uint256[] right) pure returns() -func (_Vm *VmCaller) AssertEq13(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq13", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq13 is a free data retrieval call binding the contract method 0x975d5a12. -// -// Solidity: function assertEq(uint256[] left, uint256[] right) pure returns() -func (_Vm *VmSession) AssertEq13(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertEq13(&_Vm.CallOpts, left, right) -} - -// AssertEq13 is a free data retrieval call binding the contract method 0x975d5a12. -// -// Solidity: function assertEq(uint256[] left, uint256[] right) pure returns() -func (_Vm *VmCallerSession) AssertEq13(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertEq13(&_Vm.CallOpts, left, right) -} - -// AssertEq14 is a free data retrieval call binding the contract method 0x97624631. -// -// Solidity: function assertEq(bytes left, bytes right) pure returns() -func (_Vm *VmCaller) AssertEq14(opts *bind.CallOpts, left []byte, right []byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq14", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq14 is a free data retrieval call binding the contract method 0x97624631. -// -// Solidity: function assertEq(bytes left, bytes right) pure returns() -func (_Vm *VmSession) AssertEq14(left []byte, right []byte) error { - return _Vm.Contract.AssertEq14(&_Vm.CallOpts, left, right) -} - -// AssertEq14 is a free data retrieval call binding the contract method 0x97624631. -// -// Solidity: function assertEq(bytes left, bytes right) pure returns() -func (_Vm *VmCallerSession) AssertEq14(left []byte, right []byte) error { - return _Vm.Contract.AssertEq14(&_Vm.CallOpts, left, right) -} - -// AssertEq15 is a free data retrieval call binding the contract method 0x98296c54. -// -// Solidity: function assertEq(uint256 left, uint256 right) pure returns() -func (_Vm *VmCaller) AssertEq15(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq15", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq15 is a free data retrieval call binding the contract method 0x98296c54. -// -// Solidity: function assertEq(uint256 left, uint256 right) pure returns() -func (_Vm *VmSession) AssertEq15(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertEq15(&_Vm.CallOpts, left, right) -} - -// AssertEq15 is a free data retrieval call binding the contract method 0x98296c54. -// -// Solidity: function assertEq(uint256 left, uint256 right) pure returns() -func (_Vm *VmCallerSession) AssertEq15(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertEq15(&_Vm.CallOpts, left, right) -} - -// AssertEq16 is a free data retrieval call binding the contract method 0xc1fa1ed0. -// -// Solidity: function assertEq(bytes32 left, bytes32 right, string error) pure returns() -func (_Vm *VmCaller) AssertEq16(opts *bind.CallOpts, left [32]byte, right [32]byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq16", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq16 is a free data retrieval call binding the contract method 0xc1fa1ed0. -// -// Solidity: function assertEq(bytes32 left, bytes32 right, string error) pure returns() -func (_Vm *VmSession) AssertEq16(left [32]byte, right [32]byte, error string) error { - return _Vm.Contract.AssertEq16(&_Vm.CallOpts, left, right, error) -} - -// AssertEq16 is a free data retrieval call binding the contract method 0xc1fa1ed0. -// -// Solidity: function assertEq(bytes32 left, bytes32 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq16(left [32]byte, right [32]byte, error string) error { - return _Vm.Contract.AssertEq16(&_Vm.CallOpts, left, right, error) -} - -// AssertEq17 is a free data retrieval call binding the contract method 0xcf1c049c. -// -// Solidity: function assertEq(string[] left, string[] right) pure returns() -func (_Vm *VmCaller) AssertEq17(opts *bind.CallOpts, left []string, right []string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq17", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq17 is a free data retrieval call binding the contract method 0xcf1c049c. -// -// Solidity: function assertEq(string[] left, string[] right) pure returns() -func (_Vm *VmSession) AssertEq17(left []string, right []string) error { - return _Vm.Contract.AssertEq17(&_Vm.CallOpts, left, right) -} - -// AssertEq17 is a free data retrieval call binding the contract method 0xcf1c049c. -// -// Solidity: function assertEq(string[] left, string[] right) pure returns() -func (_Vm *VmCallerSession) AssertEq17(left []string, right []string) error { - return _Vm.Contract.AssertEq17(&_Vm.CallOpts, left, right) -} - -// AssertEq18 is a free data retrieval call binding the contract method 0xe03e9177. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_Vm *VmCaller) AssertEq18(opts *bind.CallOpts, left [][32]byte, right [][32]byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq18", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq18 is a free data retrieval call binding the contract method 0xe03e9177. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_Vm *VmSession) AssertEq18(left [][32]byte, right [][32]byte, error string) error { - return _Vm.Contract.AssertEq18(&_Vm.CallOpts, left, right, error) -} - -// AssertEq18 is a free data retrieval call binding the contract method 0xe03e9177. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq18(left [][32]byte, right [][32]byte, error string) error { - return _Vm.Contract.AssertEq18(&_Vm.CallOpts, left, right, error) -} - -// AssertEq19 is a free data retrieval call binding the contract method 0xe24fed00. -// -// Solidity: function assertEq(bytes left, bytes right, string error) pure returns() -func (_Vm *VmCaller) AssertEq19(opts *bind.CallOpts, left []byte, right []byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq19", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq19 is a free data retrieval call binding the contract method 0xe24fed00. -// -// Solidity: function assertEq(bytes left, bytes right, string error) pure returns() -func (_Vm *VmSession) AssertEq19(left []byte, right []byte, error string) error { - return _Vm.Contract.AssertEq19(&_Vm.CallOpts, left, right, error) -} - -// AssertEq19 is a free data retrieval call binding the contract method 0xe24fed00. -// -// Solidity: function assertEq(bytes left, bytes right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq19(left []byte, right []byte, error string) error { - return _Vm.Contract.AssertEq19(&_Vm.CallOpts, left, right, error) -} - -// AssertEq2 is a free data retrieval call binding the contract method 0x36f656d8. -// -// Solidity: function assertEq(string left, string right, string error) pure returns() -func (_Vm *VmCaller) AssertEq2(opts *bind.CallOpts, left string, right string, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq2 is a free data retrieval call binding the contract method 0x36f656d8. -// -// Solidity: function assertEq(string left, string right, string error) pure returns() -func (_Vm *VmSession) AssertEq2(left string, right string, error string) error { - return _Vm.Contract.AssertEq2(&_Vm.CallOpts, left, right, error) -} - -// AssertEq2 is a free data retrieval call binding the contract method 0x36f656d8. -// -// Solidity: function assertEq(string left, string right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq2(left string, right string, error string) error { - return _Vm.Contract.AssertEq2(&_Vm.CallOpts, left, right, error) -} - -// AssertEq20 is a free data retrieval call binding the contract method 0xe48a8f8d. -// -// Solidity: function assertEq(bool[] left, bool[] right, string error) pure returns() -func (_Vm *VmCaller) AssertEq20(opts *bind.CallOpts, left []bool, right []bool, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq20", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq20 is a free data retrieval call binding the contract method 0xe48a8f8d. -// -// Solidity: function assertEq(bool[] left, bool[] right, string error) pure returns() -func (_Vm *VmSession) AssertEq20(left []bool, right []bool, error string) error { - return _Vm.Contract.AssertEq20(&_Vm.CallOpts, left, right, error) -} - -// AssertEq20 is a free data retrieval call binding the contract method 0xe48a8f8d. -// -// Solidity: function assertEq(bool[] left, bool[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq20(left []bool, right []bool, error string) error { - return _Vm.Contract.AssertEq20(&_Vm.CallOpts, left, right, error) -} - -// AssertEq21 is a free data retrieval call binding the contract method 0xe5fb9b4a. -// -// Solidity: function assertEq(bytes[] left, bytes[] right) pure returns() -func (_Vm *VmCaller) AssertEq21(opts *bind.CallOpts, left [][]byte, right [][]byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq21", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq21 is a free data retrieval call binding the contract method 0xe5fb9b4a. -// -// Solidity: function assertEq(bytes[] left, bytes[] right) pure returns() -func (_Vm *VmSession) AssertEq21(left [][]byte, right [][]byte) error { - return _Vm.Contract.AssertEq21(&_Vm.CallOpts, left, right) -} - -// AssertEq21 is a free data retrieval call binding the contract method 0xe5fb9b4a. -// -// Solidity: function assertEq(bytes[] left, bytes[] right) pure returns() -func (_Vm *VmCallerSession) AssertEq21(left [][]byte, right [][]byte) error { - return _Vm.Contract.AssertEq21(&_Vm.CallOpts, left, right) -} - -// AssertEq22 is a free data retrieval call binding the contract method 0xeff6b27d. -// -// Solidity: function assertEq(string[] left, string[] right, string error) pure returns() -func (_Vm *VmCaller) AssertEq22(opts *bind.CallOpts, left []string, right []string, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq22", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq22 is a free data retrieval call binding the contract method 0xeff6b27d. -// -// Solidity: function assertEq(string[] left, string[] right, string error) pure returns() -func (_Vm *VmSession) AssertEq22(left []string, right []string, error string) error { - return _Vm.Contract.AssertEq22(&_Vm.CallOpts, left, right, error) -} - -// AssertEq22 is a free data retrieval call binding the contract method 0xeff6b27d. -// -// Solidity: function assertEq(string[] left, string[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq22(left []string, right []string, error string) error { - return _Vm.Contract.AssertEq22(&_Vm.CallOpts, left, right, error) -} - -// AssertEq23 is a free data retrieval call binding the contract method 0xf320d963. -// -// Solidity: function assertEq(string left, string right) pure returns() -func (_Vm *VmCaller) AssertEq23(opts *bind.CallOpts, left string, right string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq23", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq23 is a free data retrieval call binding the contract method 0xf320d963. -// -// Solidity: function assertEq(string left, string right) pure returns() -func (_Vm *VmSession) AssertEq23(left string, right string) error { - return _Vm.Contract.AssertEq23(&_Vm.CallOpts, left, right) -} - -// AssertEq23 is a free data retrieval call binding the contract method 0xf320d963. -// -// Solidity: function assertEq(string left, string right) pure returns() -func (_Vm *VmCallerSession) AssertEq23(left string, right string) error { - return _Vm.Contract.AssertEq23(&_Vm.CallOpts, left, right) -} - -// AssertEq24 is a free data retrieval call binding the contract method 0xf413f0b6. -// -// Solidity: function assertEq(bytes[] left, bytes[] right, string error) pure returns() -func (_Vm *VmCaller) AssertEq24(opts *bind.CallOpts, left [][]byte, right [][]byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq24", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq24 is a free data retrieval call binding the contract method 0xf413f0b6. -// -// Solidity: function assertEq(bytes[] left, bytes[] right, string error) pure returns() -func (_Vm *VmSession) AssertEq24(left [][]byte, right [][]byte, error string) error { - return _Vm.Contract.AssertEq24(&_Vm.CallOpts, left, right, error) -} - -// AssertEq24 is a free data retrieval call binding the contract method 0xf413f0b6. -// -// Solidity: function assertEq(bytes[] left, bytes[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq24(left [][]byte, right [][]byte, error string) error { - return _Vm.Contract.AssertEq24(&_Vm.CallOpts, left, right, error) -} - -// AssertEq25 is a free data retrieval call binding the contract method 0xf7fe3477. -// -// Solidity: function assertEq(bool left, bool right) pure returns() -func (_Vm *VmCaller) AssertEq25(opts *bind.CallOpts, left bool, right bool) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq25", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq25 is a free data retrieval call binding the contract method 0xf7fe3477. -// -// Solidity: function assertEq(bool left, bool right) pure returns() -func (_Vm *VmSession) AssertEq25(left bool, right bool) error { - return _Vm.Contract.AssertEq25(&_Vm.CallOpts, left, right) -} - -// AssertEq25 is a free data retrieval call binding the contract method 0xf7fe3477. -// -// Solidity: function assertEq(bool left, bool right) pure returns() -func (_Vm *VmCallerSession) AssertEq25(left bool, right bool) error { - return _Vm.Contract.AssertEq25(&_Vm.CallOpts, left, right) -} - -// AssertEq26 is a free data retrieval call binding the contract method 0xfe74f05b. -// -// Solidity: function assertEq(int256 left, int256 right) pure returns() -func (_Vm *VmCaller) AssertEq26(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq26", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq26 is a free data retrieval call binding the contract method 0xfe74f05b. -// -// Solidity: function assertEq(int256 left, int256 right) pure returns() -func (_Vm *VmSession) AssertEq26(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertEq26(&_Vm.CallOpts, left, right) -} - -// AssertEq26 is a free data retrieval call binding the contract method 0xfe74f05b. -// -// Solidity: function assertEq(int256 left, int256 right) pure returns() -func (_Vm *VmCallerSession) AssertEq26(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertEq26(&_Vm.CallOpts, left, right) -} - -// AssertEq3 is a free data retrieval call binding the contract method 0x3868ac34. -// -// Solidity: function assertEq(address[] left, address[] right) pure returns() -func (_Vm *VmCaller) AssertEq3(opts *bind.CallOpts, left []common.Address, right []common.Address) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq3", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq3 is a free data retrieval call binding the contract method 0x3868ac34. -// -// Solidity: function assertEq(address[] left, address[] right) pure returns() -func (_Vm *VmSession) AssertEq3(left []common.Address, right []common.Address) error { - return _Vm.Contract.AssertEq3(&_Vm.CallOpts, left, right) -} - -// AssertEq3 is a free data retrieval call binding the contract method 0x3868ac34. -// -// Solidity: function assertEq(address[] left, address[] right) pure returns() -func (_Vm *VmCallerSession) AssertEq3(left []common.Address, right []common.Address) error { - return _Vm.Contract.AssertEq3(&_Vm.CallOpts, left, right) -} - -// AssertEq4 is a free data retrieval call binding the contract method 0x3e9173c5. -// -// Solidity: function assertEq(address[] left, address[] right, string error) pure returns() -func (_Vm *VmCaller) AssertEq4(opts *bind.CallOpts, left []common.Address, right []common.Address, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq4", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq4 is a free data retrieval call binding the contract method 0x3e9173c5. -// -// Solidity: function assertEq(address[] left, address[] right, string error) pure returns() -func (_Vm *VmSession) AssertEq4(left []common.Address, right []common.Address, error string) error { - return _Vm.Contract.AssertEq4(&_Vm.CallOpts, left, right, error) -} - -// AssertEq4 is a free data retrieval call binding the contract method 0x3e9173c5. -// -// Solidity: function assertEq(address[] left, address[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq4(left []common.Address, right []common.Address, error string) error { - return _Vm.Contract.AssertEq4(&_Vm.CallOpts, left, right, error) -} - -// AssertEq5 is a free data retrieval call binding the contract method 0x4db19e7e. -// -// Solidity: function assertEq(bool left, bool right, string error) pure returns() -func (_Vm *VmCaller) AssertEq5(opts *bind.CallOpts, left bool, right bool, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq5", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq5 is a free data retrieval call binding the contract method 0x4db19e7e. -// -// Solidity: function assertEq(bool left, bool right, string error) pure returns() -func (_Vm *VmSession) AssertEq5(left bool, right bool, error string) error { - return _Vm.Contract.AssertEq5(&_Vm.CallOpts, left, right, error) -} - -// AssertEq5 is a free data retrieval call binding the contract method 0x4db19e7e. -// -// Solidity: function assertEq(bool left, bool right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq5(left bool, right bool, error string) error { - return _Vm.Contract.AssertEq5(&_Vm.CallOpts, left, right, error) -} - -// AssertEq6 is a free data retrieval call binding the contract method 0x515361f6. -// -// Solidity: function assertEq(address left, address right) pure returns() -func (_Vm *VmCaller) AssertEq6(opts *bind.CallOpts, left common.Address, right common.Address) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq6", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq6 is a free data retrieval call binding the contract method 0x515361f6. -// -// Solidity: function assertEq(address left, address right) pure returns() -func (_Vm *VmSession) AssertEq6(left common.Address, right common.Address) error { - return _Vm.Contract.AssertEq6(&_Vm.CallOpts, left, right) -} - -// AssertEq6 is a free data retrieval call binding the contract method 0x515361f6. -// -// Solidity: function assertEq(address left, address right) pure returns() -func (_Vm *VmCallerSession) AssertEq6(left common.Address, right common.Address) error { - return _Vm.Contract.AssertEq6(&_Vm.CallOpts, left, right) -} - -// AssertEq7 is a free data retrieval call binding the contract method 0x5d18c73a. -// -// Solidity: function assertEq(uint256[] left, uint256[] right, string error) pure returns() -func (_Vm *VmCaller) AssertEq7(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq7", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq7 is a free data retrieval call binding the contract method 0x5d18c73a. -// -// Solidity: function assertEq(uint256[] left, uint256[] right, string error) pure returns() -func (_Vm *VmSession) AssertEq7(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertEq7(&_Vm.CallOpts, left, right, error) -} - -// AssertEq7 is a free data retrieval call binding the contract method 0x5d18c73a. -// -// Solidity: function assertEq(uint256[] left, uint256[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertEq7(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertEq7(&_Vm.CallOpts, left, right, error) -} - -// AssertEq8 is a free data retrieval call binding the contract method 0x707df785. -// -// Solidity: function assertEq(bool[] left, bool[] right) pure returns() -func (_Vm *VmCaller) AssertEq8(opts *bind.CallOpts, left []bool, right []bool) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq8", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq8 is a free data retrieval call binding the contract method 0x707df785. -// -// Solidity: function assertEq(bool[] left, bool[] right) pure returns() -func (_Vm *VmSession) AssertEq8(left []bool, right []bool) error { - return _Vm.Contract.AssertEq8(&_Vm.CallOpts, left, right) -} - -// AssertEq8 is a free data retrieval call binding the contract method 0x707df785. -// -// Solidity: function assertEq(bool[] left, bool[] right) pure returns() -func (_Vm *VmCallerSession) AssertEq8(left []bool, right []bool) error { - return _Vm.Contract.AssertEq8(&_Vm.CallOpts, left, right) -} - -// AssertEq9 is a free data retrieval call binding the contract method 0x711043ac. -// -// Solidity: function assertEq(int256[] left, int256[] right) pure returns() -func (_Vm *VmCaller) AssertEq9(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEq9", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq9 is a free data retrieval call binding the contract method 0x711043ac. -// -// Solidity: function assertEq(int256[] left, int256[] right) pure returns() -func (_Vm *VmSession) AssertEq9(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertEq9(&_Vm.CallOpts, left, right) -} - -// AssertEq9 is a free data retrieval call binding the contract method 0x711043ac. -// -// Solidity: function assertEq(int256[] left, int256[] right) pure returns() -func (_Vm *VmCallerSession) AssertEq9(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertEq9(&_Vm.CallOpts, left, right) -} - -// AssertEqDecimal is a free data retrieval call binding the contract method 0x27af7d9c. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertEqDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEqDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal is a free data retrieval call binding the contract method 0x27af7d9c. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertEqDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertEqDecimal is a free data retrieval call binding the contract method 0x27af7d9c. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertEqDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertEqDecimal0 is a free data retrieval call binding the contract method 0x48016c04. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertEqDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEqDecimal0", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal0 is a free data retrieval call binding the contract method 0x48016c04. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertEqDecimal0(&_Vm.CallOpts, left, right, decimals) -} - -// AssertEqDecimal0 is a free data retrieval call binding the contract method 0x48016c04. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertEqDecimal0(&_Vm.CallOpts, left, right, decimals) -} - -// AssertEqDecimal1 is a free data retrieval call binding the contract method 0x7e77b0c5. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertEqDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEqDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal1 is a free data retrieval call binding the contract method 0x7e77b0c5. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertEqDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertEqDecimal1 is a free data retrieval call binding the contract method 0x7e77b0c5. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertEqDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertEqDecimal2 is a free data retrieval call binding the contract method 0xd0cbbdef. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertEqDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertEqDecimal2", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal2 is a free data retrieval call binding the contract method 0xd0cbbdef. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertEqDecimal2(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertEqDecimal2 is a free data retrieval call binding the contract method 0xd0cbbdef. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertEqDecimal2(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertFalse is a free data retrieval call binding the contract method 0x7ba04809. -// -// Solidity: function assertFalse(bool condition, string error) pure returns() -func (_Vm *VmCaller) AssertFalse(opts *bind.CallOpts, condition bool, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertFalse", condition, error) - - if err != nil { - return err - } - - return err - -} - -// AssertFalse is a free data retrieval call binding the contract method 0x7ba04809. -// -// Solidity: function assertFalse(bool condition, string error) pure returns() -func (_Vm *VmSession) AssertFalse(condition bool, error string) error { - return _Vm.Contract.AssertFalse(&_Vm.CallOpts, condition, error) -} - -// AssertFalse is a free data retrieval call binding the contract method 0x7ba04809. -// -// Solidity: function assertFalse(bool condition, string error) pure returns() -func (_Vm *VmCallerSession) AssertFalse(condition bool, error string) error { - return _Vm.Contract.AssertFalse(&_Vm.CallOpts, condition, error) -} - -// AssertFalse0 is a free data retrieval call binding the contract method 0xa5982885. -// -// Solidity: function assertFalse(bool condition) pure returns() -func (_Vm *VmCaller) AssertFalse0(opts *bind.CallOpts, condition bool) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertFalse0", condition) - - if err != nil { - return err - } - - return err - -} - -// AssertFalse0 is a free data retrieval call binding the contract method 0xa5982885. -// -// Solidity: function assertFalse(bool condition) pure returns() -func (_Vm *VmSession) AssertFalse0(condition bool) error { - return _Vm.Contract.AssertFalse0(&_Vm.CallOpts, condition) -} - -// AssertFalse0 is a free data retrieval call binding the contract method 0xa5982885. -// -// Solidity: function assertFalse(bool condition) pure returns() -func (_Vm *VmCallerSession) AssertFalse0(condition bool) error { - return _Vm.Contract.AssertFalse0(&_Vm.CallOpts, condition) -} - -// AssertGe is a free data retrieval call binding the contract method 0x0a30b771. -// -// Solidity: function assertGe(int256 left, int256 right) pure returns() -func (_Vm *VmCaller) AssertGe(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGe", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGe is a free data retrieval call binding the contract method 0x0a30b771. -// -// Solidity: function assertGe(int256 left, int256 right) pure returns() -func (_Vm *VmSession) AssertGe(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGe(&_Vm.CallOpts, left, right) -} - -// AssertGe is a free data retrieval call binding the contract method 0x0a30b771. -// -// Solidity: function assertGe(int256 left, int256 right) pure returns() -func (_Vm *VmCallerSession) AssertGe(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGe(&_Vm.CallOpts, left, right) -} - -// AssertGe0 is a free data retrieval call binding the contract method 0xa84328dd. -// -// Solidity: function assertGe(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCaller) AssertGe0(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGe0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGe0 is a free data retrieval call binding the contract method 0xa84328dd. -// -// Solidity: function assertGe(int256 left, int256 right, string error) pure returns() -func (_Vm *VmSession) AssertGe0(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGe0(&_Vm.CallOpts, left, right, error) -} - -// AssertGe0 is a free data retrieval call binding the contract method 0xa84328dd. -// -// Solidity: function assertGe(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertGe0(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGe0(&_Vm.CallOpts, left, right, error) -} - -// AssertGe1 is a free data retrieval call binding the contract method 0xa8d4d1d9. -// -// Solidity: function assertGe(uint256 left, uint256 right) pure returns() -func (_Vm *VmCaller) AssertGe1(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGe1", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGe1 is a free data retrieval call binding the contract method 0xa8d4d1d9. -// -// Solidity: function assertGe(uint256 left, uint256 right) pure returns() -func (_Vm *VmSession) AssertGe1(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGe1(&_Vm.CallOpts, left, right) -} - -// AssertGe1 is a free data retrieval call binding the contract method 0xa8d4d1d9. -// -// Solidity: function assertGe(uint256 left, uint256 right) pure returns() -func (_Vm *VmCallerSession) AssertGe1(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGe1(&_Vm.CallOpts, left, right) -} - -// AssertGe2 is a free data retrieval call binding the contract method 0xe25242c0. -// -// Solidity: function assertGe(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCaller) AssertGe2(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGe2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGe2 is a free data retrieval call binding the contract method 0xe25242c0. -// -// Solidity: function assertGe(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmSession) AssertGe2(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGe2(&_Vm.CallOpts, left, right, error) -} - -// AssertGe2 is a free data retrieval call binding the contract method 0xe25242c0. -// -// Solidity: function assertGe(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertGe2(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGe2(&_Vm.CallOpts, left, right, error) -} - -// AssertGeDecimal is a free data retrieval call binding the contract method 0x3d1fe08a. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertGeDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGeDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal is a free data retrieval call binding the contract method 0x3d1fe08a. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertGeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGeDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertGeDecimal is a free data retrieval call binding the contract method 0x3d1fe08a. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertGeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGeDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertGeDecimal0 is a free data retrieval call binding the contract method 0x5df93c9b. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertGeDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGeDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal0 is a free data retrieval call binding the contract method 0x5df93c9b. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertGeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGeDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal0 is a free data retrieval call binding the contract method 0x5df93c9b. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertGeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGeDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal1 is a free data retrieval call binding the contract method 0x8bff9133. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertGeDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGeDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal1 is a free data retrieval call binding the contract method 0x8bff9133. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertGeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGeDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal1 is a free data retrieval call binding the contract method 0x8bff9133. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertGeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGeDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal2 is a free data retrieval call binding the contract method 0xdc28c0f1. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertGeDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGeDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal2 is a free data retrieval call binding the contract method 0xdc28c0f1. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertGeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGeDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertGeDecimal2 is a free data retrieval call binding the contract method 0xdc28c0f1. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertGeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGeDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertGt is a free data retrieval call binding the contract method 0x5a362d45. -// -// Solidity: function assertGt(int256 left, int256 right) pure returns() -func (_Vm *VmCaller) AssertGt(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGt", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGt is a free data retrieval call binding the contract method 0x5a362d45. -// -// Solidity: function assertGt(int256 left, int256 right) pure returns() -func (_Vm *VmSession) AssertGt(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGt(&_Vm.CallOpts, left, right) -} - -// AssertGt is a free data retrieval call binding the contract method 0x5a362d45. -// -// Solidity: function assertGt(int256 left, int256 right) pure returns() -func (_Vm *VmCallerSession) AssertGt(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGt(&_Vm.CallOpts, left, right) -} - -// AssertGt0 is a free data retrieval call binding the contract method 0xd9a3c4d2. -// -// Solidity: function assertGt(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCaller) AssertGt0(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGt0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGt0 is a free data retrieval call binding the contract method 0xd9a3c4d2. -// -// Solidity: function assertGt(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmSession) AssertGt0(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGt0(&_Vm.CallOpts, left, right, error) -} - -// AssertGt0 is a free data retrieval call binding the contract method 0xd9a3c4d2. -// -// Solidity: function assertGt(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertGt0(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGt0(&_Vm.CallOpts, left, right, error) -} - -// AssertGt1 is a free data retrieval call binding the contract method 0xdb07fcd2. -// -// Solidity: function assertGt(uint256 left, uint256 right) pure returns() -func (_Vm *VmCaller) AssertGt1(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGt1", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGt1 is a free data retrieval call binding the contract method 0xdb07fcd2. -// -// Solidity: function assertGt(uint256 left, uint256 right) pure returns() -func (_Vm *VmSession) AssertGt1(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGt1(&_Vm.CallOpts, left, right) -} - -// AssertGt1 is a free data retrieval call binding the contract method 0xdb07fcd2. -// -// Solidity: function assertGt(uint256 left, uint256 right) pure returns() -func (_Vm *VmCallerSession) AssertGt1(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertGt1(&_Vm.CallOpts, left, right) -} - -// AssertGt2 is a free data retrieval call binding the contract method 0xf8d33b9b. -// -// Solidity: function assertGt(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCaller) AssertGt2(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGt2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGt2 is a free data retrieval call binding the contract method 0xf8d33b9b. -// -// Solidity: function assertGt(int256 left, int256 right, string error) pure returns() -func (_Vm *VmSession) AssertGt2(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGt2(&_Vm.CallOpts, left, right, error) -} - -// AssertGt2 is a free data retrieval call binding the contract method 0xf8d33b9b. -// -// Solidity: function assertGt(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertGt2(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertGt2(&_Vm.CallOpts, left, right, error) -} - -// AssertGtDecimal is a free data retrieval call binding the contract method 0x04a5c7ab. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertGtDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGtDecimal", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal is a free data retrieval call binding the contract method 0x04a5c7ab. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertGtDecimal(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGtDecimal(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal is a free data retrieval call binding the contract method 0x04a5c7ab. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertGtDecimal(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGtDecimal(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal0 is a free data retrieval call binding the contract method 0x64949a8d. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertGtDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGtDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal0 is a free data retrieval call binding the contract method 0x64949a8d. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertGtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGtDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal0 is a free data retrieval call binding the contract method 0x64949a8d. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertGtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertGtDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal1 is a free data retrieval call binding the contract method 0x78611f0e. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertGtDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGtDecimal1", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal1 is a free data retrieval call binding the contract method 0x78611f0e. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertGtDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGtDecimal1(&_Vm.CallOpts, left, right, decimals) -} - -// AssertGtDecimal1 is a free data retrieval call binding the contract method 0x78611f0e. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertGtDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGtDecimal1(&_Vm.CallOpts, left, right, decimals) -} - -// AssertGtDecimal2 is a free data retrieval call binding the contract method 0xeccd2437. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertGtDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertGtDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal2 is a free data retrieval call binding the contract method 0xeccd2437. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertGtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGtDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertGtDecimal2 is a free data retrieval call binding the contract method 0xeccd2437. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertGtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertGtDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLe is a free data retrieval call binding the contract method 0x4dfe692c. -// -// Solidity: function assertLe(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCaller) AssertLe(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLe", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLe is a free data retrieval call binding the contract method 0x4dfe692c. -// -// Solidity: function assertLe(int256 left, int256 right, string error) pure returns() -func (_Vm *VmSession) AssertLe(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLe(&_Vm.CallOpts, left, right, error) -} - -// AssertLe is a free data retrieval call binding the contract method 0x4dfe692c. -// -// Solidity: function assertLe(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertLe(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLe(&_Vm.CallOpts, left, right, error) -} - -// AssertLe0 is a free data retrieval call binding the contract method 0x8466f415. -// -// Solidity: function assertLe(uint256 left, uint256 right) pure returns() -func (_Vm *VmCaller) AssertLe0(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLe0", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLe0 is a free data retrieval call binding the contract method 0x8466f415. -// -// Solidity: function assertLe(uint256 left, uint256 right) pure returns() -func (_Vm *VmSession) AssertLe0(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLe0(&_Vm.CallOpts, left, right) -} - -// AssertLe0 is a free data retrieval call binding the contract method 0x8466f415. -// -// Solidity: function assertLe(uint256 left, uint256 right) pure returns() -func (_Vm *VmCallerSession) AssertLe0(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLe0(&_Vm.CallOpts, left, right) -} - -// AssertLe1 is a free data retrieval call binding the contract method 0x95fd154e. -// -// Solidity: function assertLe(int256 left, int256 right) pure returns() -func (_Vm *VmCaller) AssertLe1(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLe1", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLe1 is a free data retrieval call binding the contract method 0x95fd154e. -// -// Solidity: function assertLe(int256 left, int256 right) pure returns() -func (_Vm *VmSession) AssertLe1(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLe1(&_Vm.CallOpts, left, right) -} - -// AssertLe1 is a free data retrieval call binding the contract method 0x95fd154e. -// -// Solidity: function assertLe(int256 left, int256 right) pure returns() -func (_Vm *VmCallerSession) AssertLe1(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLe1(&_Vm.CallOpts, left, right) -} - -// AssertLe2 is a free data retrieval call binding the contract method 0xd17d4b0d. -// -// Solidity: function assertLe(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCaller) AssertLe2(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLe2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLe2 is a free data retrieval call binding the contract method 0xd17d4b0d. -// -// Solidity: function assertLe(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmSession) AssertLe2(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLe2(&_Vm.CallOpts, left, right, error) -} - -// AssertLe2 is a free data retrieval call binding the contract method 0xd17d4b0d. -// -// Solidity: function assertLe(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertLe2(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLe2(&_Vm.CallOpts, left, right, error) -} - -// AssertLeDecimal is a free data retrieval call binding the contract method 0x11d1364a. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertLeDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLeDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal is a free data retrieval call binding the contract method 0x11d1364a. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertLeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLeDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLeDecimal is a free data retrieval call binding the contract method 0x11d1364a. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertLeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLeDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLeDecimal0 is a free data retrieval call binding the contract method 0x7fefbbe0. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertLeDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLeDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal0 is a free data retrieval call binding the contract method 0x7fefbbe0. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertLeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLeDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal0 is a free data retrieval call binding the contract method 0x7fefbbe0. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertLeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLeDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal1 is a free data retrieval call binding the contract method 0xaa5cf788. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertLeDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLeDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal1 is a free data retrieval call binding the contract method 0xaa5cf788. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertLeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLeDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal1 is a free data retrieval call binding the contract method 0xaa5cf788. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertLeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLeDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal2 is a free data retrieval call binding the contract method 0xc304aab7. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertLeDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLeDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal2 is a free data retrieval call binding the contract method 0xc304aab7. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertLeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLeDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLeDecimal2 is a free data retrieval call binding the contract method 0xc304aab7. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertLeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLeDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLt is a free data retrieval call binding the contract method 0x3e914080. -// -// Solidity: function assertLt(int256 left, int256 right) pure returns() -func (_Vm *VmCaller) AssertLt(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLt", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLt is a free data retrieval call binding the contract method 0x3e914080. -// -// Solidity: function assertLt(int256 left, int256 right) pure returns() -func (_Vm *VmSession) AssertLt(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLt(&_Vm.CallOpts, left, right) -} - -// AssertLt is a free data retrieval call binding the contract method 0x3e914080. -// -// Solidity: function assertLt(int256 left, int256 right) pure returns() -func (_Vm *VmCallerSession) AssertLt(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLt(&_Vm.CallOpts, left, right) -} - -// AssertLt0 is a free data retrieval call binding the contract method 0x65d5c135. -// -// Solidity: function assertLt(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCaller) AssertLt0(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLt0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLt0 is a free data retrieval call binding the contract method 0x65d5c135. -// -// Solidity: function assertLt(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmSession) AssertLt0(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLt0(&_Vm.CallOpts, left, right, error) -} - -// AssertLt0 is a free data retrieval call binding the contract method 0x65d5c135. -// -// Solidity: function assertLt(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertLt0(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLt0(&_Vm.CallOpts, left, right, error) -} - -// AssertLt1 is a free data retrieval call binding the contract method 0x9ff531e3. -// -// Solidity: function assertLt(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCaller) AssertLt1(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLt1", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLt1 is a free data retrieval call binding the contract method 0x9ff531e3. -// -// Solidity: function assertLt(int256 left, int256 right, string error) pure returns() -func (_Vm *VmSession) AssertLt1(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLt1(&_Vm.CallOpts, left, right, error) -} - -// AssertLt1 is a free data retrieval call binding the contract method 0x9ff531e3. -// -// Solidity: function assertLt(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertLt1(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertLt1(&_Vm.CallOpts, left, right, error) -} - -// AssertLt2 is a free data retrieval call binding the contract method 0xb12fc005. -// -// Solidity: function assertLt(uint256 left, uint256 right) pure returns() -func (_Vm *VmCaller) AssertLt2(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLt2", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLt2 is a free data retrieval call binding the contract method 0xb12fc005. -// -// Solidity: function assertLt(uint256 left, uint256 right) pure returns() -func (_Vm *VmSession) AssertLt2(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLt2(&_Vm.CallOpts, left, right) -} - -// AssertLt2 is a free data retrieval call binding the contract method 0xb12fc005. -// -// Solidity: function assertLt(uint256 left, uint256 right) pure returns() -func (_Vm *VmCallerSession) AssertLt2(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertLt2(&_Vm.CallOpts, left, right) -} - -// AssertLtDecimal is a free data retrieval call binding the contract method 0x2077337e. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertLtDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLtDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal is a free data retrieval call binding the contract method 0x2077337e. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertLtDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLtDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLtDecimal is a free data retrieval call binding the contract method 0x2077337e. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertLtDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLtDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLtDecimal0 is a free data retrieval call binding the contract method 0x40f0b4e0. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertLtDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLtDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal0 is a free data retrieval call binding the contract method 0x40f0b4e0. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertLtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLtDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal0 is a free data retrieval call binding the contract method 0x40f0b4e0. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertLtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLtDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal1 is a free data retrieval call binding the contract method 0xa972d037. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertLtDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLtDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal1 is a free data retrieval call binding the contract method 0xa972d037. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertLtDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLtDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal1 is a free data retrieval call binding the contract method 0xa972d037. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertLtDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertLtDecimal1(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal2 is a free data retrieval call binding the contract method 0xdbe8d88b. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertLtDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertLtDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal2 is a free data retrieval call binding the contract method 0xdbe8d88b. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertLtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLtDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertLtDecimal2 is a free data retrieval call binding the contract method 0xdbe8d88b. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertLtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertLtDecimal2(&_Vm.CallOpts, left, right, decimals) -} - -// AssertNotEq is a free data retrieval call binding the contract method 0x0603ea68. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right) pure returns() -func (_Vm *VmCaller) AssertNotEq(opts *bind.CallOpts, left [][32]byte, right [][32]byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq is a free data retrieval call binding the contract method 0x0603ea68. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right) pure returns() -func (_Vm *VmSession) AssertNotEq(left [][32]byte, right [][32]byte) error { - return _Vm.Contract.AssertNotEq(&_Vm.CallOpts, left, right) -} - -// AssertNotEq is a free data retrieval call binding the contract method 0x0603ea68. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq(left [][32]byte, right [][32]byte) error { - return _Vm.Contract.AssertNotEq(&_Vm.CallOpts, left, right) -} - -// AssertNotEq0 is a free data retrieval call binding the contract method 0x0b72f4ef. -// -// Solidity: function assertNotEq(int256[] left, int256[] right) pure returns() -func (_Vm *VmCaller) AssertNotEq0(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq0", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq0 is a free data retrieval call binding the contract method 0x0b72f4ef. -// -// Solidity: function assertNotEq(int256[] left, int256[] right) pure returns() -func (_Vm *VmSession) AssertNotEq0(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertNotEq0(&_Vm.CallOpts, left, right) -} - -// AssertNotEq0 is a free data retrieval call binding the contract method 0x0b72f4ef. -// -// Solidity: function assertNotEq(int256[] left, int256[] right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq0(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertNotEq0(&_Vm.CallOpts, left, right) -} - -// AssertNotEq1 is a free data retrieval call binding the contract method 0x1091a261. -// -// Solidity: function assertNotEq(bool left, bool right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq1(opts *bind.CallOpts, left bool, right bool, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq1", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq1 is a free data retrieval call binding the contract method 0x1091a261. -// -// Solidity: function assertNotEq(bool left, bool right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq1(left bool, right bool, error string) error { - return _Vm.Contract.AssertNotEq1(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq1 is a free data retrieval call binding the contract method 0x1091a261. -// -// Solidity: function assertNotEq(bool left, bool right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq1(left bool, right bool, error string) error { - return _Vm.Contract.AssertNotEq1(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq10 is a free data retrieval call binding the contract method 0x6a8237b3. -// -// Solidity: function assertNotEq(string left, string right) pure returns() -func (_Vm *VmCaller) AssertNotEq10(opts *bind.CallOpts, left string, right string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq10", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq10 is a free data retrieval call binding the contract method 0x6a8237b3. -// -// Solidity: function assertNotEq(string left, string right) pure returns() -func (_Vm *VmSession) AssertNotEq10(left string, right string) error { - return _Vm.Contract.AssertNotEq10(&_Vm.CallOpts, left, right) -} - -// AssertNotEq10 is a free data retrieval call binding the contract method 0x6a8237b3. -// -// Solidity: function assertNotEq(string left, string right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq10(left string, right string) error { - return _Vm.Contract.AssertNotEq10(&_Vm.CallOpts, left, right) -} - -// AssertNotEq11 is a free data retrieval call binding the contract method 0x72c7e0b5. -// -// Solidity: function assertNotEq(address[] left, address[] right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq11(opts *bind.CallOpts, left []common.Address, right []common.Address, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq11", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq11 is a free data retrieval call binding the contract method 0x72c7e0b5. -// -// Solidity: function assertNotEq(address[] left, address[] right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq11(left []common.Address, right []common.Address, error string) error { - return _Vm.Contract.AssertNotEq11(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq11 is a free data retrieval call binding the contract method 0x72c7e0b5. -// -// Solidity: function assertNotEq(address[] left, address[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq11(left []common.Address, right []common.Address, error string) error { - return _Vm.Contract.AssertNotEq11(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq12 is a free data retrieval call binding the contract method 0x78bdcea7. -// -// Solidity: function assertNotEq(string left, string right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq12(opts *bind.CallOpts, left string, right string, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq12", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq12 is a free data retrieval call binding the contract method 0x78bdcea7. -// -// Solidity: function assertNotEq(string left, string right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq12(left string, right string, error string) error { - return _Vm.Contract.AssertNotEq12(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq12 is a free data retrieval call binding the contract method 0x78bdcea7. -// -// Solidity: function assertNotEq(string left, string right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq12(left string, right string, error string) error { - return _Vm.Contract.AssertNotEq12(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq13 is a free data retrieval call binding the contract method 0x8775a591. -// -// Solidity: function assertNotEq(address left, address right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq13(opts *bind.CallOpts, left common.Address, right common.Address, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq13", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq13 is a free data retrieval call binding the contract method 0x8775a591. -// -// Solidity: function assertNotEq(address left, address right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq13(left common.Address, right common.Address, error string) error { - return _Vm.Contract.AssertNotEq13(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq13 is a free data retrieval call binding the contract method 0x8775a591. -// -// Solidity: function assertNotEq(address left, address right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq13(left common.Address, right common.Address, error string) error { - return _Vm.Contract.AssertNotEq13(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq14 is a free data retrieval call binding the contract method 0x898e83fc. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right) pure returns() -func (_Vm *VmCaller) AssertNotEq14(opts *bind.CallOpts, left [32]byte, right [32]byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq14", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq14 is a free data retrieval call binding the contract method 0x898e83fc. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right) pure returns() -func (_Vm *VmSession) AssertNotEq14(left [32]byte, right [32]byte) error { - return _Vm.Contract.AssertNotEq14(&_Vm.CallOpts, left, right) -} - -// AssertNotEq14 is a free data retrieval call binding the contract method 0x898e83fc. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq14(left [32]byte, right [32]byte) error { - return _Vm.Contract.AssertNotEq14(&_Vm.CallOpts, left, right) -} - -// AssertNotEq15 is a free data retrieval call binding the contract method 0x9507540e. -// -// Solidity: function assertNotEq(bytes left, bytes right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq15(opts *bind.CallOpts, left []byte, right []byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq15", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq15 is a free data retrieval call binding the contract method 0x9507540e. -// -// Solidity: function assertNotEq(bytes left, bytes right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq15(left []byte, right []byte, error string) error { - return _Vm.Contract.AssertNotEq15(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq15 is a free data retrieval call binding the contract method 0x9507540e. -// -// Solidity: function assertNotEq(bytes left, bytes right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq15(left []byte, right []byte, error string) error { - return _Vm.Contract.AssertNotEq15(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq16 is a free data retrieval call binding the contract method 0x98f9bdbd. -// -// Solidity: function assertNotEq(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq16(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq16", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq16 is a free data retrieval call binding the contract method 0x98f9bdbd. -// -// Solidity: function assertNotEq(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq16(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertNotEq16(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq16 is a free data retrieval call binding the contract method 0x98f9bdbd. -// -// Solidity: function assertNotEq(uint256 left, uint256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq16(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertNotEq16(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq17 is a free data retrieval call binding the contract method 0x9a7fbd8f. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq17(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq17", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq17 is a free data retrieval call binding the contract method 0x9a7fbd8f. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq17(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertNotEq17(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq17 is a free data retrieval call binding the contract method 0x9a7fbd8f. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq17(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertNotEq17(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq18 is a free data retrieval call binding the contract method 0xb12e1694. -// -// Solidity: function assertNotEq(address left, address right) pure returns() -func (_Vm *VmCaller) AssertNotEq18(opts *bind.CallOpts, left common.Address, right common.Address) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq18", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq18 is a free data retrieval call binding the contract method 0xb12e1694. -// -// Solidity: function assertNotEq(address left, address right) pure returns() -func (_Vm *VmSession) AssertNotEq18(left common.Address, right common.Address) error { - return _Vm.Contract.AssertNotEq18(&_Vm.CallOpts, left, right) -} - -// AssertNotEq18 is a free data retrieval call binding the contract method 0xb12e1694. -// -// Solidity: function assertNotEq(address left, address right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq18(left common.Address, right common.Address) error { - return _Vm.Contract.AssertNotEq18(&_Vm.CallOpts, left, right) -} - -// AssertNotEq19 is a free data retrieval call binding the contract method 0xb2332f51. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq19(opts *bind.CallOpts, left [32]byte, right [32]byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq19", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq19 is a free data retrieval call binding the contract method 0xb2332f51. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq19(left [32]byte, right [32]byte, error string) error { - return _Vm.Contract.AssertNotEq19(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq19 is a free data retrieval call binding the contract method 0xb2332f51. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq19(left [32]byte, right [32]byte, error string) error { - return _Vm.Contract.AssertNotEq19(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq2 is a free data retrieval call binding the contract method 0x1dcd1f68. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq2(opts *bind.CallOpts, left [][]byte, right [][]byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq2 is a free data retrieval call binding the contract method 0x1dcd1f68. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq2(left [][]byte, right [][]byte, error string) error { - return _Vm.Contract.AssertNotEq2(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq2 is a free data retrieval call binding the contract method 0x1dcd1f68. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq2(left [][]byte, right [][]byte, error string) error { - return _Vm.Contract.AssertNotEq2(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq20 is a free data retrieval call binding the contract method 0xb67187f3. -// -// Solidity: function assertNotEq(string[] left, string[] right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq20(opts *bind.CallOpts, left []string, right []string, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq20", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq20 is a free data retrieval call binding the contract method 0xb67187f3. -// -// Solidity: function assertNotEq(string[] left, string[] right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq20(left []string, right []string, error string) error { - return _Vm.Contract.AssertNotEq20(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq20 is a free data retrieval call binding the contract method 0xb67187f3. -// -// Solidity: function assertNotEq(string[] left, string[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq20(left []string, right []string, error string) error { - return _Vm.Contract.AssertNotEq20(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq21 is a free data retrieval call binding the contract method 0xb7909320. -// -// Solidity: function assertNotEq(uint256 left, uint256 right) pure returns() -func (_Vm *VmCaller) AssertNotEq21(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq21", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq21 is a free data retrieval call binding the contract method 0xb7909320. -// -// Solidity: function assertNotEq(uint256 left, uint256 right) pure returns() -func (_Vm *VmSession) AssertNotEq21(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertNotEq21(&_Vm.CallOpts, left, right) -} - -// AssertNotEq21 is a free data retrieval call binding the contract method 0xb7909320. -// -// Solidity: function assertNotEq(uint256 left, uint256 right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq21(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertNotEq21(&_Vm.CallOpts, left, right) -} - -// AssertNotEq22 is a free data retrieval call binding the contract method 0xb873634c. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq22(opts *bind.CallOpts, left [][32]byte, right [][32]byte, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq22", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq22 is a free data retrieval call binding the contract method 0xb873634c. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq22(left [][32]byte, right [][32]byte, error string) error { - return _Vm.Contract.AssertNotEq22(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq22 is a free data retrieval call binding the contract method 0xb873634c. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq22(left [][32]byte, right [][32]byte, error string) error { - return _Vm.Contract.AssertNotEq22(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq23 is a free data retrieval call binding the contract method 0xbdfacbe8. -// -// Solidity: function assertNotEq(string[] left, string[] right) pure returns() -func (_Vm *VmCaller) AssertNotEq23(opts *bind.CallOpts, left []string, right []string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq23", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq23 is a free data retrieval call binding the contract method 0xbdfacbe8. -// -// Solidity: function assertNotEq(string[] left, string[] right) pure returns() -func (_Vm *VmSession) AssertNotEq23(left []string, right []string) error { - return _Vm.Contract.AssertNotEq23(&_Vm.CallOpts, left, right) -} - -// AssertNotEq23 is a free data retrieval call binding the contract method 0xbdfacbe8. -// -// Solidity: function assertNotEq(string[] left, string[] right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq23(left []string, right []string) error { - return _Vm.Contract.AssertNotEq23(&_Vm.CallOpts, left, right) -} - -// AssertNotEq24 is a free data retrieval call binding the contract method 0xd3977322. -// -// Solidity: function assertNotEq(int256[] left, int256[] right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq24(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq24", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq24 is a free data retrieval call binding the contract method 0xd3977322. -// -// Solidity: function assertNotEq(int256[] left, int256[] right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq24(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertNotEq24(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq24 is a free data retrieval call binding the contract method 0xd3977322. -// -// Solidity: function assertNotEq(int256[] left, int256[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq24(left []*big.Int, right []*big.Int, error string) error { - return _Vm.Contract.AssertNotEq24(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq25 is a free data retrieval call binding the contract method 0xedecd035. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right) pure returns() -func (_Vm *VmCaller) AssertNotEq25(opts *bind.CallOpts, left [][]byte, right [][]byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq25", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq25 is a free data retrieval call binding the contract method 0xedecd035. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right) pure returns() -func (_Vm *VmSession) AssertNotEq25(left [][]byte, right [][]byte) error { - return _Vm.Contract.AssertNotEq25(&_Vm.CallOpts, left, right) -} - -// AssertNotEq25 is a free data retrieval call binding the contract method 0xedecd035. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq25(left [][]byte, right [][]byte) error { - return _Vm.Contract.AssertNotEq25(&_Vm.CallOpts, left, right) -} - -// AssertNotEq26 is a free data retrieval call binding the contract method 0xf4c004e3. -// -// Solidity: function assertNotEq(int256 left, int256 right) pure returns() -func (_Vm *VmCaller) AssertNotEq26(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq26", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq26 is a free data retrieval call binding the contract method 0xf4c004e3. -// -// Solidity: function assertNotEq(int256 left, int256 right) pure returns() -func (_Vm *VmSession) AssertNotEq26(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertNotEq26(&_Vm.CallOpts, left, right) -} - -// AssertNotEq26 is a free data retrieval call binding the contract method 0xf4c004e3. -// -// Solidity: function assertNotEq(int256 left, int256 right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq26(left *big.Int, right *big.Int) error { - return _Vm.Contract.AssertNotEq26(&_Vm.CallOpts, left, right) -} - -// AssertNotEq3 is a free data retrieval call binding the contract method 0x236e4d66. -// -// Solidity: function assertNotEq(bool left, bool right) pure returns() -func (_Vm *VmCaller) AssertNotEq3(opts *bind.CallOpts, left bool, right bool) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq3", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq3 is a free data retrieval call binding the contract method 0x236e4d66. -// -// Solidity: function assertNotEq(bool left, bool right) pure returns() -func (_Vm *VmSession) AssertNotEq3(left bool, right bool) error { - return _Vm.Contract.AssertNotEq3(&_Vm.CallOpts, left, right) -} - -// AssertNotEq3 is a free data retrieval call binding the contract method 0x236e4d66. -// -// Solidity: function assertNotEq(bool left, bool right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq3(left bool, right bool) error { - return _Vm.Contract.AssertNotEq3(&_Vm.CallOpts, left, right) -} - -// AssertNotEq4 is a free data retrieval call binding the contract method 0x286fafea. -// -// Solidity: function assertNotEq(bool[] left, bool[] right) pure returns() -func (_Vm *VmCaller) AssertNotEq4(opts *bind.CallOpts, left []bool, right []bool) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq4", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq4 is a free data retrieval call binding the contract method 0x286fafea. -// -// Solidity: function assertNotEq(bool[] left, bool[] right) pure returns() -func (_Vm *VmSession) AssertNotEq4(left []bool, right []bool) error { - return _Vm.Contract.AssertNotEq4(&_Vm.CallOpts, left, right) -} - -// AssertNotEq4 is a free data retrieval call binding the contract method 0x286fafea. -// -// Solidity: function assertNotEq(bool[] left, bool[] right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq4(left []bool, right []bool) error { - return _Vm.Contract.AssertNotEq4(&_Vm.CallOpts, left, right) -} - -// AssertNotEq5 is a free data retrieval call binding the contract method 0x3cf78e28. -// -// Solidity: function assertNotEq(bytes left, bytes right) pure returns() -func (_Vm *VmCaller) AssertNotEq5(opts *bind.CallOpts, left []byte, right []byte) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq5", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq5 is a free data retrieval call binding the contract method 0x3cf78e28. -// -// Solidity: function assertNotEq(bytes left, bytes right) pure returns() -func (_Vm *VmSession) AssertNotEq5(left []byte, right []byte) error { - return _Vm.Contract.AssertNotEq5(&_Vm.CallOpts, left, right) -} - -// AssertNotEq5 is a free data retrieval call binding the contract method 0x3cf78e28. -// -// Solidity: function assertNotEq(bytes left, bytes right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq5(left []byte, right []byte) error { - return _Vm.Contract.AssertNotEq5(&_Vm.CallOpts, left, right) -} - -// AssertNotEq6 is a free data retrieval call binding the contract method 0x46d0b252. -// -// Solidity: function assertNotEq(address[] left, address[] right) pure returns() -func (_Vm *VmCaller) AssertNotEq6(opts *bind.CallOpts, left []common.Address, right []common.Address) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq6", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq6 is a free data retrieval call binding the contract method 0x46d0b252. -// -// Solidity: function assertNotEq(address[] left, address[] right) pure returns() -func (_Vm *VmSession) AssertNotEq6(left []common.Address, right []common.Address) error { - return _Vm.Contract.AssertNotEq6(&_Vm.CallOpts, left, right) -} - -// AssertNotEq6 is a free data retrieval call binding the contract method 0x46d0b252. -// -// Solidity: function assertNotEq(address[] left, address[] right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq6(left []common.Address, right []common.Address) error { - return _Vm.Contract.AssertNotEq6(&_Vm.CallOpts, left, right) -} - -// AssertNotEq7 is a free data retrieval call binding the contract method 0x4724c5b9. -// -// Solidity: function assertNotEq(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq7(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq7", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq7 is a free data retrieval call binding the contract method 0x4724c5b9. -// -// Solidity: function assertNotEq(int256 left, int256 right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq7(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertNotEq7(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq7 is a free data retrieval call binding the contract method 0x4724c5b9. -// -// Solidity: function assertNotEq(int256 left, int256 right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq7(left *big.Int, right *big.Int, error string) error { - return _Vm.Contract.AssertNotEq7(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq8 is a free data retrieval call binding the contract method 0x56f29cba. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right) pure returns() -func (_Vm *VmCaller) AssertNotEq8(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq8", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq8 is a free data retrieval call binding the contract method 0x56f29cba. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right) pure returns() -func (_Vm *VmSession) AssertNotEq8(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertNotEq8(&_Vm.CallOpts, left, right) -} - -// AssertNotEq8 is a free data retrieval call binding the contract method 0x56f29cba. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right) pure returns() -func (_Vm *VmCallerSession) AssertNotEq8(left []*big.Int, right []*big.Int) error { - return _Vm.Contract.AssertNotEq8(&_Vm.CallOpts, left, right) -} - -// AssertNotEq9 is a free data retrieval call binding the contract method 0x62c6f9fb. -// -// Solidity: function assertNotEq(bool[] left, bool[] right, string error) pure returns() -func (_Vm *VmCaller) AssertNotEq9(opts *bind.CallOpts, left []bool, right []bool, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEq9", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq9 is a free data retrieval call binding the contract method 0x62c6f9fb. -// -// Solidity: function assertNotEq(bool[] left, bool[] right, string error) pure returns() -func (_Vm *VmSession) AssertNotEq9(left []bool, right []bool, error string) error { - return _Vm.Contract.AssertNotEq9(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEq9 is a free data retrieval call binding the contract method 0x62c6f9fb. -// -// Solidity: function assertNotEq(bool[] left, bool[] right, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEq9(left []bool, right []bool, error string) error { - return _Vm.Contract.AssertNotEq9(&_Vm.CallOpts, left, right, error) -} - -// AssertNotEqDecimal is a free data retrieval call binding the contract method 0x14e75680. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertNotEqDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEqDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal is a free data retrieval call binding the contract method 0x14e75680. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertNotEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertNotEqDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal is a free data retrieval call binding the contract method 0x14e75680. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertNotEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertNotEqDecimal(&_Vm.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal0 is a free data retrieval call binding the contract method 0x33949f0b. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertNotEqDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEqDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal0 is a free data retrieval call binding the contract method 0x33949f0b. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertNotEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertNotEqDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertNotEqDecimal0 is a free data retrieval call binding the contract method 0x33949f0b. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertNotEqDecimal0(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertNotEqDecimal1 is a free data retrieval call binding the contract method 0x669efca7. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCaller) AssertNotEqDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEqDecimal1", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal1 is a free data retrieval call binding the contract method 0x669efca7. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmSession) AssertNotEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertNotEqDecimal1(&_Vm.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal1 is a free data retrieval call binding the contract method 0x669efca7. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_Vm *VmCallerSession) AssertNotEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _Vm.Contract.AssertNotEqDecimal1(&_Vm.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal2 is a free data retrieval call binding the contract method 0xf5a55558. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCaller) AssertNotEqDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertNotEqDecimal2", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal2 is a free data retrieval call binding the contract method 0xf5a55558. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmSession) AssertNotEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertNotEqDecimal2(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertNotEqDecimal2 is a free data retrieval call binding the contract method 0xf5a55558. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_Vm *VmCallerSession) AssertNotEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _Vm.Contract.AssertNotEqDecimal2(&_Vm.CallOpts, left, right, decimals, error) -} - -// AssertTrue is a free data retrieval call binding the contract method 0x0c9fd581. -// -// Solidity: function assertTrue(bool condition) pure returns() -func (_Vm *VmCaller) AssertTrue(opts *bind.CallOpts, condition bool) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertTrue", condition) - - if err != nil { - return err - } - - return err - -} - -// AssertTrue is a free data retrieval call binding the contract method 0x0c9fd581. -// -// Solidity: function assertTrue(bool condition) pure returns() -func (_Vm *VmSession) AssertTrue(condition bool) error { - return _Vm.Contract.AssertTrue(&_Vm.CallOpts, condition) -} - -// AssertTrue is a free data retrieval call binding the contract method 0x0c9fd581. -// -// Solidity: function assertTrue(bool condition) pure returns() -func (_Vm *VmCallerSession) AssertTrue(condition bool) error { - return _Vm.Contract.AssertTrue(&_Vm.CallOpts, condition) -} - -// AssertTrue0 is a free data retrieval call binding the contract method 0xa34edc03. -// -// Solidity: function assertTrue(bool condition, string error) pure returns() -func (_Vm *VmCaller) AssertTrue0(opts *bind.CallOpts, condition bool, error string) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assertTrue0", condition, error) - - if err != nil { - return err - } - - return err - -} - -// AssertTrue0 is a free data retrieval call binding the contract method 0xa34edc03. -// -// Solidity: function assertTrue(bool condition, string error) pure returns() -func (_Vm *VmSession) AssertTrue0(condition bool, error string) error { - return _Vm.Contract.AssertTrue0(&_Vm.CallOpts, condition, error) -} - -// AssertTrue0 is a free data retrieval call binding the contract method 0xa34edc03. -// -// Solidity: function assertTrue(bool condition, string error) pure returns() -func (_Vm *VmCallerSession) AssertTrue0(condition bool, error string) error { - return _Vm.Contract.AssertTrue0(&_Vm.CallOpts, condition, error) -} - -// Assume is a free data retrieval call binding the contract method 0x4c63e562. -// -// Solidity: function assume(bool condition) pure returns() -func (_Vm *VmCaller) Assume(opts *bind.CallOpts, condition bool) error { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "assume", condition) - - if err != nil { - return err - } - - return err - -} - -// Assume is a free data retrieval call binding the contract method 0x4c63e562. -// -// Solidity: function assume(bool condition) pure returns() -func (_Vm *VmSession) Assume(condition bool) error { - return _Vm.Contract.Assume(&_Vm.CallOpts, condition) -} - -// Assume is a free data retrieval call binding the contract method 0x4c63e562. -// -// Solidity: function assume(bool condition) pure returns() -func (_Vm *VmCallerSession) Assume(condition bool) error { - return _Vm.Contract.Assume(&_Vm.CallOpts, condition) -} - -// ComputeCreate2Address is a free data retrieval call binding the contract method 0x890c283b. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) pure returns(address) -func (_Vm *VmCaller) ComputeCreate2Address(opts *bind.CallOpts, salt [32]byte, initCodeHash [32]byte) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "computeCreate2Address", salt, initCodeHash) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ComputeCreate2Address is a free data retrieval call binding the contract method 0x890c283b. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) pure returns(address) -func (_Vm *VmSession) ComputeCreate2Address(salt [32]byte, initCodeHash [32]byte) (common.Address, error) { - return _Vm.Contract.ComputeCreate2Address(&_Vm.CallOpts, salt, initCodeHash) -} - -// ComputeCreate2Address is a free data retrieval call binding the contract method 0x890c283b. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) pure returns(address) -func (_Vm *VmCallerSession) ComputeCreate2Address(salt [32]byte, initCodeHash [32]byte) (common.Address, error) { - return _Vm.Contract.ComputeCreate2Address(&_Vm.CallOpts, salt, initCodeHash) -} - -// ComputeCreate2Address0 is a free data retrieval call binding the contract method 0xd323826a. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer) pure returns(address) -func (_Vm *VmCaller) ComputeCreate2Address0(opts *bind.CallOpts, salt [32]byte, initCodeHash [32]byte, deployer common.Address) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "computeCreate2Address0", salt, initCodeHash, deployer) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ComputeCreate2Address0 is a free data retrieval call binding the contract method 0xd323826a. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer) pure returns(address) -func (_Vm *VmSession) ComputeCreate2Address0(salt [32]byte, initCodeHash [32]byte, deployer common.Address) (common.Address, error) { - return _Vm.Contract.ComputeCreate2Address0(&_Vm.CallOpts, salt, initCodeHash, deployer) -} - -// ComputeCreate2Address0 is a free data retrieval call binding the contract method 0xd323826a. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer) pure returns(address) -func (_Vm *VmCallerSession) ComputeCreate2Address0(salt [32]byte, initCodeHash [32]byte, deployer common.Address) (common.Address, error) { - return _Vm.Contract.ComputeCreate2Address0(&_Vm.CallOpts, salt, initCodeHash, deployer) -} - -// ComputeCreateAddress is a free data retrieval call binding the contract method 0x74637a7a. -// -// Solidity: function computeCreateAddress(address deployer, uint256 nonce) pure returns(address) -func (_Vm *VmCaller) ComputeCreateAddress(opts *bind.CallOpts, deployer common.Address, nonce *big.Int) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "computeCreateAddress", deployer, nonce) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ComputeCreateAddress is a free data retrieval call binding the contract method 0x74637a7a. -// -// Solidity: function computeCreateAddress(address deployer, uint256 nonce) pure returns(address) -func (_Vm *VmSession) ComputeCreateAddress(deployer common.Address, nonce *big.Int) (common.Address, error) { - return _Vm.Contract.ComputeCreateAddress(&_Vm.CallOpts, deployer, nonce) -} - -// ComputeCreateAddress is a free data retrieval call binding the contract method 0x74637a7a. -// -// Solidity: function computeCreateAddress(address deployer, uint256 nonce) pure returns(address) -func (_Vm *VmCallerSession) ComputeCreateAddress(deployer common.Address, nonce *big.Int) (common.Address, error) { - return _Vm.Contract.ComputeCreateAddress(&_Vm.CallOpts, deployer, nonce) -} - -// DeriveKey is a free data retrieval call binding the contract method 0x29233b1f. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index, string language) pure returns(uint256 privateKey) -func (_Vm *VmCaller) DeriveKey(opts *bind.CallOpts, mnemonic string, derivationPath string, index uint32, language string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "deriveKey", mnemonic, derivationPath, index, language) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey is a free data retrieval call binding the contract method 0x29233b1f. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index, string language) pure returns(uint256 privateKey) -func (_Vm *VmSession) DeriveKey(mnemonic string, derivationPath string, index uint32, language string) (*big.Int, error) { - return _Vm.Contract.DeriveKey(&_Vm.CallOpts, mnemonic, derivationPath, index, language) -} - -// DeriveKey is a free data retrieval call binding the contract method 0x29233b1f. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index, string language) pure returns(uint256 privateKey) -func (_Vm *VmCallerSession) DeriveKey(mnemonic string, derivationPath string, index uint32, language string) (*big.Int, error) { - return _Vm.Contract.DeriveKey(&_Vm.CallOpts, mnemonic, derivationPath, index, language) -} - -// DeriveKey0 is a free data retrieval call binding the contract method 0x32c8176d. -// -// Solidity: function deriveKey(string mnemonic, uint32 index, string language) pure returns(uint256 privateKey) -func (_Vm *VmCaller) DeriveKey0(opts *bind.CallOpts, mnemonic string, index uint32, language string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "deriveKey0", mnemonic, index, language) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey0 is a free data retrieval call binding the contract method 0x32c8176d. -// -// Solidity: function deriveKey(string mnemonic, uint32 index, string language) pure returns(uint256 privateKey) -func (_Vm *VmSession) DeriveKey0(mnemonic string, index uint32, language string) (*big.Int, error) { - return _Vm.Contract.DeriveKey0(&_Vm.CallOpts, mnemonic, index, language) -} - -// DeriveKey0 is a free data retrieval call binding the contract method 0x32c8176d. -// -// Solidity: function deriveKey(string mnemonic, uint32 index, string language) pure returns(uint256 privateKey) -func (_Vm *VmCallerSession) DeriveKey0(mnemonic string, index uint32, language string) (*big.Int, error) { - return _Vm.Contract.DeriveKey0(&_Vm.CallOpts, mnemonic, index, language) -} - -// DeriveKey1 is a free data retrieval call binding the contract method 0x6229498b. -// -// Solidity: function deriveKey(string mnemonic, uint32 index) pure returns(uint256 privateKey) -func (_Vm *VmCaller) DeriveKey1(opts *bind.CallOpts, mnemonic string, index uint32) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "deriveKey1", mnemonic, index) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey1 is a free data retrieval call binding the contract method 0x6229498b. -// -// Solidity: function deriveKey(string mnemonic, uint32 index) pure returns(uint256 privateKey) -func (_Vm *VmSession) DeriveKey1(mnemonic string, index uint32) (*big.Int, error) { - return _Vm.Contract.DeriveKey1(&_Vm.CallOpts, mnemonic, index) -} - -// DeriveKey1 is a free data retrieval call binding the contract method 0x6229498b. -// -// Solidity: function deriveKey(string mnemonic, uint32 index) pure returns(uint256 privateKey) -func (_Vm *VmCallerSession) DeriveKey1(mnemonic string, index uint32) (*big.Int, error) { - return _Vm.Contract.DeriveKey1(&_Vm.CallOpts, mnemonic, index) -} - -// DeriveKey2 is a free data retrieval call binding the contract method 0x6bcb2c1b. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index) pure returns(uint256 privateKey) -func (_Vm *VmCaller) DeriveKey2(opts *bind.CallOpts, mnemonic string, derivationPath string, index uint32) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "deriveKey2", mnemonic, derivationPath, index) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey2 is a free data retrieval call binding the contract method 0x6bcb2c1b. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index) pure returns(uint256 privateKey) -func (_Vm *VmSession) DeriveKey2(mnemonic string, derivationPath string, index uint32) (*big.Int, error) { - return _Vm.Contract.DeriveKey2(&_Vm.CallOpts, mnemonic, derivationPath, index) -} - -// DeriveKey2 is a free data retrieval call binding the contract method 0x6bcb2c1b. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index) pure returns(uint256 privateKey) -func (_Vm *VmCallerSession) DeriveKey2(mnemonic string, derivationPath string, index uint32) (*big.Int, error) { - return _Vm.Contract.DeriveKey2(&_Vm.CallOpts, mnemonic, derivationPath, index) -} - -// EnsNamehash is a free data retrieval call binding the contract method 0x8c374c65. -// -// Solidity: function ensNamehash(string name) pure returns(bytes32) -func (_Vm *VmCaller) EnsNamehash(opts *bind.CallOpts, name string) ([32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "ensNamehash", name) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// EnsNamehash is a free data retrieval call binding the contract method 0x8c374c65. -// -// Solidity: function ensNamehash(string name) pure returns(bytes32) -func (_Vm *VmSession) EnsNamehash(name string) ([32]byte, error) { - return _Vm.Contract.EnsNamehash(&_Vm.CallOpts, name) -} - -// EnsNamehash is a free data retrieval call binding the contract method 0x8c374c65. -// -// Solidity: function ensNamehash(string name) pure returns(bytes32) -func (_Vm *VmCallerSession) EnsNamehash(name string) ([32]byte, error) { - return _Vm.Contract.EnsNamehash(&_Vm.CallOpts, name) -} - -// EnvAddress is a free data retrieval call binding the contract method 0x350d56bf. -// -// Solidity: function envAddress(string name) view returns(address value) -func (_Vm *VmCaller) EnvAddress(opts *bind.CallOpts, name string) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envAddress", name) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EnvAddress is a free data retrieval call binding the contract method 0x350d56bf. -// -// Solidity: function envAddress(string name) view returns(address value) -func (_Vm *VmSession) EnvAddress(name string) (common.Address, error) { - return _Vm.Contract.EnvAddress(&_Vm.CallOpts, name) -} - -// EnvAddress is a free data retrieval call binding the contract method 0x350d56bf. -// -// Solidity: function envAddress(string name) view returns(address value) -func (_Vm *VmCallerSession) EnvAddress(name string) (common.Address, error) { - return _Vm.Contract.EnvAddress(&_Vm.CallOpts, name) -} - -// EnvAddress0 is a free data retrieval call binding the contract method 0xad31b9fa. -// -// Solidity: function envAddress(string name, string delim) view returns(address[] value) -func (_Vm *VmCaller) EnvAddress0(opts *bind.CallOpts, name string, delim string) ([]common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envAddress0", name, delim) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// EnvAddress0 is a free data retrieval call binding the contract method 0xad31b9fa. -// -// Solidity: function envAddress(string name, string delim) view returns(address[] value) -func (_Vm *VmSession) EnvAddress0(name string, delim string) ([]common.Address, error) { - return _Vm.Contract.EnvAddress0(&_Vm.CallOpts, name, delim) -} - -// EnvAddress0 is a free data retrieval call binding the contract method 0xad31b9fa. -// -// Solidity: function envAddress(string name, string delim) view returns(address[] value) -func (_Vm *VmCallerSession) EnvAddress0(name string, delim string) ([]common.Address, error) { - return _Vm.Contract.EnvAddress0(&_Vm.CallOpts, name, delim) -} - -// EnvBool is a free data retrieval call binding the contract method 0x7ed1ec7d. -// -// Solidity: function envBool(string name) view returns(bool value) -func (_Vm *VmCaller) EnvBool(opts *bind.CallOpts, name string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envBool", name) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// EnvBool is a free data retrieval call binding the contract method 0x7ed1ec7d. -// -// Solidity: function envBool(string name) view returns(bool value) -func (_Vm *VmSession) EnvBool(name string) (bool, error) { - return _Vm.Contract.EnvBool(&_Vm.CallOpts, name) -} - -// EnvBool is a free data retrieval call binding the contract method 0x7ed1ec7d. -// -// Solidity: function envBool(string name) view returns(bool value) -func (_Vm *VmCallerSession) EnvBool(name string) (bool, error) { - return _Vm.Contract.EnvBool(&_Vm.CallOpts, name) -} - -// EnvBool0 is a free data retrieval call binding the contract method 0xaaaddeaf. -// -// Solidity: function envBool(string name, string delim) view returns(bool[] value) -func (_Vm *VmCaller) EnvBool0(opts *bind.CallOpts, name string, delim string) ([]bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envBool0", name, delim) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// EnvBool0 is a free data retrieval call binding the contract method 0xaaaddeaf. -// -// Solidity: function envBool(string name, string delim) view returns(bool[] value) -func (_Vm *VmSession) EnvBool0(name string, delim string) ([]bool, error) { - return _Vm.Contract.EnvBool0(&_Vm.CallOpts, name, delim) -} - -// EnvBool0 is a free data retrieval call binding the contract method 0xaaaddeaf. -// -// Solidity: function envBool(string name, string delim) view returns(bool[] value) -func (_Vm *VmCallerSession) EnvBool0(name string, delim string) ([]bool, error) { - return _Vm.Contract.EnvBool0(&_Vm.CallOpts, name, delim) -} - -// EnvBytes is a free data retrieval call binding the contract method 0x4d7baf06. -// -// Solidity: function envBytes(string name) view returns(bytes value) -func (_Vm *VmCaller) EnvBytes(opts *bind.CallOpts, name string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envBytes", name) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// EnvBytes is a free data retrieval call binding the contract method 0x4d7baf06. -// -// Solidity: function envBytes(string name) view returns(bytes value) -func (_Vm *VmSession) EnvBytes(name string) ([]byte, error) { - return _Vm.Contract.EnvBytes(&_Vm.CallOpts, name) -} - -// EnvBytes is a free data retrieval call binding the contract method 0x4d7baf06. -// -// Solidity: function envBytes(string name) view returns(bytes value) -func (_Vm *VmCallerSession) EnvBytes(name string) ([]byte, error) { - return _Vm.Contract.EnvBytes(&_Vm.CallOpts, name) -} - -// EnvBytes0 is a free data retrieval call binding the contract method 0xddc2651b. -// -// Solidity: function envBytes(string name, string delim) view returns(bytes[] value) -func (_Vm *VmCaller) EnvBytes0(opts *bind.CallOpts, name string, delim string) ([][]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envBytes0", name, delim) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// EnvBytes0 is a free data retrieval call binding the contract method 0xddc2651b. -// -// Solidity: function envBytes(string name, string delim) view returns(bytes[] value) -func (_Vm *VmSession) EnvBytes0(name string, delim string) ([][]byte, error) { - return _Vm.Contract.EnvBytes0(&_Vm.CallOpts, name, delim) -} - -// EnvBytes0 is a free data retrieval call binding the contract method 0xddc2651b. -// -// Solidity: function envBytes(string name, string delim) view returns(bytes[] value) -func (_Vm *VmCallerSession) EnvBytes0(name string, delim string) ([][]byte, error) { - return _Vm.Contract.EnvBytes0(&_Vm.CallOpts, name, delim) -} - -// EnvBytes32 is a free data retrieval call binding the contract method 0x5af231c1. -// -// Solidity: function envBytes32(string name, string delim) view returns(bytes32[] value) -func (_Vm *VmCaller) EnvBytes32(opts *bind.CallOpts, name string, delim string) ([][32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envBytes32", name, delim) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// EnvBytes32 is a free data retrieval call binding the contract method 0x5af231c1. -// -// Solidity: function envBytes32(string name, string delim) view returns(bytes32[] value) -func (_Vm *VmSession) EnvBytes32(name string, delim string) ([][32]byte, error) { - return _Vm.Contract.EnvBytes32(&_Vm.CallOpts, name, delim) -} - -// EnvBytes32 is a free data retrieval call binding the contract method 0x5af231c1. -// -// Solidity: function envBytes32(string name, string delim) view returns(bytes32[] value) -func (_Vm *VmCallerSession) EnvBytes32(name string, delim string) ([][32]byte, error) { - return _Vm.Contract.EnvBytes32(&_Vm.CallOpts, name, delim) -} - -// EnvBytes320 is a free data retrieval call binding the contract method 0x97949042. -// -// Solidity: function envBytes32(string name) view returns(bytes32 value) -func (_Vm *VmCaller) EnvBytes320(opts *bind.CallOpts, name string) ([32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envBytes320", name) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// EnvBytes320 is a free data retrieval call binding the contract method 0x97949042. -// -// Solidity: function envBytes32(string name) view returns(bytes32 value) -func (_Vm *VmSession) EnvBytes320(name string) ([32]byte, error) { - return _Vm.Contract.EnvBytes320(&_Vm.CallOpts, name) -} - -// EnvBytes320 is a free data retrieval call binding the contract method 0x97949042. -// -// Solidity: function envBytes32(string name) view returns(bytes32 value) -func (_Vm *VmCallerSession) EnvBytes320(name string) ([32]byte, error) { - return _Vm.Contract.EnvBytes320(&_Vm.CallOpts, name) -} - -// EnvExists is a free data retrieval call binding the contract method 0xce8365f9. -// -// Solidity: function envExists(string name) view returns(bool result) -func (_Vm *VmCaller) EnvExists(opts *bind.CallOpts, name string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envExists", name) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// EnvExists is a free data retrieval call binding the contract method 0xce8365f9. -// -// Solidity: function envExists(string name) view returns(bool result) -func (_Vm *VmSession) EnvExists(name string) (bool, error) { - return _Vm.Contract.EnvExists(&_Vm.CallOpts, name) -} - -// EnvExists is a free data retrieval call binding the contract method 0xce8365f9. -// -// Solidity: function envExists(string name) view returns(bool result) -func (_Vm *VmCallerSession) EnvExists(name string) (bool, error) { - return _Vm.Contract.EnvExists(&_Vm.CallOpts, name) -} - -// EnvInt is a free data retrieval call binding the contract method 0x42181150. -// -// Solidity: function envInt(string name, string delim) view returns(int256[] value) -func (_Vm *VmCaller) EnvInt(opts *bind.CallOpts, name string, delim string) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envInt", name, delim) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvInt is a free data retrieval call binding the contract method 0x42181150. -// -// Solidity: function envInt(string name, string delim) view returns(int256[] value) -func (_Vm *VmSession) EnvInt(name string, delim string) ([]*big.Int, error) { - return _Vm.Contract.EnvInt(&_Vm.CallOpts, name, delim) -} - -// EnvInt is a free data retrieval call binding the contract method 0x42181150. -// -// Solidity: function envInt(string name, string delim) view returns(int256[] value) -func (_Vm *VmCallerSession) EnvInt(name string, delim string) ([]*big.Int, error) { - return _Vm.Contract.EnvInt(&_Vm.CallOpts, name, delim) -} - -// EnvInt0 is a free data retrieval call binding the contract method 0x892a0c61. -// -// Solidity: function envInt(string name) view returns(int256 value) -func (_Vm *VmCaller) EnvInt0(opts *bind.CallOpts, name string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envInt0", name) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvInt0 is a free data retrieval call binding the contract method 0x892a0c61. -// -// Solidity: function envInt(string name) view returns(int256 value) -func (_Vm *VmSession) EnvInt0(name string) (*big.Int, error) { - return _Vm.Contract.EnvInt0(&_Vm.CallOpts, name) -} - -// EnvInt0 is a free data retrieval call binding the contract method 0x892a0c61. -// -// Solidity: function envInt(string name) view returns(int256 value) -func (_Vm *VmCallerSession) EnvInt0(name string) (*big.Int, error) { - return _Vm.Contract.EnvInt0(&_Vm.CallOpts, name) -} - -// EnvOr is a free data retrieval call binding the contract method 0x2281f367. -// -// Solidity: function envOr(string name, string delim, bytes32[] defaultValue) view returns(bytes32[] value) -func (_Vm *VmCaller) EnvOr(opts *bind.CallOpts, name string, delim string, defaultValue [][32]byte) ([][32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr", name, delim, defaultValue) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// EnvOr is a free data retrieval call binding the contract method 0x2281f367. -// -// Solidity: function envOr(string name, string delim, bytes32[] defaultValue) view returns(bytes32[] value) -func (_Vm *VmSession) EnvOr(name string, delim string, defaultValue [][32]byte) ([][32]byte, error) { - return _Vm.Contract.EnvOr(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr is a free data retrieval call binding the contract method 0x2281f367. -// -// Solidity: function envOr(string name, string delim, bytes32[] defaultValue) view returns(bytes32[] value) -func (_Vm *VmCallerSession) EnvOr(name string, delim string, defaultValue [][32]byte) ([][32]byte, error) { - return _Vm.Contract.EnvOr(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr0 is a free data retrieval call binding the contract method 0x4700d74b. -// -// Solidity: function envOr(string name, string delim, int256[] defaultValue) view returns(int256[] value) -func (_Vm *VmCaller) EnvOr0(opts *bind.CallOpts, name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr0", name, delim, defaultValue) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvOr0 is a free data retrieval call binding the contract method 0x4700d74b. -// -// Solidity: function envOr(string name, string delim, int256[] defaultValue) view returns(int256[] value) -func (_Vm *VmSession) EnvOr0(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _Vm.Contract.EnvOr0(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr0 is a free data retrieval call binding the contract method 0x4700d74b. -// -// Solidity: function envOr(string name, string delim, int256[] defaultValue) view returns(int256[] value) -func (_Vm *VmCallerSession) EnvOr0(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _Vm.Contract.EnvOr0(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr1 is a free data retrieval call binding the contract method 0x4777f3cf. -// -// Solidity: function envOr(string name, bool defaultValue) view returns(bool value) -func (_Vm *VmCaller) EnvOr1(opts *bind.CallOpts, name string, defaultValue bool) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr1", name, defaultValue) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// EnvOr1 is a free data retrieval call binding the contract method 0x4777f3cf. -// -// Solidity: function envOr(string name, bool defaultValue) view returns(bool value) -func (_Vm *VmSession) EnvOr1(name string, defaultValue bool) (bool, error) { - return _Vm.Contract.EnvOr1(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr1 is a free data retrieval call binding the contract method 0x4777f3cf. -// -// Solidity: function envOr(string name, bool defaultValue) view returns(bool value) -func (_Vm *VmCallerSession) EnvOr1(name string, defaultValue bool) (bool, error) { - return _Vm.Contract.EnvOr1(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr10 is a free data retrieval call binding the contract method 0xc74e9deb. -// -// Solidity: function envOr(string name, string delim, address[] defaultValue) view returns(address[] value) -func (_Vm *VmCaller) EnvOr10(opts *bind.CallOpts, name string, delim string, defaultValue []common.Address) ([]common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr10", name, delim, defaultValue) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// EnvOr10 is a free data retrieval call binding the contract method 0xc74e9deb. -// -// Solidity: function envOr(string name, string delim, address[] defaultValue) view returns(address[] value) -func (_Vm *VmSession) EnvOr10(name string, delim string, defaultValue []common.Address) ([]common.Address, error) { - return _Vm.Contract.EnvOr10(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr10 is a free data retrieval call binding the contract method 0xc74e9deb. -// -// Solidity: function envOr(string name, string delim, address[] defaultValue) view returns(address[] value) -func (_Vm *VmCallerSession) EnvOr10(name string, delim string, defaultValue []common.Address) ([]common.Address, error) { - return _Vm.Contract.EnvOr10(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr11 is a free data retrieval call binding the contract method 0xd145736c. -// -// Solidity: function envOr(string name, string defaultValue) view returns(string value) -func (_Vm *VmCaller) EnvOr11(opts *bind.CallOpts, name string, defaultValue string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr11", name, defaultValue) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// EnvOr11 is a free data retrieval call binding the contract method 0xd145736c. -// -// Solidity: function envOr(string name, string defaultValue) view returns(string value) -func (_Vm *VmSession) EnvOr11(name string, defaultValue string) (string, error) { - return _Vm.Contract.EnvOr11(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr11 is a free data retrieval call binding the contract method 0xd145736c. -// -// Solidity: function envOr(string name, string defaultValue) view returns(string value) -func (_Vm *VmCallerSession) EnvOr11(name string, defaultValue string) (string, error) { - return _Vm.Contract.EnvOr11(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr12 is a free data retrieval call binding the contract method 0xeb85e83b. -// -// Solidity: function envOr(string name, string delim, bool[] defaultValue) view returns(bool[] value) -func (_Vm *VmCaller) EnvOr12(opts *bind.CallOpts, name string, delim string, defaultValue []bool) ([]bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr12", name, delim, defaultValue) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// EnvOr12 is a free data retrieval call binding the contract method 0xeb85e83b. -// -// Solidity: function envOr(string name, string delim, bool[] defaultValue) view returns(bool[] value) -func (_Vm *VmSession) EnvOr12(name string, delim string, defaultValue []bool) ([]bool, error) { - return _Vm.Contract.EnvOr12(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr12 is a free data retrieval call binding the contract method 0xeb85e83b. -// -// Solidity: function envOr(string name, string delim, bool[] defaultValue) view returns(bool[] value) -func (_Vm *VmCallerSession) EnvOr12(name string, delim string, defaultValue []bool) ([]bool, error) { - return _Vm.Contract.EnvOr12(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr2 is a free data retrieval call binding the contract method 0x561fe540. -// -// Solidity: function envOr(string name, address defaultValue) view returns(address value) -func (_Vm *VmCaller) EnvOr2(opts *bind.CallOpts, name string, defaultValue common.Address) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr2", name, defaultValue) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EnvOr2 is a free data retrieval call binding the contract method 0x561fe540. -// -// Solidity: function envOr(string name, address defaultValue) view returns(address value) -func (_Vm *VmSession) EnvOr2(name string, defaultValue common.Address) (common.Address, error) { - return _Vm.Contract.EnvOr2(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr2 is a free data retrieval call binding the contract method 0x561fe540. -// -// Solidity: function envOr(string name, address defaultValue) view returns(address value) -func (_Vm *VmCallerSession) EnvOr2(name string, defaultValue common.Address) (common.Address, error) { - return _Vm.Contract.EnvOr2(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr3 is a free data retrieval call binding the contract method 0x5e97348f. -// -// Solidity: function envOr(string name, uint256 defaultValue) view returns(uint256 value) -func (_Vm *VmCaller) EnvOr3(opts *bind.CallOpts, name string, defaultValue *big.Int) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr3", name, defaultValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvOr3 is a free data retrieval call binding the contract method 0x5e97348f. -// -// Solidity: function envOr(string name, uint256 defaultValue) view returns(uint256 value) -func (_Vm *VmSession) EnvOr3(name string, defaultValue *big.Int) (*big.Int, error) { - return _Vm.Contract.EnvOr3(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr3 is a free data retrieval call binding the contract method 0x5e97348f. -// -// Solidity: function envOr(string name, uint256 defaultValue) view returns(uint256 value) -func (_Vm *VmCallerSession) EnvOr3(name string, defaultValue *big.Int) (*big.Int, error) { - return _Vm.Contract.EnvOr3(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr4 is a free data retrieval call binding the contract method 0x64bc3e64. -// -// Solidity: function envOr(string name, string delim, bytes[] defaultValue) view returns(bytes[] value) -func (_Vm *VmCaller) EnvOr4(opts *bind.CallOpts, name string, delim string, defaultValue [][]byte) ([][]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr4", name, delim, defaultValue) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// EnvOr4 is a free data retrieval call binding the contract method 0x64bc3e64. -// -// Solidity: function envOr(string name, string delim, bytes[] defaultValue) view returns(bytes[] value) -func (_Vm *VmSession) EnvOr4(name string, delim string, defaultValue [][]byte) ([][]byte, error) { - return _Vm.Contract.EnvOr4(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr4 is a free data retrieval call binding the contract method 0x64bc3e64. -// -// Solidity: function envOr(string name, string delim, bytes[] defaultValue) view returns(bytes[] value) -func (_Vm *VmCallerSession) EnvOr4(name string, delim string, defaultValue [][]byte) ([][]byte, error) { - return _Vm.Contract.EnvOr4(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr5 is a free data retrieval call binding the contract method 0x74318528. -// -// Solidity: function envOr(string name, string delim, uint256[] defaultValue) view returns(uint256[] value) -func (_Vm *VmCaller) EnvOr5(opts *bind.CallOpts, name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr5", name, delim, defaultValue) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvOr5 is a free data retrieval call binding the contract method 0x74318528. -// -// Solidity: function envOr(string name, string delim, uint256[] defaultValue) view returns(uint256[] value) -func (_Vm *VmSession) EnvOr5(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _Vm.Contract.EnvOr5(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr5 is a free data retrieval call binding the contract method 0x74318528. -// -// Solidity: function envOr(string name, string delim, uint256[] defaultValue) view returns(uint256[] value) -func (_Vm *VmCallerSession) EnvOr5(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _Vm.Contract.EnvOr5(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr6 is a free data retrieval call binding the contract method 0x859216bc. -// -// Solidity: function envOr(string name, string delim, string[] defaultValue) view returns(string[] value) -func (_Vm *VmCaller) EnvOr6(opts *bind.CallOpts, name string, delim string, defaultValue []string) ([]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr6", name, delim, defaultValue) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// EnvOr6 is a free data retrieval call binding the contract method 0x859216bc. -// -// Solidity: function envOr(string name, string delim, string[] defaultValue) view returns(string[] value) -func (_Vm *VmSession) EnvOr6(name string, delim string, defaultValue []string) ([]string, error) { - return _Vm.Contract.EnvOr6(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr6 is a free data retrieval call binding the contract method 0x859216bc. -// -// Solidity: function envOr(string name, string delim, string[] defaultValue) view returns(string[] value) -func (_Vm *VmCallerSession) EnvOr6(name string, delim string, defaultValue []string) ([]string, error) { - return _Vm.Contract.EnvOr6(&_Vm.CallOpts, name, delim, defaultValue) -} - -// EnvOr7 is a free data retrieval call binding the contract method 0xb3e47705. -// -// Solidity: function envOr(string name, bytes defaultValue) view returns(bytes value) -func (_Vm *VmCaller) EnvOr7(opts *bind.CallOpts, name string, defaultValue []byte) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr7", name, defaultValue) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// EnvOr7 is a free data retrieval call binding the contract method 0xb3e47705. -// -// Solidity: function envOr(string name, bytes defaultValue) view returns(bytes value) -func (_Vm *VmSession) EnvOr7(name string, defaultValue []byte) ([]byte, error) { - return _Vm.Contract.EnvOr7(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr7 is a free data retrieval call binding the contract method 0xb3e47705. -// -// Solidity: function envOr(string name, bytes defaultValue) view returns(bytes value) -func (_Vm *VmCallerSession) EnvOr7(name string, defaultValue []byte) ([]byte, error) { - return _Vm.Contract.EnvOr7(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr8 is a free data retrieval call binding the contract method 0xb4a85892. -// -// Solidity: function envOr(string name, bytes32 defaultValue) view returns(bytes32 value) -func (_Vm *VmCaller) EnvOr8(opts *bind.CallOpts, name string, defaultValue [32]byte) ([32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr8", name, defaultValue) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// EnvOr8 is a free data retrieval call binding the contract method 0xb4a85892. -// -// Solidity: function envOr(string name, bytes32 defaultValue) view returns(bytes32 value) -func (_Vm *VmSession) EnvOr8(name string, defaultValue [32]byte) ([32]byte, error) { - return _Vm.Contract.EnvOr8(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr8 is a free data retrieval call binding the contract method 0xb4a85892. -// -// Solidity: function envOr(string name, bytes32 defaultValue) view returns(bytes32 value) -func (_Vm *VmCallerSession) EnvOr8(name string, defaultValue [32]byte) ([32]byte, error) { - return _Vm.Contract.EnvOr8(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr9 is a free data retrieval call binding the contract method 0xbbcb713e. -// -// Solidity: function envOr(string name, int256 defaultValue) view returns(int256 value) -func (_Vm *VmCaller) EnvOr9(opts *bind.CallOpts, name string, defaultValue *big.Int) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envOr9", name, defaultValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvOr9 is a free data retrieval call binding the contract method 0xbbcb713e. -// -// Solidity: function envOr(string name, int256 defaultValue) view returns(int256 value) -func (_Vm *VmSession) EnvOr9(name string, defaultValue *big.Int) (*big.Int, error) { - return _Vm.Contract.EnvOr9(&_Vm.CallOpts, name, defaultValue) -} - -// EnvOr9 is a free data retrieval call binding the contract method 0xbbcb713e. -// -// Solidity: function envOr(string name, int256 defaultValue) view returns(int256 value) -func (_Vm *VmCallerSession) EnvOr9(name string, defaultValue *big.Int) (*big.Int, error) { - return _Vm.Contract.EnvOr9(&_Vm.CallOpts, name, defaultValue) -} - -// EnvString is a free data retrieval call binding the contract method 0x14b02bc9. -// -// Solidity: function envString(string name, string delim) view returns(string[] value) -func (_Vm *VmCaller) EnvString(opts *bind.CallOpts, name string, delim string) ([]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envString", name, delim) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// EnvString is a free data retrieval call binding the contract method 0x14b02bc9. -// -// Solidity: function envString(string name, string delim) view returns(string[] value) -func (_Vm *VmSession) EnvString(name string, delim string) ([]string, error) { - return _Vm.Contract.EnvString(&_Vm.CallOpts, name, delim) -} - -// EnvString is a free data retrieval call binding the contract method 0x14b02bc9. -// -// Solidity: function envString(string name, string delim) view returns(string[] value) -func (_Vm *VmCallerSession) EnvString(name string, delim string) ([]string, error) { - return _Vm.Contract.EnvString(&_Vm.CallOpts, name, delim) -} - -// EnvString0 is a free data retrieval call binding the contract method 0xf877cb19. -// -// Solidity: function envString(string name) view returns(string value) -func (_Vm *VmCaller) EnvString0(opts *bind.CallOpts, name string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envString0", name) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// EnvString0 is a free data retrieval call binding the contract method 0xf877cb19. -// -// Solidity: function envString(string name) view returns(string value) -func (_Vm *VmSession) EnvString0(name string) (string, error) { - return _Vm.Contract.EnvString0(&_Vm.CallOpts, name) -} - -// EnvString0 is a free data retrieval call binding the contract method 0xf877cb19. -// -// Solidity: function envString(string name) view returns(string value) -func (_Vm *VmCallerSession) EnvString0(name string) (string, error) { - return _Vm.Contract.EnvString0(&_Vm.CallOpts, name) -} - -// EnvUint is a free data retrieval call binding the contract method 0xc1978d1f. -// -// Solidity: function envUint(string name) view returns(uint256 value) -func (_Vm *VmCaller) EnvUint(opts *bind.CallOpts, name string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envUint", name) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvUint is a free data retrieval call binding the contract method 0xc1978d1f. -// -// Solidity: function envUint(string name) view returns(uint256 value) -func (_Vm *VmSession) EnvUint(name string) (*big.Int, error) { - return _Vm.Contract.EnvUint(&_Vm.CallOpts, name) -} - -// EnvUint is a free data retrieval call binding the contract method 0xc1978d1f. -// -// Solidity: function envUint(string name) view returns(uint256 value) -func (_Vm *VmCallerSession) EnvUint(name string) (*big.Int, error) { - return _Vm.Contract.EnvUint(&_Vm.CallOpts, name) -} - -// EnvUint0 is a free data retrieval call binding the contract method 0xf3dec099. -// -// Solidity: function envUint(string name, string delim) view returns(uint256[] value) -func (_Vm *VmCaller) EnvUint0(opts *bind.CallOpts, name string, delim string) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "envUint0", name, delim) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvUint0 is a free data retrieval call binding the contract method 0xf3dec099. -// -// Solidity: function envUint(string name, string delim) view returns(uint256[] value) -func (_Vm *VmSession) EnvUint0(name string, delim string) ([]*big.Int, error) { - return _Vm.Contract.EnvUint0(&_Vm.CallOpts, name, delim) -} - -// EnvUint0 is a free data retrieval call binding the contract method 0xf3dec099. -// -// Solidity: function envUint(string name, string delim) view returns(uint256[] value) -func (_Vm *VmCallerSession) EnvUint0(name string, delim string) ([]*big.Int, error) { - return _Vm.Contract.EnvUint0(&_Vm.CallOpts, name, delim) -} - -// FsMetadata is a free data retrieval call binding the contract method 0xaf368a08. -// -// Solidity: function fsMetadata(string path) view returns((bool,bool,uint256,bool,uint256,uint256,uint256) metadata) -func (_Vm *VmCaller) FsMetadata(opts *bind.CallOpts, path string) (VmSafeFsMetadata, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "fsMetadata", path) - - if err != nil { - return *new(VmSafeFsMetadata), err - } - - out0 := *abi.ConvertType(out[0], new(VmSafeFsMetadata)).(*VmSafeFsMetadata) - - return out0, err - -} - -// FsMetadata is a free data retrieval call binding the contract method 0xaf368a08. -// -// Solidity: function fsMetadata(string path) view returns((bool,bool,uint256,bool,uint256,uint256,uint256) metadata) -func (_Vm *VmSession) FsMetadata(path string) (VmSafeFsMetadata, error) { - return _Vm.Contract.FsMetadata(&_Vm.CallOpts, path) -} - -// FsMetadata is a free data retrieval call binding the contract method 0xaf368a08. -// -// Solidity: function fsMetadata(string path) view returns((bool,bool,uint256,bool,uint256,uint256,uint256) metadata) -func (_Vm *VmCallerSession) FsMetadata(path string) (VmSafeFsMetadata, error) { - return _Vm.Contract.FsMetadata(&_Vm.CallOpts, path) -} - -// GetBlobBaseFee is a free data retrieval call binding the contract method 0x1f6d6ef7. -// -// Solidity: function getBlobBaseFee() view returns(uint256 blobBaseFee) -func (_Vm *VmCaller) GetBlobBaseFee(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getBlobBaseFee") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBlobBaseFee is a free data retrieval call binding the contract method 0x1f6d6ef7. -// -// Solidity: function getBlobBaseFee() view returns(uint256 blobBaseFee) -func (_Vm *VmSession) GetBlobBaseFee() (*big.Int, error) { - return _Vm.Contract.GetBlobBaseFee(&_Vm.CallOpts) -} - -// GetBlobBaseFee is a free data retrieval call binding the contract method 0x1f6d6ef7. -// -// Solidity: function getBlobBaseFee() view returns(uint256 blobBaseFee) -func (_Vm *VmCallerSession) GetBlobBaseFee() (*big.Int, error) { - return _Vm.Contract.GetBlobBaseFee(&_Vm.CallOpts) -} - -// GetBlobhashes is a free data retrieval call binding the contract method 0xf56ff18b. -// -// Solidity: function getBlobhashes() view returns(bytes32[] hashes) -func (_Vm *VmCaller) GetBlobhashes(opts *bind.CallOpts) ([][32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getBlobhashes") - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// GetBlobhashes is a free data retrieval call binding the contract method 0xf56ff18b. -// -// Solidity: function getBlobhashes() view returns(bytes32[] hashes) -func (_Vm *VmSession) GetBlobhashes() ([][32]byte, error) { - return _Vm.Contract.GetBlobhashes(&_Vm.CallOpts) -} - -// GetBlobhashes is a free data retrieval call binding the contract method 0xf56ff18b. -// -// Solidity: function getBlobhashes() view returns(bytes32[] hashes) -func (_Vm *VmCallerSession) GetBlobhashes() ([][32]byte, error) { - return _Vm.Contract.GetBlobhashes(&_Vm.CallOpts) -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 height) -func (_Vm *VmCaller) GetBlockNumber(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getBlockNumber") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 height) -func (_Vm *VmSession) GetBlockNumber() (*big.Int, error) { - return _Vm.Contract.GetBlockNumber(&_Vm.CallOpts) -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 height) -func (_Vm *VmCallerSession) GetBlockNumber() (*big.Int, error) { - return _Vm.Contract.GetBlockNumber(&_Vm.CallOpts) -} - -// GetBlockTimestamp is a free data retrieval call binding the contract method 0x796b89b9. -// -// Solidity: function getBlockTimestamp() view returns(uint256 timestamp) -func (_Vm *VmCaller) GetBlockTimestamp(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getBlockTimestamp") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBlockTimestamp is a free data retrieval call binding the contract method 0x796b89b9. -// -// Solidity: function getBlockTimestamp() view returns(uint256 timestamp) -func (_Vm *VmSession) GetBlockTimestamp() (*big.Int, error) { - return _Vm.Contract.GetBlockTimestamp(&_Vm.CallOpts) -} - -// GetBlockTimestamp is a free data retrieval call binding the contract method 0x796b89b9. -// -// Solidity: function getBlockTimestamp() view returns(uint256 timestamp) -func (_Vm *VmCallerSession) GetBlockTimestamp() (*big.Int, error) { - return _Vm.Contract.GetBlockTimestamp(&_Vm.CallOpts) -} - -// GetCode is a free data retrieval call binding the contract method 0x8d1cc925. -// -// Solidity: function getCode(string artifactPath) view returns(bytes creationBytecode) -func (_Vm *VmCaller) GetCode(opts *bind.CallOpts, artifactPath string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getCode", artifactPath) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// GetCode is a free data retrieval call binding the contract method 0x8d1cc925. -// -// Solidity: function getCode(string artifactPath) view returns(bytes creationBytecode) -func (_Vm *VmSession) GetCode(artifactPath string) ([]byte, error) { - return _Vm.Contract.GetCode(&_Vm.CallOpts, artifactPath) -} - -// GetCode is a free data retrieval call binding the contract method 0x8d1cc925. -// -// Solidity: function getCode(string artifactPath) view returns(bytes creationBytecode) -func (_Vm *VmCallerSession) GetCode(artifactPath string) ([]byte, error) { - return _Vm.Contract.GetCode(&_Vm.CallOpts, artifactPath) -} - -// GetDeployedCode is a free data retrieval call binding the contract method 0x3ebf73b4. -// -// Solidity: function getDeployedCode(string artifactPath) view returns(bytes runtimeBytecode) -func (_Vm *VmCaller) GetDeployedCode(opts *bind.CallOpts, artifactPath string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getDeployedCode", artifactPath) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// GetDeployedCode is a free data retrieval call binding the contract method 0x3ebf73b4. -// -// Solidity: function getDeployedCode(string artifactPath) view returns(bytes runtimeBytecode) -func (_Vm *VmSession) GetDeployedCode(artifactPath string) ([]byte, error) { - return _Vm.Contract.GetDeployedCode(&_Vm.CallOpts, artifactPath) -} - -// GetDeployedCode is a free data retrieval call binding the contract method 0x3ebf73b4. -// -// Solidity: function getDeployedCode(string artifactPath) view returns(bytes runtimeBytecode) -func (_Vm *VmCallerSession) GetDeployedCode(artifactPath string) ([]byte, error) { - return _Vm.Contract.GetDeployedCode(&_Vm.CallOpts, artifactPath) -} - -// GetLabel is a free data retrieval call binding the contract method 0x28a249b0. -// -// Solidity: function getLabel(address account) view returns(string currentLabel) -func (_Vm *VmCaller) GetLabel(opts *bind.CallOpts, account common.Address) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getLabel", account) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// GetLabel is a free data retrieval call binding the contract method 0x28a249b0. -// -// Solidity: function getLabel(address account) view returns(string currentLabel) -func (_Vm *VmSession) GetLabel(account common.Address) (string, error) { - return _Vm.Contract.GetLabel(&_Vm.CallOpts, account) -} - -// GetLabel is a free data retrieval call binding the contract method 0x28a249b0. -// -// Solidity: function getLabel(address account) view returns(string currentLabel) -func (_Vm *VmCallerSession) GetLabel(account common.Address) (string, error) { - return _Vm.Contract.GetLabel(&_Vm.CallOpts, account) -} - -// GetNonce is a free data retrieval call binding the contract method 0x2d0335ab. -// -// Solidity: function getNonce(address account) view returns(uint64 nonce) -func (_Vm *VmCaller) GetNonce(opts *bind.CallOpts, account common.Address) (uint64, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "getNonce", account) - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// GetNonce is a free data retrieval call binding the contract method 0x2d0335ab. -// -// Solidity: function getNonce(address account) view returns(uint64 nonce) -func (_Vm *VmSession) GetNonce(account common.Address) (uint64, error) { - return _Vm.Contract.GetNonce(&_Vm.CallOpts, account) -} - -// GetNonce is a free data retrieval call binding the contract method 0x2d0335ab. -// -// Solidity: function getNonce(address account) view returns(uint64 nonce) -func (_Vm *VmCallerSession) GetNonce(account common.Address) (uint64, error) { - return _Vm.Contract.GetNonce(&_Vm.CallOpts, account) -} - -// IndexOf is a free data retrieval call binding the contract method 0x8a0807b7. -// -// Solidity: function indexOf(string input, string key) pure returns(uint256) -func (_Vm *VmCaller) IndexOf(opts *bind.CallOpts, input string, key string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "indexOf", input, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// IndexOf is a free data retrieval call binding the contract method 0x8a0807b7. -// -// Solidity: function indexOf(string input, string key) pure returns(uint256) -func (_Vm *VmSession) IndexOf(input string, key string) (*big.Int, error) { - return _Vm.Contract.IndexOf(&_Vm.CallOpts, input, key) -} - -// IndexOf is a free data retrieval call binding the contract method 0x8a0807b7. -// -// Solidity: function indexOf(string input, string key) pure returns(uint256) -func (_Vm *VmCallerSession) IndexOf(input string, key string) (*big.Int, error) { - return _Vm.Contract.IndexOf(&_Vm.CallOpts, input, key) -} - -// IsContext is a free data retrieval call binding the contract method 0x64af255d. -// -// Solidity: function isContext(uint8 context) view returns(bool result) -func (_Vm *VmCaller) IsContext(opts *bind.CallOpts, context uint8) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "isContext", context) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsContext is a free data retrieval call binding the contract method 0x64af255d. -// -// Solidity: function isContext(uint8 context) view returns(bool result) -func (_Vm *VmSession) IsContext(context uint8) (bool, error) { - return _Vm.Contract.IsContext(&_Vm.CallOpts, context) -} - -// IsContext is a free data retrieval call binding the contract method 0x64af255d. -// -// Solidity: function isContext(uint8 context) view returns(bool result) -func (_Vm *VmCallerSession) IsContext(context uint8) (bool, error) { - return _Vm.Contract.IsContext(&_Vm.CallOpts, context) -} - -// IsPersistent is a free data retrieval call binding the contract method 0xd92d8efd. -// -// Solidity: function isPersistent(address account) view returns(bool persistent) -func (_Vm *VmCaller) IsPersistent(opts *bind.CallOpts, account common.Address) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "isPersistent", account) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsPersistent is a free data retrieval call binding the contract method 0xd92d8efd. -// -// Solidity: function isPersistent(address account) view returns(bool persistent) -func (_Vm *VmSession) IsPersistent(account common.Address) (bool, error) { - return _Vm.Contract.IsPersistent(&_Vm.CallOpts, account) -} - -// IsPersistent is a free data retrieval call binding the contract method 0xd92d8efd. -// -// Solidity: function isPersistent(address account) view returns(bool persistent) -func (_Vm *VmCallerSession) IsPersistent(account common.Address) (bool, error) { - return _Vm.Contract.IsPersistent(&_Vm.CallOpts, account) -} - -// KeyExists is a free data retrieval call binding the contract method 0x528a683c. -// -// Solidity: function keyExists(string json, string key) view returns(bool) -func (_Vm *VmCaller) KeyExists(opts *bind.CallOpts, json string, key string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "keyExists", json, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// KeyExists is a free data retrieval call binding the contract method 0x528a683c. -// -// Solidity: function keyExists(string json, string key) view returns(bool) -func (_Vm *VmSession) KeyExists(json string, key string) (bool, error) { - return _Vm.Contract.KeyExists(&_Vm.CallOpts, json, key) -} - -// KeyExists is a free data retrieval call binding the contract method 0x528a683c. -// -// Solidity: function keyExists(string json, string key) view returns(bool) -func (_Vm *VmCallerSession) KeyExists(json string, key string) (bool, error) { - return _Vm.Contract.KeyExists(&_Vm.CallOpts, json, key) -} - -// KeyExistsJson is a free data retrieval call binding the contract method 0xdb4235f6. -// -// Solidity: function keyExistsJson(string json, string key) view returns(bool) -func (_Vm *VmCaller) KeyExistsJson(opts *bind.CallOpts, json string, key string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "keyExistsJson", json, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// KeyExistsJson is a free data retrieval call binding the contract method 0xdb4235f6. -// -// Solidity: function keyExistsJson(string json, string key) view returns(bool) -func (_Vm *VmSession) KeyExistsJson(json string, key string) (bool, error) { - return _Vm.Contract.KeyExistsJson(&_Vm.CallOpts, json, key) -} - -// KeyExistsJson is a free data retrieval call binding the contract method 0xdb4235f6. -// -// Solidity: function keyExistsJson(string json, string key) view returns(bool) -func (_Vm *VmCallerSession) KeyExistsJson(json string, key string) (bool, error) { - return _Vm.Contract.KeyExistsJson(&_Vm.CallOpts, json, key) -} - -// KeyExistsToml is a free data retrieval call binding the contract method 0x600903ad. -// -// Solidity: function keyExistsToml(string toml, string key) view returns(bool) -func (_Vm *VmCaller) KeyExistsToml(opts *bind.CallOpts, toml string, key string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "keyExistsToml", toml, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// KeyExistsToml is a free data retrieval call binding the contract method 0x600903ad. -// -// Solidity: function keyExistsToml(string toml, string key) view returns(bool) -func (_Vm *VmSession) KeyExistsToml(toml string, key string) (bool, error) { - return _Vm.Contract.KeyExistsToml(&_Vm.CallOpts, toml, key) -} - -// KeyExistsToml is a free data retrieval call binding the contract method 0x600903ad. -// -// Solidity: function keyExistsToml(string toml, string key) view returns(bool) -func (_Vm *VmCallerSession) KeyExistsToml(toml string, key string) (bool, error) { - return _Vm.Contract.KeyExistsToml(&_Vm.CallOpts, toml, key) -} - -// LastCallGas is a free data retrieval call binding the contract method 0x2b589b28. -// -// Solidity: function lastCallGas() view returns((uint64,uint64,uint64,int64,uint64) gas) -func (_Vm *VmCaller) LastCallGas(opts *bind.CallOpts) (VmSafeGas, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "lastCallGas") - - if err != nil { - return *new(VmSafeGas), err - } - - out0 := *abi.ConvertType(out[0], new(VmSafeGas)).(*VmSafeGas) - - return out0, err - -} - -// LastCallGas is a free data retrieval call binding the contract method 0x2b589b28. -// -// Solidity: function lastCallGas() view returns((uint64,uint64,uint64,int64,uint64) gas) -func (_Vm *VmSession) LastCallGas() (VmSafeGas, error) { - return _Vm.Contract.LastCallGas(&_Vm.CallOpts) -} - -// LastCallGas is a free data retrieval call binding the contract method 0x2b589b28. -// -// Solidity: function lastCallGas() view returns((uint64,uint64,uint64,int64,uint64) gas) -func (_Vm *VmCallerSession) LastCallGas() (VmSafeGas, error) { - return _Vm.Contract.LastCallGas(&_Vm.CallOpts) -} - -// Load is a free data retrieval call binding the contract method 0x667f9d70. -// -// Solidity: function load(address target, bytes32 slot) view returns(bytes32 data) -func (_Vm *VmCaller) Load(opts *bind.CallOpts, target common.Address, slot [32]byte) ([32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "load", target, slot) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// Load is a free data retrieval call binding the contract method 0x667f9d70. -// -// Solidity: function load(address target, bytes32 slot) view returns(bytes32 data) -func (_Vm *VmSession) Load(target common.Address, slot [32]byte) ([32]byte, error) { - return _Vm.Contract.Load(&_Vm.CallOpts, target, slot) -} - -// Load is a free data retrieval call binding the contract method 0x667f9d70. -// -// Solidity: function load(address target, bytes32 slot) view returns(bytes32 data) -func (_Vm *VmCallerSession) Load(target common.Address, slot [32]byte) ([32]byte, error) { - return _Vm.Contract.Load(&_Vm.CallOpts, target, slot) -} - -// ParseAddress is a free data retrieval call binding the contract method 0xc6ce059d. -// -// Solidity: function parseAddress(string stringifiedValue) pure returns(address parsedValue) -func (_Vm *VmCaller) ParseAddress(opts *bind.CallOpts, stringifiedValue string) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseAddress", stringifiedValue) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ParseAddress is a free data retrieval call binding the contract method 0xc6ce059d. -// -// Solidity: function parseAddress(string stringifiedValue) pure returns(address parsedValue) -func (_Vm *VmSession) ParseAddress(stringifiedValue string) (common.Address, error) { - return _Vm.Contract.ParseAddress(&_Vm.CallOpts, stringifiedValue) -} - -// ParseAddress is a free data retrieval call binding the contract method 0xc6ce059d. -// -// Solidity: function parseAddress(string stringifiedValue) pure returns(address parsedValue) -func (_Vm *VmCallerSession) ParseAddress(stringifiedValue string) (common.Address, error) { - return _Vm.Contract.ParseAddress(&_Vm.CallOpts, stringifiedValue) -} - -// ParseBool is a free data retrieval call binding the contract method 0x974ef924. -// -// Solidity: function parseBool(string stringifiedValue) pure returns(bool parsedValue) -func (_Vm *VmCaller) ParseBool(opts *bind.CallOpts, stringifiedValue string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseBool", stringifiedValue) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ParseBool is a free data retrieval call binding the contract method 0x974ef924. -// -// Solidity: function parseBool(string stringifiedValue) pure returns(bool parsedValue) -func (_Vm *VmSession) ParseBool(stringifiedValue string) (bool, error) { - return _Vm.Contract.ParseBool(&_Vm.CallOpts, stringifiedValue) -} - -// ParseBool is a free data retrieval call binding the contract method 0x974ef924. -// -// Solidity: function parseBool(string stringifiedValue) pure returns(bool parsedValue) -func (_Vm *VmCallerSession) ParseBool(stringifiedValue string) (bool, error) { - return _Vm.Contract.ParseBool(&_Vm.CallOpts, stringifiedValue) -} - -// ParseBytes is a free data retrieval call binding the contract method 0x8f5d232d. -// -// Solidity: function parseBytes(string stringifiedValue) pure returns(bytes parsedValue) -func (_Vm *VmCaller) ParseBytes(opts *bind.CallOpts, stringifiedValue string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseBytes", stringifiedValue) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseBytes is a free data retrieval call binding the contract method 0x8f5d232d. -// -// Solidity: function parseBytes(string stringifiedValue) pure returns(bytes parsedValue) -func (_Vm *VmSession) ParseBytes(stringifiedValue string) ([]byte, error) { - return _Vm.Contract.ParseBytes(&_Vm.CallOpts, stringifiedValue) -} - -// ParseBytes is a free data retrieval call binding the contract method 0x8f5d232d. -// -// Solidity: function parseBytes(string stringifiedValue) pure returns(bytes parsedValue) -func (_Vm *VmCallerSession) ParseBytes(stringifiedValue string) ([]byte, error) { - return _Vm.Contract.ParseBytes(&_Vm.CallOpts, stringifiedValue) -} - -// ParseBytes32 is a free data retrieval call binding the contract method 0x087e6e81. -// -// Solidity: function parseBytes32(string stringifiedValue) pure returns(bytes32 parsedValue) -func (_Vm *VmCaller) ParseBytes32(opts *bind.CallOpts, stringifiedValue string) ([32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseBytes32", stringifiedValue) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ParseBytes32 is a free data retrieval call binding the contract method 0x087e6e81. -// -// Solidity: function parseBytes32(string stringifiedValue) pure returns(bytes32 parsedValue) -func (_Vm *VmSession) ParseBytes32(stringifiedValue string) ([32]byte, error) { - return _Vm.Contract.ParseBytes32(&_Vm.CallOpts, stringifiedValue) -} - -// ParseBytes32 is a free data retrieval call binding the contract method 0x087e6e81. -// -// Solidity: function parseBytes32(string stringifiedValue) pure returns(bytes32 parsedValue) -func (_Vm *VmCallerSession) ParseBytes32(stringifiedValue string) ([32]byte, error) { - return _Vm.Contract.ParseBytes32(&_Vm.CallOpts, stringifiedValue) -} - -// ParseInt is a free data retrieval call binding the contract method 0x42346c5e. -// -// Solidity: function parseInt(string stringifiedValue) pure returns(int256 parsedValue) -func (_Vm *VmCaller) ParseInt(opts *bind.CallOpts, stringifiedValue string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseInt", stringifiedValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseInt is a free data retrieval call binding the contract method 0x42346c5e. -// -// Solidity: function parseInt(string stringifiedValue) pure returns(int256 parsedValue) -func (_Vm *VmSession) ParseInt(stringifiedValue string) (*big.Int, error) { - return _Vm.Contract.ParseInt(&_Vm.CallOpts, stringifiedValue) -} - -// ParseInt is a free data retrieval call binding the contract method 0x42346c5e. -// -// Solidity: function parseInt(string stringifiedValue) pure returns(int256 parsedValue) -func (_Vm *VmCallerSession) ParseInt(stringifiedValue string) (*big.Int, error) { - return _Vm.Contract.ParseInt(&_Vm.CallOpts, stringifiedValue) -} - -// ParseJson is a free data retrieval call binding the contract method 0x6a82600a. -// -// Solidity: function parseJson(string json) pure returns(bytes abiEncodedData) -func (_Vm *VmCaller) ParseJson(opts *bind.CallOpts, json string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJson", json) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseJson is a free data retrieval call binding the contract method 0x6a82600a. -// -// Solidity: function parseJson(string json) pure returns(bytes abiEncodedData) -func (_Vm *VmSession) ParseJson(json string) ([]byte, error) { - return _Vm.Contract.ParseJson(&_Vm.CallOpts, json) -} - -// ParseJson is a free data retrieval call binding the contract method 0x6a82600a. -// -// Solidity: function parseJson(string json) pure returns(bytes abiEncodedData) -func (_Vm *VmCallerSession) ParseJson(json string) ([]byte, error) { - return _Vm.Contract.ParseJson(&_Vm.CallOpts, json) -} - -// ParseJson0 is a free data retrieval call binding the contract method 0x85940ef1. -// -// Solidity: function parseJson(string json, string key) pure returns(bytes abiEncodedData) -func (_Vm *VmCaller) ParseJson0(opts *bind.CallOpts, json string, key string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJson0", json, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseJson0 is a free data retrieval call binding the contract method 0x85940ef1. -// -// Solidity: function parseJson(string json, string key) pure returns(bytes abiEncodedData) -func (_Vm *VmSession) ParseJson0(json string, key string) ([]byte, error) { - return _Vm.Contract.ParseJson0(&_Vm.CallOpts, json, key) -} - -// ParseJson0 is a free data retrieval call binding the contract method 0x85940ef1. -// -// Solidity: function parseJson(string json, string key) pure returns(bytes abiEncodedData) -func (_Vm *VmCallerSession) ParseJson0(json string, key string) ([]byte, error) { - return _Vm.Contract.ParseJson0(&_Vm.CallOpts, json, key) -} - -// ParseJsonAddress is a free data retrieval call binding the contract method 0x1e19e657. -// -// Solidity: function parseJsonAddress(string json, string key) pure returns(address) -func (_Vm *VmCaller) ParseJsonAddress(opts *bind.CallOpts, json string, key string) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonAddress", json, key) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ParseJsonAddress is a free data retrieval call binding the contract method 0x1e19e657. -// -// Solidity: function parseJsonAddress(string json, string key) pure returns(address) -func (_Vm *VmSession) ParseJsonAddress(json string, key string) (common.Address, error) { - return _Vm.Contract.ParseJsonAddress(&_Vm.CallOpts, json, key) -} - -// ParseJsonAddress is a free data retrieval call binding the contract method 0x1e19e657. -// -// Solidity: function parseJsonAddress(string json, string key) pure returns(address) -func (_Vm *VmCallerSession) ParseJsonAddress(json string, key string) (common.Address, error) { - return _Vm.Contract.ParseJsonAddress(&_Vm.CallOpts, json, key) -} - -// ParseJsonAddressArray is a free data retrieval call binding the contract method 0x2fce7883. -// -// Solidity: function parseJsonAddressArray(string json, string key) pure returns(address[]) -func (_Vm *VmCaller) ParseJsonAddressArray(opts *bind.CallOpts, json string, key string) ([]common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonAddressArray", json, key) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ParseJsonAddressArray is a free data retrieval call binding the contract method 0x2fce7883. -// -// Solidity: function parseJsonAddressArray(string json, string key) pure returns(address[]) -func (_Vm *VmSession) ParseJsonAddressArray(json string, key string) ([]common.Address, error) { - return _Vm.Contract.ParseJsonAddressArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonAddressArray is a free data retrieval call binding the contract method 0x2fce7883. -// -// Solidity: function parseJsonAddressArray(string json, string key) pure returns(address[]) -func (_Vm *VmCallerSession) ParseJsonAddressArray(json string, key string) ([]common.Address, error) { - return _Vm.Contract.ParseJsonAddressArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonBool is a free data retrieval call binding the contract method 0x9f86dc91. -// -// Solidity: function parseJsonBool(string json, string key) pure returns(bool) -func (_Vm *VmCaller) ParseJsonBool(opts *bind.CallOpts, json string, key string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonBool", json, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ParseJsonBool is a free data retrieval call binding the contract method 0x9f86dc91. -// -// Solidity: function parseJsonBool(string json, string key) pure returns(bool) -func (_Vm *VmSession) ParseJsonBool(json string, key string) (bool, error) { - return _Vm.Contract.ParseJsonBool(&_Vm.CallOpts, json, key) -} - -// ParseJsonBool is a free data retrieval call binding the contract method 0x9f86dc91. -// -// Solidity: function parseJsonBool(string json, string key) pure returns(bool) -func (_Vm *VmCallerSession) ParseJsonBool(json string, key string) (bool, error) { - return _Vm.Contract.ParseJsonBool(&_Vm.CallOpts, json, key) -} - -// ParseJsonBoolArray is a free data retrieval call binding the contract method 0x91f3b94f. -// -// Solidity: function parseJsonBoolArray(string json, string key) pure returns(bool[]) -func (_Vm *VmCaller) ParseJsonBoolArray(opts *bind.CallOpts, json string, key string) ([]bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonBoolArray", json, key) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// ParseJsonBoolArray is a free data retrieval call binding the contract method 0x91f3b94f. -// -// Solidity: function parseJsonBoolArray(string json, string key) pure returns(bool[]) -func (_Vm *VmSession) ParseJsonBoolArray(json string, key string) ([]bool, error) { - return _Vm.Contract.ParseJsonBoolArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonBoolArray is a free data retrieval call binding the contract method 0x91f3b94f. -// -// Solidity: function parseJsonBoolArray(string json, string key) pure returns(bool[]) -func (_Vm *VmCallerSession) ParseJsonBoolArray(json string, key string) ([]bool, error) { - return _Vm.Contract.ParseJsonBoolArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytes is a free data retrieval call binding the contract method 0xfd921be8. -// -// Solidity: function parseJsonBytes(string json, string key) pure returns(bytes) -func (_Vm *VmCaller) ParseJsonBytes(opts *bind.CallOpts, json string, key string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonBytes", json, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseJsonBytes is a free data retrieval call binding the contract method 0xfd921be8. -// -// Solidity: function parseJsonBytes(string json, string key) pure returns(bytes) -func (_Vm *VmSession) ParseJsonBytes(json string, key string) ([]byte, error) { - return _Vm.Contract.ParseJsonBytes(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytes is a free data retrieval call binding the contract method 0xfd921be8. -// -// Solidity: function parseJsonBytes(string json, string key) pure returns(bytes) -func (_Vm *VmCallerSession) ParseJsonBytes(json string, key string) ([]byte, error) { - return _Vm.Contract.ParseJsonBytes(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytes32 is a free data retrieval call binding the contract method 0x1777e59d. -// -// Solidity: function parseJsonBytes32(string json, string key) pure returns(bytes32) -func (_Vm *VmCaller) ParseJsonBytes32(opts *bind.CallOpts, json string, key string) ([32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonBytes32", json, key) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ParseJsonBytes32 is a free data retrieval call binding the contract method 0x1777e59d. -// -// Solidity: function parseJsonBytes32(string json, string key) pure returns(bytes32) -func (_Vm *VmSession) ParseJsonBytes32(json string, key string) ([32]byte, error) { - return _Vm.Contract.ParseJsonBytes32(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytes32 is a free data retrieval call binding the contract method 0x1777e59d. -// -// Solidity: function parseJsonBytes32(string json, string key) pure returns(bytes32) -func (_Vm *VmCallerSession) ParseJsonBytes32(json string, key string) ([32]byte, error) { - return _Vm.Contract.ParseJsonBytes32(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytes32Array is a free data retrieval call binding the contract method 0x91c75bc3. -// -// Solidity: function parseJsonBytes32Array(string json, string key) pure returns(bytes32[]) -func (_Vm *VmCaller) ParseJsonBytes32Array(opts *bind.CallOpts, json string, key string) ([][32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonBytes32Array", json, key) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// ParseJsonBytes32Array is a free data retrieval call binding the contract method 0x91c75bc3. -// -// Solidity: function parseJsonBytes32Array(string json, string key) pure returns(bytes32[]) -func (_Vm *VmSession) ParseJsonBytes32Array(json string, key string) ([][32]byte, error) { - return _Vm.Contract.ParseJsonBytes32Array(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytes32Array is a free data retrieval call binding the contract method 0x91c75bc3. -// -// Solidity: function parseJsonBytes32Array(string json, string key) pure returns(bytes32[]) -func (_Vm *VmCallerSession) ParseJsonBytes32Array(json string, key string) ([][32]byte, error) { - return _Vm.Contract.ParseJsonBytes32Array(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytesArray is a free data retrieval call binding the contract method 0x6631aa99. -// -// Solidity: function parseJsonBytesArray(string json, string key) pure returns(bytes[]) -func (_Vm *VmCaller) ParseJsonBytesArray(opts *bind.CallOpts, json string, key string) ([][]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonBytesArray", json, key) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// ParseJsonBytesArray is a free data retrieval call binding the contract method 0x6631aa99. -// -// Solidity: function parseJsonBytesArray(string json, string key) pure returns(bytes[]) -func (_Vm *VmSession) ParseJsonBytesArray(json string, key string) ([][]byte, error) { - return _Vm.Contract.ParseJsonBytesArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonBytesArray is a free data retrieval call binding the contract method 0x6631aa99. -// -// Solidity: function parseJsonBytesArray(string json, string key) pure returns(bytes[]) -func (_Vm *VmCallerSession) ParseJsonBytesArray(json string, key string) ([][]byte, error) { - return _Vm.Contract.ParseJsonBytesArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonInt is a free data retrieval call binding the contract method 0x7b048ccd. -// -// Solidity: function parseJsonInt(string json, string key) pure returns(int256) -func (_Vm *VmCaller) ParseJsonInt(opts *bind.CallOpts, json string, key string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonInt", json, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseJsonInt is a free data retrieval call binding the contract method 0x7b048ccd. -// -// Solidity: function parseJsonInt(string json, string key) pure returns(int256) -func (_Vm *VmSession) ParseJsonInt(json string, key string) (*big.Int, error) { - return _Vm.Contract.ParseJsonInt(&_Vm.CallOpts, json, key) -} - -// ParseJsonInt is a free data retrieval call binding the contract method 0x7b048ccd. -// -// Solidity: function parseJsonInt(string json, string key) pure returns(int256) -func (_Vm *VmCallerSession) ParseJsonInt(json string, key string) (*big.Int, error) { - return _Vm.Contract.ParseJsonInt(&_Vm.CallOpts, json, key) -} - -// ParseJsonIntArray is a free data retrieval call binding the contract method 0x9983c28a. -// -// Solidity: function parseJsonIntArray(string json, string key) pure returns(int256[]) -func (_Vm *VmCaller) ParseJsonIntArray(opts *bind.CallOpts, json string, key string) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonIntArray", json, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseJsonIntArray is a free data retrieval call binding the contract method 0x9983c28a. -// -// Solidity: function parseJsonIntArray(string json, string key) pure returns(int256[]) -func (_Vm *VmSession) ParseJsonIntArray(json string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseJsonIntArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonIntArray is a free data retrieval call binding the contract method 0x9983c28a. -// -// Solidity: function parseJsonIntArray(string json, string key) pure returns(int256[]) -func (_Vm *VmCallerSession) ParseJsonIntArray(json string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseJsonIntArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonKeys is a free data retrieval call binding the contract method 0x213e4198. -// -// Solidity: function parseJsonKeys(string json, string key) pure returns(string[] keys) -func (_Vm *VmCaller) ParseJsonKeys(opts *bind.CallOpts, json string, key string) ([]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonKeys", json, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseJsonKeys is a free data retrieval call binding the contract method 0x213e4198. -// -// Solidity: function parseJsonKeys(string json, string key) pure returns(string[] keys) -func (_Vm *VmSession) ParseJsonKeys(json string, key string) ([]string, error) { - return _Vm.Contract.ParseJsonKeys(&_Vm.CallOpts, json, key) -} - -// ParseJsonKeys is a free data retrieval call binding the contract method 0x213e4198. -// -// Solidity: function parseJsonKeys(string json, string key) pure returns(string[] keys) -func (_Vm *VmCallerSession) ParseJsonKeys(json string, key string) ([]string, error) { - return _Vm.Contract.ParseJsonKeys(&_Vm.CallOpts, json, key) -} - -// ParseJsonString is a free data retrieval call binding the contract method 0x49c4fac8. -// -// Solidity: function parseJsonString(string json, string key) pure returns(string) -func (_Vm *VmCaller) ParseJsonString(opts *bind.CallOpts, json string, key string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonString", json, key) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ParseJsonString is a free data retrieval call binding the contract method 0x49c4fac8. -// -// Solidity: function parseJsonString(string json, string key) pure returns(string) -func (_Vm *VmSession) ParseJsonString(json string, key string) (string, error) { - return _Vm.Contract.ParseJsonString(&_Vm.CallOpts, json, key) -} - -// ParseJsonString is a free data retrieval call binding the contract method 0x49c4fac8. -// -// Solidity: function parseJsonString(string json, string key) pure returns(string) -func (_Vm *VmCallerSession) ParseJsonString(json string, key string) (string, error) { - return _Vm.Contract.ParseJsonString(&_Vm.CallOpts, json, key) -} - -// ParseJsonStringArray is a free data retrieval call binding the contract method 0x498fdcf4. -// -// Solidity: function parseJsonStringArray(string json, string key) pure returns(string[]) -func (_Vm *VmCaller) ParseJsonStringArray(opts *bind.CallOpts, json string, key string) ([]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonStringArray", json, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseJsonStringArray is a free data retrieval call binding the contract method 0x498fdcf4. -// -// Solidity: function parseJsonStringArray(string json, string key) pure returns(string[]) -func (_Vm *VmSession) ParseJsonStringArray(json string, key string) ([]string, error) { - return _Vm.Contract.ParseJsonStringArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonStringArray is a free data retrieval call binding the contract method 0x498fdcf4. -// -// Solidity: function parseJsonStringArray(string json, string key) pure returns(string[]) -func (_Vm *VmCallerSession) ParseJsonStringArray(json string, key string) ([]string, error) { - return _Vm.Contract.ParseJsonStringArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonUint is a free data retrieval call binding the contract method 0xaddde2b6. -// -// Solidity: function parseJsonUint(string json, string key) pure returns(uint256) -func (_Vm *VmCaller) ParseJsonUint(opts *bind.CallOpts, json string, key string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonUint", json, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseJsonUint is a free data retrieval call binding the contract method 0xaddde2b6. -// -// Solidity: function parseJsonUint(string json, string key) pure returns(uint256) -func (_Vm *VmSession) ParseJsonUint(json string, key string) (*big.Int, error) { - return _Vm.Contract.ParseJsonUint(&_Vm.CallOpts, json, key) -} - -// ParseJsonUint is a free data retrieval call binding the contract method 0xaddde2b6. -// -// Solidity: function parseJsonUint(string json, string key) pure returns(uint256) -func (_Vm *VmCallerSession) ParseJsonUint(json string, key string) (*big.Int, error) { - return _Vm.Contract.ParseJsonUint(&_Vm.CallOpts, json, key) -} - -// ParseJsonUintArray is a free data retrieval call binding the contract method 0x522074ab. -// -// Solidity: function parseJsonUintArray(string json, string key) pure returns(uint256[]) -func (_Vm *VmCaller) ParseJsonUintArray(opts *bind.CallOpts, json string, key string) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseJsonUintArray", json, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseJsonUintArray is a free data retrieval call binding the contract method 0x522074ab. -// -// Solidity: function parseJsonUintArray(string json, string key) pure returns(uint256[]) -func (_Vm *VmSession) ParseJsonUintArray(json string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseJsonUintArray(&_Vm.CallOpts, json, key) -} - -// ParseJsonUintArray is a free data retrieval call binding the contract method 0x522074ab. -// -// Solidity: function parseJsonUintArray(string json, string key) pure returns(uint256[]) -func (_Vm *VmCallerSession) ParseJsonUintArray(json string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseJsonUintArray(&_Vm.CallOpts, json, key) -} - -// ParseToml is a free data retrieval call binding the contract method 0x37736e08. -// -// Solidity: function parseToml(string toml, string key) pure returns(bytes abiEncodedData) -func (_Vm *VmCaller) ParseToml(opts *bind.CallOpts, toml string, key string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseToml", toml, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseToml is a free data retrieval call binding the contract method 0x37736e08. -// -// Solidity: function parseToml(string toml, string key) pure returns(bytes abiEncodedData) -func (_Vm *VmSession) ParseToml(toml string, key string) ([]byte, error) { - return _Vm.Contract.ParseToml(&_Vm.CallOpts, toml, key) -} - -// ParseToml is a free data retrieval call binding the contract method 0x37736e08. -// -// Solidity: function parseToml(string toml, string key) pure returns(bytes abiEncodedData) -func (_Vm *VmCallerSession) ParseToml(toml string, key string) ([]byte, error) { - return _Vm.Contract.ParseToml(&_Vm.CallOpts, toml, key) -} - -// ParseToml0 is a free data retrieval call binding the contract method 0x592151f0. -// -// Solidity: function parseToml(string toml) pure returns(bytes abiEncodedData) -func (_Vm *VmCaller) ParseToml0(opts *bind.CallOpts, toml string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseToml0", toml) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseToml0 is a free data retrieval call binding the contract method 0x592151f0. -// -// Solidity: function parseToml(string toml) pure returns(bytes abiEncodedData) -func (_Vm *VmSession) ParseToml0(toml string) ([]byte, error) { - return _Vm.Contract.ParseToml0(&_Vm.CallOpts, toml) -} - -// ParseToml0 is a free data retrieval call binding the contract method 0x592151f0. -// -// Solidity: function parseToml(string toml) pure returns(bytes abiEncodedData) -func (_Vm *VmCallerSession) ParseToml0(toml string) ([]byte, error) { - return _Vm.Contract.ParseToml0(&_Vm.CallOpts, toml) -} - -// ParseTomlAddress is a free data retrieval call binding the contract method 0x65e7c844. -// -// Solidity: function parseTomlAddress(string toml, string key) pure returns(address) -func (_Vm *VmCaller) ParseTomlAddress(opts *bind.CallOpts, toml string, key string) (common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlAddress", toml, key) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ParseTomlAddress is a free data retrieval call binding the contract method 0x65e7c844. -// -// Solidity: function parseTomlAddress(string toml, string key) pure returns(address) -func (_Vm *VmSession) ParseTomlAddress(toml string, key string) (common.Address, error) { - return _Vm.Contract.ParseTomlAddress(&_Vm.CallOpts, toml, key) -} - -// ParseTomlAddress is a free data retrieval call binding the contract method 0x65e7c844. -// -// Solidity: function parseTomlAddress(string toml, string key) pure returns(address) -func (_Vm *VmCallerSession) ParseTomlAddress(toml string, key string) (common.Address, error) { - return _Vm.Contract.ParseTomlAddress(&_Vm.CallOpts, toml, key) -} - -// ParseTomlAddressArray is a free data retrieval call binding the contract method 0x65c428e7. -// -// Solidity: function parseTomlAddressArray(string toml, string key) pure returns(address[]) -func (_Vm *VmCaller) ParseTomlAddressArray(opts *bind.CallOpts, toml string, key string) ([]common.Address, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlAddressArray", toml, key) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ParseTomlAddressArray is a free data retrieval call binding the contract method 0x65c428e7. -// -// Solidity: function parseTomlAddressArray(string toml, string key) pure returns(address[]) -func (_Vm *VmSession) ParseTomlAddressArray(toml string, key string) ([]common.Address, error) { - return _Vm.Contract.ParseTomlAddressArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlAddressArray is a free data retrieval call binding the contract method 0x65c428e7. -// -// Solidity: function parseTomlAddressArray(string toml, string key) pure returns(address[]) -func (_Vm *VmCallerSession) ParseTomlAddressArray(toml string, key string) ([]common.Address, error) { - return _Vm.Contract.ParseTomlAddressArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBool is a free data retrieval call binding the contract method 0xd30dced6. -// -// Solidity: function parseTomlBool(string toml, string key) pure returns(bool) -func (_Vm *VmCaller) ParseTomlBool(opts *bind.CallOpts, toml string, key string) (bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlBool", toml, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ParseTomlBool is a free data retrieval call binding the contract method 0xd30dced6. -// -// Solidity: function parseTomlBool(string toml, string key) pure returns(bool) -func (_Vm *VmSession) ParseTomlBool(toml string, key string) (bool, error) { - return _Vm.Contract.ParseTomlBool(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBool is a free data retrieval call binding the contract method 0xd30dced6. -// -// Solidity: function parseTomlBool(string toml, string key) pure returns(bool) -func (_Vm *VmCallerSession) ParseTomlBool(toml string, key string) (bool, error) { - return _Vm.Contract.ParseTomlBool(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBoolArray is a free data retrieval call binding the contract method 0x127cfe9a. -// -// Solidity: function parseTomlBoolArray(string toml, string key) pure returns(bool[]) -func (_Vm *VmCaller) ParseTomlBoolArray(opts *bind.CallOpts, toml string, key string) ([]bool, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlBoolArray", toml, key) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// ParseTomlBoolArray is a free data retrieval call binding the contract method 0x127cfe9a. -// -// Solidity: function parseTomlBoolArray(string toml, string key) pure returns(bool[]) -func (_Vm *VmSession) ParseTomlBoolArray(toml string, key string) ([]bool, error) { - return _Vm.Contract.ParseTomlBoolArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBoolArray is a free data retrieval call binding the contract method 0x127cfe9a. -// -// Solidity: function parseTomlBoolArray(string toml, string key) pure returns(bool[]) -func (_Vm *VmCallerSession) ParseTomlBoolArray(toml string, key string) ([]bool, error) { - return _Vm.Contract.ParseTomlBoolArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytes is a free data retrieval call binding the contract method 0xd77bfdb9. -// -// Solidity: function parseTomlBytes(string toml, string key) pure returns(bytes) -func (_Vm *VmCaller) ParseTomlBytes(opts *bind.CallOpts, toml string, key string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlBytes", toml, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseTomlBytes is a free data retrieval call binding the contract method 0xd77bfdb9. -// -// Solidity: function parseTomlBytes(string toml, string key) pure returns(bytes) -func (_Vm *VmSession) ParseTomlBytes(toml string, key string) ([]byte, error) { - return _Vm.Contract.ParseTomlBytes(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytes is a free data retrieval call binding the contract method 0xd77bfdb9. -// -// Solidity: function parseTomlBytes(string toml, string key) pure returns(bytes) -func (_Vm *VmCallerSession) ParseTomlBytes(toml string, key string) ([]byte, error) { - return _Vm.Contract.ParseTomlBytes(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytes32 is a free data retrieval call binding the contract method 0x8e214810. -// -// Solidity: function parseTomlBytes32(string toml, string key) pure returns(bytes32) -func (_Vm *VmCaller) ParseTomlBytes32(opts *bind.CallOpts, toml string, key string) ([32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlBytes32", toml, key) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ParseTomlBytes32 is a free data retrieval call binding the contract method 0x8e214810. -// -// Solidity: function parseTomlBytes32(string toml, string key) pure returns(bytes32) -func (_Vm *VmSession) ParseTomlBytes32(toml string, key string) ([32]byte, error) { - return _Vm.Contract.ParseTomlBytes32(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytes32 is a free data retrieval call binding the contract method 0x8e214810. -// -// Solidity: function parseTomlBytes32(string toml, string key) pure returns(bytes32) -func (_Vm *VmCallerSession) ParseTomlBytes32(toml string, key string) ([32]byte, error) { - return _Vm.Contract.ParseTomlBytes32(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytes32Array is a free data retrieval call binding the contract method 0x3e716f81. -// -// Solidity: function parseTomlBytes32Array(string toml, string key) pure returns(bytes32[]) -func (_Vm *VmCaller) ParseTomlBytes32Array(opts *bind.CallOpts, toml string, key string) ([][32]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlBytes32Array", toml, key) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// ParseTomlBytes32Array is a free data retrieval call binding the contract method 0x3e716f81. -// -// Solidity: function parseTomlBytes32Array(string toml, string key) pure returns(bytes32[]) -func (_Vm *VmSession) ParseTomlBytes32Array(toml string, key string) ([][32]byte, error) { - return _Vm.Contract.ParseTomlBytes32Array(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytes32Array is a free data retrieval call binding the contract method 0x3e716f81. -// -// Solidity: function parseTomlBytes32Array(string toml, string key) pure returns(bytes32[]) -func (_Vm *VmCallerSession) ParseTomlBytes32Array(toml string, key string) ([][32]byte, error) { - return _Vm.Contract.ParseTomlBytes32Array(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytesArray is a free data retrieval call binding the contract method 0xb197c247. -// -// Solidity: function parseTomlBytesArray(string toml, string key) pure returns(bytes[]) -func (_Vm *VmCaller) ParseTomlBytesArray(opts *bind.CallOpts, toml string, key string) ([][]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlBytesArray", toml, key) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// ParseTomlBytesArray is a free data retrieval call binding the contract method 0xb197c247. -// -// Solidity: function parseTomlBytesArray(string toml, string key) pure returns(bytes[]) -func (_Vm *VmSession) ParseTomlBytesArray(toml string, key string) ([][]byte, error) { - return _Vm.Contract.ParseTomlBytesArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlBytesArray is a free data retrieval call binding the contract method 0xb197c247. -// -// Solidity: function parseTomlBytesArray(string toml, string key) pure returns(bytes[]) -func (_Vm *VmCallerSession) ParseTomlBytesArray(toml string, key string) ([][]byte, error) { - return _Vm.Contract.ParseTomlBytesArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlInt is a free data retrieval call binding the contract method 0xc1350739. -// -// Solidity: function parseTomlInt(string toml, string key) pure returns(int256) -func (_Vm *VmCaller) ParseTomlInt(opts *bind.CallOpts, toml string, key string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlInt", toml, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseTomlInt is a free data retrieval call binding the contract method 0xc1350739. -// -// Solidity: function parseTomlInt(string toml, string key) pure returns(int256) -func (_Vm *VmSession) ParseTomlInt(toml string, key string) (*big.Int, error) { - return _Vm.Contract.ParseTomlInt(&_Vm.CallOpts, toml, key) -} - -// ParseTomlInt is a free data retrieval call binding the contract method 0xc1350739. -// -// Solidity: function parseTomlInt(string toml, string key) pure returns(int256) -func (_Vm *VmCallerSession) ParseTomlInt(toml string, key string) (*big.Int, error) { - return _Vm.Contract.ParseTomlInt(&_Vm.CallOpts, toml, key) -} - -// ParseTomlIntArray is a free data retrieval call binding the contract method 0xd3522ae6. -// -// Solidity: function parseTomlIntArray(string toml, string key) pure returns(int256[]) -func (_Vm *VmCaller) ParseTomlIntArray(opts *bind.CallOpts, toml string, key string) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlIntArray", toml, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseTomlIntArray is a free data retrieval call binding the contract method 0xd3522ae6. -// -// Solidity: function parseTomlIntArray(string toml, string key) pure returns(int256[]) -func (_Vm *VmSession) ParseTomlIntArray(toml string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseTomlIntArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlIntArray is a free data retrieval call binding the contract method 0xd3522ae6. -// -// Solidity: function parseTomlIntArray(string toml, string key) pure returns(int256[]) -func (_Vm *VmCallerSession) ParseTomlIntArray(toml string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseTomlIntArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlKeys is a free data retrieval call binding the contract method 0x812a44b2. -// -// Solidity: function parseTomlKeys(string toml, string key) pure returns(string[] keys) -func (_Vm *VmCaller) ParseTomlKeys(opts *bind.CallOpts, toml string, key string) ([]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlKeys", toml, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseTomlKeys is a free data retrieval call binding the contract method 0x812a44b2. -// -// Solidity: function parseTomlKeys(string toml, string key) pure returns(string[] keys) -func (_Vm *VmSession) ParseTomlKeys(toml string, key string) ([]string, error) { - return _Vm.Contract.ParseTomlKeys(&_Vm.CallOpts, toml, key) -} - -// ParseTomlKeys is a free data retrieval call binding the contract method 0x812a44b2. -// -// Solidity: function parseTomlKeys(string toml, string key) pure returns(string[] keys) -func (_Vm *VmCallerSession) ParseTomlKeys(toml string, key string) ([]string, error) { - return _Vm.Contract.ParseTomlKeys(&_Vm.CallOpts, toml, key) -} - -// ParseTomlString is a free data retrieval call binding the contract method 0x8bb8dd43. -// -// Solidity: function parseTomlString(string toml, string key) pure returns(string) -func (_Vm *VmCaller) ParseTomlString(opts *bind.CallOpts, toml string, key string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlString", toml, key) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ParseTomlString is a free data retrieval call binding the contract method 0x8bb8dd43. -// -// Solidity: function parseTomlString(string toml, string key) pure returns(string) -func (_Vm *VmSession) ParseTomlString(toml string, key string) (string, error) { - return _Vm.Contract.ParseTomlString(&_Vm.CallOpts, toml, key) -} - -// ParseTomlString is a free data retrieval call binding the contract method 0x8bb8dd43. -// -// Solidity: function parseTomlString(string toml, string key) pure returns(string) -func (_Vm *VmCallerSession) ParseTomlString(toml string, key string) (string, error) { - return _Vm.Contract.ParseTomlString(&_Vm.CallOpts, toml, key) -} - -// ParseTomlStringArray is a free data retrieval call binding the contract method 0x9f629281. -// -// Solidity: function parseTomlStringArray(string toml, string key) pure returns(string[]) -func (_Vm *VmCaller) ParseTomlStringArray(opts *bind.CallOpts, toml string, key string) ([]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlStringArray", toml, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseTomlStringArray is a free data retrieval call binding the contract method 0x9f629281. -// -// Solidity: function parseTomlStringArray(string toml, string key) pure returns(string[]) -func (_Vm *VmSession) ParseTomlStringArray(toml string, key string) ([]string, error) { - return _Vm.Contract.ParseTomlStringArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlStringArray is a free data retrieval call binding the contract method 0x9f629281. -// -// Solidity: function parseTomlStringArray(string toml, string key) pure returns(string[]) -func (_Vm *VmCallerSession) ParseTomlStringArray(toml string, key string) ([]string, error) { - return _Vm.Contract.ParseTomlStringArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlUint is a free data retrieval call binding the contract method 0xcc7b0487. -// -// Solidity: function parseTomlUint(string toml, string key) pure returns(uint256) -func (_Vm *VmCaller) ParseTomlUint(opts *bind.CallOpts, toml string, key string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlUint", toml, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseTomlUint is a free data retrieval call binding the contract method 0xcc7b0487. -// -// Solidity: function parseTomlUint(string toml, string key) pure returns(uint256) -func (_Vm *VmSession) ParseTomlUint(toml string, key string) (*big.Int, error) { - return _Vm.Contract.ParseTomlUint(&_Vm.CallOpts, toml, key) -} - -// ParseTomlUint is a free data retrieval call binding the contract method 0xcc7b0487. -// -// Solidity: function parseTomlUint(string toml, string key) pure returns(uint256) -func (_Vm *VmCallerSession) ParseTomlUint(toml string, key string) (*big.Int, error) { - return _Vm.Contract.ParseTomlUint(&_Vm.CallOpts, toml, key) -} - -// ParseTomlUintArray is a free data retrieval call binding the contract method 0xb5df27c8. -// -// Solidity: function parseTomlUintArray(string toml, string key) pure returns(uint256[]) -func (_Vm *VmCaller) ParseTomlUintArray(opts *bind.CallOpts, toml string, key string) ([]*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseTomlUintArray", toml, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseTomlUintArray is a free data retrieval call binding the contract method 0xb5df27c8. -// -// Solidity: function parseTomlUintArray(string toml, string key) pure returns(uint256[]) -func (_Vm *VmSession) ParseTomlUintArray(toml string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseTomlUintArray(&_Vm.CallOpts, toml, key) -} - -// ParseTomlUintArray is a free data retrieval call binding the contract method 0xb5df27c8. -// -// Solidity: function parseTomlUintArray(string toml, string key) pure returns(uint256[]) -func (_Vm *VmCallerSession) ParseTomlUintArray(toml string, key string) ([]*big.Int, error) { - return _Vm.Contract.ParseTomlUintArray(&_Vm.CallOpts, toml, key) -} - -// ParseUint is a free data retrieval call binding the contract method 0xfa91454d. -// -// Solidity: function parseUint(string stringifiedValue) pure returns(uint256 parsedValue) -func (_Vm *VmCaller) ParseUint(opts *bind.CallOpts, stringifiedValue string) (*big.Int, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "parseUint", stringifiedValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseUint is a free data retrieval call binding the contract method 0xfa91454d. -// -// Solidity: function parseUint(string stringifiedValue) pure returns(uint256 parsedValue) -func (_Vm *VmSession) ParseUint(stringifiedValue string) (*big.Int, error) { - return _Vm.Contract.ParseUint(&_Vm.CallOpts, stringifiedValue) -} - -// ParseUint is a free data retrieval call binding the contract method 0xfa91454d. -// -// Solidity: function parseUint(string stringifiedValue) pure returns(uint256 parsedValue) -func (_Vm *VmCallerSession) ParseUint(stringifiedValue string) (*big.Int, error) { - return _Vm.Contract.ParseUint(&_Vm.CallOpts, stringifiedValue) -} - -// ProjectRoot is a free data retrieval call binding the contract method 0xd930a0e6. -// -// Solidity: function projectRoot() view returns(string path) -func (_Vm *VmCaller) ProjectRoot(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "projectRoot") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ProjectRoot is a free data retrieval call binding the contract method 0xd930a0e6. -// -// Solidity: function projectRoot() view returns(string path) -func (_Vm *VmSession) ProjectRoot() (string, error) { - return _Vm.Contract.ProjectRoot(&_Vm.CallOpts) -} - -// ProjectRoot is a free data retrieval call binding the contract method 0xd930a0e6. -// -// Solidity: function projectRoot() view returns(string path) -func (_Vm *VmCallerSession) ProjectRoot() (string, error) { - return _Vm.Contract.ProjectRoot(&_Vm.CallOpts) -} - -// ReadDir is a free data retrieval call binding the contract method 0x1497876c. -// -// Solidity: function readDir(string path, uint64 maxDepth) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmCaller) ReadDir(opts *bind.CallOpts, path string, maxDepth uint64) ([]VmSafeDirEntry, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "readDir", path, maxDepth) - - if err != nil { - return *new([]VmSafeDirEntry), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeDirEntry)).(*[]VmSafeDirEntry) - - return out0, err - -} - -// ReadDir is a free data retrieval call binding the contract method 0x1497876c. -// -// Solidity: function readDir(string path, uint64 maxDepth) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmSession) ReadDir(path string, maxDepth uint64) ([]VmSafeDirEntry, error) { - return _Vm.Contract.ReadDir(&_Vm.CallOpts, path, maxDepth) -} - -// ReadDir is a free data retrieval call binding the contract method 0x1497876c. -// -// Solidity: function readDir(string path, uint64 maxDepth) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmCallerSession) ReadDir(path string, maxDepth uint64) ([]VmSafeDirEntry, error) { - return _Vm.Contract.ReadDir(&_Vm.CallOpts, path, maxDepth) -} - -// ReadDir0 is a free data retrieval call binding the contract method 0x8102d70d. -// -// Solidity: function readDir(string path, uint64 maxDepth, bool followLinks) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmCaller) ReadDir0(opts *bind.CallOpts, path string, maxDepth uint64, followLinks bool) ([]VmSafeDirEntry, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "readDir0", path, maxDepth, followLinks) - - if err != nil { - return *new([]VmSafeDirEntry), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeDirEntry)).(*[]VmSafeDirEntry) - - return out0, err - -} - -// ReadDir0 is a free data retrieval call binding the contract method 0x8102d70d. -// -// Solidity: function readDir(string path, uint64 maxDepth, bool followLinks) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmSession) ReadDir0(path string, maxDepth uint64, followLinks bool) ([]VmSafeDirEntry, error) { - return _Vm.Contract.ReadDir0(&_Vm.CallOpts, path, maxDepth, followLinks) -} - -// ReadDir0 is a free data retrieval call binding the contract method 0x8102d70d. -// -// Solidity: function readDir(string path, uint64 maxDepth, bool followLinks) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmCallerSession) ReadDir0(path string, maxDepth uint64, followLinks bool) ([]VmSafeDirEntry, error) { - return _Vm.Contract.ReadDir0(&_Vm.CallOpts, path, maxDepth, followLinks) -} - -// ReadDir1 is a free data retrieval call binding the contract method 0xc4bc59e0. -// -// Solidity: function readDir(string path) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmCaller) ReadDir1(opts *bind.CallOpts, path string) ([]VmSafeDirEntry, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "readDir1", path) - - if err != nil { - return *new([]VmSafeDirEntry), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeDirEntry)).(*[]VmSafeDirEntry) - - return out0, err - -} - -// ReadDir1 is a free data retrieval call binding the contract method 0xc4bc59e0. -// -// Solidity: function readDir(string path) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmSession) ReadDir1(path string) ([]VmSafeDirEntry, error) { - return _Vm.Contract.ReadDir1(&_Vm.CallOpts, path) -} - -// ReadDir1 is a free data retrieval call binding the contract method 0xc4bc59e0. -// -// Solidity: function readDir(string path) view returns((string,string,uint64,bool,bool)[] entries) -func (_Vm *VmCallerSession) ReadDir1(path string) ([]VmSafeDirEntry, error) { - return _Vm.Contract.ReadDir1(&_Vm.CallOpts, path) -} - -// ReadFile is a free data retrieval call binding the contract method 0x60f9bb11. -// -// Solidity: function readFile(string path) view returns(string data) -func (_Vm *VmCaller) ReadFile(opts *bind.CallOpts, path string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "readFile", path) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ReadFile is a free data retrieval call binding the contract method 0x60f9bb11. -// -// Solidity: function readFile(string path) view returns(string data) -func (_Vm *VmSession) ReadFile(path string) (string, error) { - return _Vm.Contract.ReadFile(&_Vm.CallOpts, path) -} - -// ReadFile is a free data retrieval call binding the contract method 0x60f9bb11. -// -// Solidity: function readFile(string path) view returns(string data) -func (_Vm *VmCallerSession) ReadFile(path string) (string, error) { - return _Vm.Contract.ReadFile(&_Vm.CallOpts, path) -} - -// ReadFileBinary is a free data retrieval call binding the contract method 0x16ed7bc4. -// -// Solidity: function readFileBinary(string path) view returns(bytes data) -func (_Vm *VmCaller) ReadFileBinary(opts *bind.CallOpts, path string) ([]byte, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "readFileBinary", path) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ReadFileBinary is a free data retrieval call binding the contract method 0x16ed7bc4. -// -// Solidity: function readFileBinary(string path) view returns(bytes data) -func (_Vm *VmSession) ReadFileBinary(path string) ([]byte, error) { - return _Vm.Contract.ReadFileBinary(&_Vm.CallOpts, path) -} - -// ReadFileBinary is a free data retrieval call binding the contract method 0x16ed7bc4. -// -// Solidity: function readFileBinary(string path) view returns(bytes data) -func (_Vm *VmCallerSession) ReadFileBinary(path string) ([]byte, error) { - return _Vm.Contract.ReadFileBinary(&_Vm.CallOpts, path) -} - -// ReadLine is a free data retrieval call binding the contract method 0x70f55728. -// -// Solidity: function readLine(string path) view returns(string line) -func (_Vm *VmCaller) ReadLine(opts *bind.CallOpts, path string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "readLine", path) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ReadLine is a free data retrieval call binding the contract method 0x70f55728. -// -// Solidity: function readLine(string path) view returns(string line) -func (_Vm *VmSession) ReadLine(path string) (string, error) { - return _Vm.Contract.ReadLine(&_Vm.CallOpts, path) -} - -// ReadLine is a free data retrieval call binding the contract method 0x70f55728. -// -// Solidity: function readLine(string path) view returns(string line) -func (_Vm *VmCallerSession) ReadLine(path string) (string, error) { - return _Vm.Contract.ReadLine(&_Vm.CallOpts, path) -} - -// ReadLink is a free data retrieval call binding the contract method 0x9f5684a2. -// -// Solidity: function readLink(string linkPath) view returns(string targetPath) -func (_Vm *VmCaller) ReadLink(opts *bind.CallOpts, linkPath string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "readLink", linkPath) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ReadLink is a free data retrieval call binding the contract method 0x9f5684a2. -// -// Solidity: function readLink(string linkPath) view returns(string targetPath) -func (_Vm *VmSession) ReadLink(linkPath string) (string, error) { - return _Vm.Contract.ReadLink(&_Vm.CallOpts, linkPath) -} - -// ReadLink is a free data retrieval call binding the contract method 0x9f5684a2. -// -// Solidity: function readLink(string linkPath) view returns(string targetPath) -func (_Vm *VmCallerSession) ReadLink(linkPath string) (string, error) { - return _Vm.Contract.ReadLink(&_Vm.CallOpts, linkPath) -} - -// Replace is a free data retrieval call binding the contract method 0xe00ad03e. -// -// Solidity: function replace(string input, string from, string to) pure returns(string output) -func (_Vm *VmCaller) Replace(opts *bind.CallOpts, input string, from string, to string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "replace", input, from, to) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Replace is a free data retrieval call binding the contract method 0xe00ad03e. -// -// Solidity: function replace(string input, string from, string to) pure returns(string output) -func (_Vm *VmSession) Replace(input string, from string, to string) (string, error) { - return _Vm.Contract.Replace(&_Vm.CallOpts, input, from, to) -} - -// Replace is a free data retrieval call binding the contract method 0xe00ad03e. -// -// Solidity: function replace(string input, string from, string to) pure returns(string output) -func (_Vm *VmCallerSession) Replace(input string, from string, to string) (string, error) { - return _Vm.Contract.Replace(&_Vm.CallOpts, input, from, to) -} - -// RpcUrl is a free data retrieval call binding the contract method 0x975a6ce9. -// -// Solidity: function rpcUrl(string rpcAlias) view returns(string json) -func (_Vm *VmCaller) RpcUrl(opts *bind.CallOpts, rpcAlias string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "rpcUrl", rpcAlias) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// RpcUrl is a free data retrieval call binding the contract method 0x975a6ce9. -// -// Solidity: function rpcUrl(string rpcAlias) view returns(string json) -func (_Vm *VmSession) RpcUrl(rpcAlias string) (string, error) { - return _Vm.Contract.RpcUrl(&_Vm.CallOpts, rpcAlias) -} - -// RpcUrl is a free data retrieval call binding the contract method 0x975a6ce9. -// -// Solidity: function rpcUrl(string rpcAlias) view returns(string json) -func (_Vm *VmCallerSession) RpcUrl(rpcAlias string) (string, error) { - return _Vm.Contract.RpcUrl(&_Vm.CallOpts, rpcAlias) -} - -// RpcUrlStructs is a free data retrieval call binding the contract method 0x9d2ad72a. -// -// Solidity: function rpcUrlStructs() view returns((string,string)[] urls) -func (_Vm *VmCaller) RpcUrlStructs(opts *bind.CallOpts) ([]VmSafeRpc, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "rpcUrlStructs") - - if err != nil { - return *new([]VmSafeRpc), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeRpc)).(*[]VmSafeRpc) - - return out0, err - -} - -// RpcUrlStructs is a free data retrieval call binding the contract method 0x9d2ad72a. -// -// Solidity: function rpcUrlStructs() view returns((string,string)[] urls) -func (_Vm *VmSession) RpcUrlStructs() ([]VmSafeRpc, error) { - return _Vm.Contract.RpcUrlStructs(&_Vm.CallOpts) -} - -// RpcUrlStructs is a free data retrieval call binding the contract method 0x9d2ad72a. -// -// Solidity: function rpcUrlStructs() view returns((string,string)[] urls) -func (_Vm *VmCallerSession) RpcUrlStructs() ([]VmSafeRpc, error) { - return _Vm.Contract.RpcUrlStructs(&_Vm.CallOpts) -} - -// RpcUrls is a free data retrieval call binding the contract method 0xa85a8418. -// -// Solidity: function rpcUrls() view returns(string[2][] urls) -func (_Vm *VmCaller) RpcUrls(opts *bind.CallOpts) ([][2]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "rpcUrls") - - if err != nil { - return *new([][2]string), err - } - - out0 := *abi.ConvertType(out[0], new([][2]string)).(*[][2]string) - - return out0, err - -} - -// RpcUrls is a free data retrieval call binding the contract method 0xa85a8418. -// -// Solidity: function rpcUrls() view returns(string[2][] urls) -func (_Vm *VmSession) RpcUrls() ([][2]string, error) { - return _Vm.Contract.RpcUrls(&_Vm.CallOpts) -} - -// RpcUrls is a free data retrieval call binding the contract method 0xa85a8418. -// -// Solidity: function rpcUrls() view returns(string[2][] urls) -func (_Vm *VmCallerSession) RpcUrls() ([][2]string, error) { - return _Vm.Contract.RpcUrls(&_Vm.CallOpts) -} - -// Sign is a free data retrieval call binding the contract method 0x799cd333. -// -// Solidity: function sign(bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmCaller) Sign(opts *bind.CallOpts, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "sign", digest) - - outstruct := new(struct { - V uint8 - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// Sign is a free data retrieval call binding the contract method 0x799cd333. -// -// Solidity: function sign(bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmSession) Sign(digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.Sign(&_Vm.CallOpts, digest) -} - -// Sign is a free data retrieval call binding the contract method 0x799cd333. -// -// Solidity: function sign(bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmCallerSession) Sign(digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.Sign(&_Vm.CallOpts, digest) -} - -// Sign0 is a free data retrieval call binding the contract method 0x8c1aa205. -// -// Solidity: function sign(address signer, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmCaller) Sign0(opts *bind.CallOpts, signer common.Address, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "sign0", signer, digest) - - outstruct := new(struct { - V uint8 - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// Sign0 is a free data retrieval call binding the contract method 0x8c1aa205. -// -// Solidity: function sign(address signer, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmSession) Sign0(signer common.Address, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.Sign0(&_Vm.CallOpts, signer, digest) -} - -// Sign0 is a free data retrieval call binding the contract method 0x8c1aa205. -// -// Solidity: function sign(address signer, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmCallerSession) Sign0(signer common.Address, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.Sign0(&_Vm.CallOpts, signer, digest) -} - -// Sign2 is a free data retrieval call binding the contract method 0xe341eaa4. -// -// Solidity: function sign(uint256 privateKey, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmCaller) Sign2(opts *bind.CallOpts, privateKey *big.Int, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "sign2", privateKey, digest) - - outstruct := new(struct { - V uint8 - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// Sign2 is a free data retrieval call binding the contract method 0xe341eaa4. -// -// Solidity: function sign(uint256 privateKey, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmSession) Sign2(privateKey *big.Int, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.Sign2(&_Vm.CallOpts, privateKey, digest) -} - -// Sign2 is a free data retrieval call binding the contract method 0xe341eaa4. -// -// Solidity: function sign(uint256 privateKey, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmCallerSession) Sign2(privateKey *big.Int, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.Sign2(&_Vm.CallOpts, privateKey, digest) -} - -// SignP256 is a free data retrieval call binding the contract method 0x83211b40. -// -// Solidity: function signP256(uint256 privateKey, bytes32 digest) pure returns(bytes32 r, bytes32 s) -func (_Vm *VmCaller) SignP256(opts *bind.CallOpts, privateKey *big.Int, digest [32]byte) (struct { - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "signP256", privateKey, digest) - - outstruct := new(struct { - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.R = *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// SignP256 is a free data retrieval call binding the contract method 0x83211b40. -// -// Solidity: function signP256(uint256 privateKey, bytes32 digest) pure returns(bytes32 r, bytes32 s) -func (_Vm *VmSession) SignP256(privateKey *big.Int, digest [32]byte) (struct { - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.SignP256(&_Vm.CallOpts, privateKey, digest) -} - -// SignP256 is a free data retrieval call binding the contract method 0x83211b40. -// -// Solidity: function signP256(uint256 privateKey, bytes32 digest) pure returns(bytes32 r, bytes32 s) -func (_Vm *VmCallerSession) SignP256(privateKey *big.Int, digest [32]byte) (struct { - R [32]byte - S [32]byte -}, error) { - return _Vm.Contract.SignP256(&_Vm.CallOpts, privateKey, digest) -} - -// Split is a free data retrieval call binding the contract method 0x8bb75533. -// -// Solidity: function split(string input, string delimiter) pure returns(string[] outputs) -func (_Vm *VmCaller) Split(opts *bind.CallOpts, input string, delimiter string) ([]string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "split", input, delimiter) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// Split is a free data retrieval call binding the contract method 0x8bb75533. -// -// Solidity: function split(string input, string delimiter) pure returns(string[] outputs) -func (_Vm *VmSession) Split(input string, delimiter string) ([]string, error) { - return _Vm.Contract.Split(&_Vm.CallOpts, input, delimiter) -} - -// Split is a free data retrieval call binding the contract method 0x8bb75533. -// -// Solidity: function split(string input, string delimiter) pure returns(string[] outputs) -func (_Vm *VmCallerSession) Split(input string, delimiter string) ([]string, error) { - return _Vm.Contract.Split(&_Vm.CallOpts, input, delimiter) -} - -// ToBase64 is a free data retrieval call binding the contract method 0x3f8be2c8. -// -// Solidity: function toBase64(string data) pure returns(string) -func (_Vm *VmCaller) ToBase64(opts *bind.CallOpts, data string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toBase64", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase64 is a free data retrieval call binding the contract method 0x3f8be2c8. -// -// Solidity: function toBase64(string data) pure returns(string) -func (_Vm *VmSession) ToBase64(data string) (string, error) { - return _Vm.Contract.ToBase64(&_Vm.CallOpts, data) -} - -// ToBase64 is a free data retrieval call binding the contract method 0x3f8be2c8. -// -// Solidity: function toBase64(string data) pure returns(string) -func (_Vm *VmCallerSession) ToBase64(data string) (string, error) { - return _Vm.Contract.ToBase64(&_Vm.CallOpts, data) -} - -// ToBase640 is a free data retrieval call binding the contract method 0xa5cbfe65. -// -// Solidity: function toBase64(bytes data) pure returns(string) -func (_Vm *VmCaller) ToBase640(opts *bind.CallOpts, data []byte) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toBase640", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase640 is a free data retrieval call binding the contract method 0xa5cbfe65. -// -// Solidity: function toBase64(bytes data) pure returns(string) -func (_Vm *VmSession) ToBase640(data []byte) (string, error) { - return _Vm.Contract.ToBase640(&_Vm.CallOpts, data) -} - -// ToBase640 is a free data retrieval call binding the contract method 0xa5cbfe65. -// -// Solidity: function toBase64(bytes data) pure returns(string) -func (_Vm *VmCallerSession) ToBase640(data []byte) (string, error) { - return _Vm.Contract.ToBase640(&_Vm.CallOpts, data) -} - -// ToBase64URL is a free data retrieval call binding the contract method 0xae3165b3. -// -// Solidity: function toBase64URL(string data) pure returns(string) -func (_Vm *VmCaller) ToBase64URL(opts *bind.CallOpts, data string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toBase64URL", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase64URL is a free data retrieval call binding the contract method 0xae3165b3. -// -// Solidity: function toBase64URL(string data) pure returns(string) -func (_Vm *VmSession) ToBase64URL(data string) (string, error) { - return _Vm.Contract.ToBase64URL(&_Vm.CallOpts, data) -} - -// ToBase64URL is a free data retrieval call binding the contract method 0xae3165b3. -// -// Solidity: function toBase64URL(string data) pure returns(string) -func (_Vm *VmCallerSession) ToBase64URL(data string) (string, error) { - return _Vm.Contract.ToBase64URL(&_Vm.CallOpts, data) -} - -// ToBase64URL0 is a free data retrieval call binding the contract method 0xc8bd0e4a. -// -// Solidity: function toBase64URL(bytes data) pure returns(string) -func (_Vm *VmCaller) ToBase64URL0(opts *bind.CallOpts, data []byte) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toBase64URL0", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase64URL0 is a free data retrieval call binding the contract method 0xc8bd0e4a. -// -// Solidity: function toBase64URL(bytes data) pure returns(string) -func (_Vm *VmSession) ToBase64URL0(data []byte) (string, error) { - return _Vm.Contract.ToBase64URL0(&_Vm.CallOpts, data) -} - -// ToBase64URL0 is a free data retrieval call binding the contract method 0xc8bd0e4a. -// -// Solidity: function toBase64URL(bytes data) pure returns(string) -func (_Vm *VmCallerSession) ToBase64URL0(data []byte) (string, error) { - return _Vm.Contract.ToBase64URL0(&_Vm.CallOpts, data) -} - -// ToLowercase is a free data retrieval call binding the contract method 0x50bb0884. -// -// Solidity: function toLowercase(string input) pure returns(string output) -func (_Vm *VmCaller) ToLowercase(opts *bind.CallOpts, input string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toLowercase", input) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToLowercase is a free data retrieval call binding the contract method 0x50bb0884. -// -// Solidity: function toLowercase(string input) pure returns(string output) -func (_Vm *VmSession) ToLowercase(input string) (string, error) { - return _Vm.Contract.ToLowercase(&_Vm.CallOpts, input) -} - -// ToLowercase is a free data retrieval call binding the contract method 0x50bb0884. -// -// Solidity: function toLowercase(string input) pure returns(string output) -func (_Vm *VmCallerSession) ToLowercase(input string) (string, error) { - return _Vm.Contract.ToLowercase(&_Vm.CallOpts, input) -} - -// ToString is a free data retrieval call binding the contract method 0x56ca623e. -// -// Solidity: function toString(address value) pure returns(string stringifiedValue) -func (_Vm *VmCaller) ToString(opts *bind.CallOpts, value common.Address) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toString", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString is a free data retrieval call binding the contract method 0x56ca623e. -// -// Solidity: function toString(address value) pure returns(string stringifiedValue) -func (_Vm *VmSession) ToString(value common.Address) (string, error) { - return _Vm.Contract.ToString(&_Vm.CallOpts, value) -} - -// ToString is a free data retrieval call binding the contract method 0x56ca623e. -// -// Solidity: function toString(address value) pure returns(string stringifiedValue) -func (_Vm *VmCallerSession) ToString(value common.Address) (string, error) { - return _Vm.Contract.ToString(&_Vm.CallOpts, value) -} - -// ToString0 is a free data retrieval call binding the contract method 0x6900a3ae. -// -// Solidity: function toString(uint256 value) pure returns(string stringifiedValue) -func (_Vm *VmCaller) ToString0(opts *bind.CallOpts, value *big.Int) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toString0", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString0 is a free data retrieval call binding the contract method 0x6900a3ae. -// -// Solidity: function toString(uint256 value) pure returns(string stringifiedValue) -func (_Vm *VmSession) ToString0(value *big.Int) (string, error) { - return _Vm.Contract.ToString0(&_Vm.CallOpts, value) -} - -// ToString0 is a free data retrieval call binding the contract method 0x6900a3ae. -// -// Solidity: function toString(uint256 value) pure returns(string stringifiedValue) -func (_Vm *VmCallerSession) ToString0(value *big.Int) (string, error) { - return _Vm.Contract.ToString0(&_Vm.CallOpts, value) -} - -// ToString1 is a free data retrieval call binding the contract method 0x71aad10d. -// -// Solidity: function toString(bytes value) pure returns(string stringifiedValue) -func (_Vm *VmCaller) ToString1(opts *bind.CallOpts, value []byte) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toString1", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString1 is a free data retrieval call binding the contract method 0x71aad10d. -// -// Solidity: function toString(bytes value) pure returns(string stringifiedValue) -func (_Vm *VmSession) ToString1(value []byte) (string, error) { - return _Vm.Contract.ToString1(&_Vm.CallOpts, value) -} - -// ToString1 is a free data retrieval call binding the contract method 0x71aad10d. -// -// Solidity: function toString(bytes value) pure returns(string stringifiedValue) -func (_Vm *VmCallerSession) ToString1(value []byte) (string, error) { - return _Vm.Contract.ToString1(&_Vm.CallOpts, value) -} - -// ToString2 is a free data retrieval call binding the contract method 0x71dce7da. -// -// Solidity: function toString(bool value) pure returns(string stringifiedValue) -func (_Vm *VmCaller) ToString2(opts *bind.CallOpts, value bool) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toString2", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString2 is a free data retrieval call binding the contract method 0x71dce7da. -// -// Solidity: function toString(bool value) pure returns(string stringifiedValue) -func (_Vm *VmSession) ToString2(value bool) (string, error) { - return _Vm.Contract.ToString2(&_Vm.CallOpts, value) -} - -// ToString2 is a free data retrieval call binding the contract method 0x71dce7da. -// -// Solidity: function toString(bool value) pure returns(string stringifiedValue) -func (_Vm *VmCallerSession) ToString2(value bool) (string, error) { - return _Vm.Contract.ToString2(&_Vm.CallOpts, value) -} - -// ToString3 is a free data retrieval call binding the contract method 0xa322c40e. -// -// Solidity: function toString(int256 value) pure returns(string stringifiedValue) -func (_Vm *VmCaller) ToString3(opts *bind.CallOpts, value *big.Int) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toString3", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString3 is a free data retrieval call binding the contract method 0xa322c40e. -// -// Solidity: function toString(int256 value) pure returns(string stringifiedValue) -func (_Vm *VmSession) ToString3(value *big.Int) (string, error) { - return _Vm.Contract.ToString3(&_Vm.CallOpts, value) -} - -// ToString3 is a free data retrieval call binding the contract method 0xa322c40e. -// -// Solidity: function toString(int256 value) pure returns(string stringifiedValue) -func (_Vm *VmCallerSession) ToString3(value *big.Int) (string, error) { - return _Vm.Contract.ToString3(&_Vm.CallOpts, value) -} - -// ToString4 is a free data retrieval call binding the contract method 0xb11a19e8. -// -// Solidity: function toString(bytes32 value) pure returns(string stringifiedValue) -func (_Vm *VmCaller) ToString4(opts *bind.CallOpts, value [32]byte) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toString4", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString4 is a free data retrieval call binding the contract method 0xb11a19e8. -// -// Solidity: function toString(bytes32 value) pure returns(string stringifiedValue) -func (_Vm *VmSession) ToString4(value [32]byte) (string, error) { - return _Vm.Contract.ToString4(&_Vm.CallOpts, value) -} - -// ToString4 is a free data retrieval call binding the contract method 0xb11a19e8. -// -// Solidity: function toString(bytes32 value) pure returns(string stringifiedValue) -func (_Vm *VmCallerSession) ToString4(value [32]byte) (string, error) { - return _Vm.Contract.ToString4(&_Vm.CallOpts, value) -} - -// ToUppercase is a free data retrieval call binding the contract method 0x074ae3d7. -// -// Solidity: function toUppercase(string input) pure returns(string output) -func (_Vm *VmCaller) ToUppercase(opts *bind.CallOpts, input string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "toUppercase", input) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToUppercase is a free data retrieval call binding the contract method 0x074ae3d7. -// -// Solidity: function toUppercase(string input) pure returns(string output) -func (_Vm *VmSession) ToUppercase(input string) (string, error) { - return _Vm.Contract.ToUppercase(&_Vm.CallOpts, input) -} - -// ToUppercase is a free data retrieval call binding the contract method 0x074ae3d7. -// -// Solidity: function toUppercase(string input) pure returns(string output) -func (_Vm *VmCallerSession) ToUppercase(input string) (string, error) { - return _Vm.Contract.ToUppercase(&_Vm.CallOpts, input) -} - -// Trim is a free data retrieval call binding the contract method 0xb2dad155. -// -// Solidity: function trim(string input) pure returns(string output) -func (_Vm *VmCaller) Trim(opts *bind.CallOpts, input string) (string, error) { - var out []interface{} - err := _Vm.contract.Call(opts, &out, "trim", input) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Trim is a free data retrieval call binding the contract method 0xb2dad155. -// -// Solidity: function trim(string input) pure returns(string output) -func (_Vm *VmSession) Trim(input string) (string, error) { - return _Vm.Contract.Trim(&_Vm.CallOpts, input) -} - -// Trim is a free data retrieval call binding the contract method 0xb2dad155. -// -// Solidity: function trim(string input) pure returns(string output) -func (_Vm *VmCallerSession) Trim(input string) (string, error) { - return _Vm.Contract.Trim(&_Vm.CallOpts, input) -} - -// Accesses is a paid mutator transaction binding the contract method 0x65bc9481. -// -// Solidity: function accesses(address target) returns(bytes32[] readSlots, bytes32[] writeSlots) -func (_Vm *VmTransactor) Accesses(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "accesses", target) -} - -// Accesses is a paid mutator transaction binding the contract method 0x65bc9481. -// -// Solidity: function accesses(address target) returns(bytes32[] readSlots, bytes32[] writeSlots) -func (_Vm *VmSession) Accesses(target common.Address) (*types.Transaction, error) { - return _Vm.Contract.Accesses(&_Vm.TransactOpts, target) -} - -// Accesses is a paid mutator transaction binding the contract method 0x65bc9481. -// -// Solidity: function accesses(address target) returns(bytes32[] readSlots, bytes32[] writeSlots) -func (_Vm *VmTransactorSession) Accesses(target common.Address) (*types.Transaction, error) { - return _Vm.Contract.Accesses(&_Vm.TransactOpts, target) -} - -// AllowCheatcodes is a paid mutator transaction binding the contract method 0xea060291. -// -// Solidity: function allowCheatcodes(address account) returns() -func (_Vm *VmTransactor) AllowCheatcodes(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "allowCheatcodes", account) -} - -// AllowCheatcodes is a paid mutator transaction binding the contract method 0xea060291. -// -// Solidity: function allowCheatcodes(address account) returns() -func (_Vm *VmSession) AllowCheatcodes(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.AllowCheatcodes(&_Vm.TransactOpts, account) -} - -// AllowCheatcodes is a paid mutator transaction binding the contract method 0xea060291. -// -// Solidity: function allowCheatcodes(address account) returns() -func (_Vm *VmTransactorSession) AllowCheatcodes(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.AllowCheatcodes(&_Vm.TransactOpts, account) -} - -// BlobBaseFee is a paid mutator transaction binding the contract method 0x6d315d7e. -// -// Solidity: function blobBaseFee(uint256 newBlobBaseFee) returns() -func (_Vm *VmTransactor) BlobBaseFee(opts *bind.TransactOpts, newBlobBaseFee *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "blobBaseFee", newBlobBaseFee) -} - -// BlobBaseFee is a paid mutator transaction binding the contract method 0x6d315d7e. -// -// Solidity: function blobBaseFee(uint256 newBlobBaseFee) returns() -func (_Vm *VmSession) BlobBaseFee(newBlobBaseFee *big.Int) (*types.Transaction, error) { - return _Vm.Contract.BlobBaseFee(&_Vm.TransactOpts, newBlobBaseFee) -} - -// BlobBaseFee is a paid mutator transaction binding the contract method 0x6d315d7e. -// -// Solidity: function blobBaseFee(uint256 newBlobBaseFee) returns() -func (_Vm *VmTransactorSession) BlobBaseFee(newBlobBaseFee *big.Int) (*types.Transaction, error) { - return _Vm.Contract.BlobBaseFee(&_Vm.TransactOpts, newBlobBaseFee) -} - -// Blobhashes is a paid mutator transaction binding the contract method 0x129de7eb. -// -// Solidity: function blobhashes(bytes32[] hashes) returns() -func (_Vm *VmTransactor) Blobhashes(opts *bind.TransactOpts, hashes [][32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "blobhashes", hashes) -} - -// Blobhashes is a paid mutator transaction binding the contract method 0x129de7eb. -// -// Solidity: function blobhashes(bytes32[] hashes) returns() -func (_Vm *VmSession) Blobhashes(hashes [][32]byte) (*types.Transaction, error) { - return _Vm.Contract.Blobhashes(&_Vm.TransactOpts, hashes) -} - -// Blobhashes is a paid mutator transaction binding the contract method 0x129de7eb. -// -// Solidity: function blobhashes(bytes32[] hashes) returns() -func (_Vm *VmTransactorSession) Blobhashes(hashes [][32]byte) (*types.Transaction, error) { - return _Vm.Contract.Blobhashes(&_Vm.TransactOpts, hashes) -} - -// Breakpoint is a paid mutator transaction binding the contract method 0xf0259e92. -// -// Solidity: function breakpoint(string char) returns() -func (_Vm *VmTransactor) Breakpoint(opts *bind.TransactOpts, char string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "breakpoint", char) -} - -// Breakpoint is a paid mutator transaction binding the contract method 0xf0259e92. -// -// Solidity: function breakpoint(string char) returns() -func (_Vm *VmSession) Breakpoint(char string) (*types.Transaction, error) { - return _Vm.Contract.Breakpoint(&_Vm.TransactOpts, char) -} - -// Breakpoint is a paid mutator transaction binding the contract method 0xf0259e92. -// -// Solidity: function breakpoint(string char) returns() -func (_Vm *VmTransactorSession) Breakpoint(char string) (*types.Transaction, error) { - return _Vm.Contract.Breakpoint(&_Vm.TransactOpts, char) -} - -// Breakpoint0 is a paid mutator transaction binding the contract method 0xf7d39a8d. -// -// Solidity: function breakpoint(string char, bool value) returns() -func (_Vm *VmTransactor) Breakpoint0(opts *bind.TransactOpts, char string, value bool) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "breakpoint0", char, value) -} - -// Breakpoint0 is a paid mutator transaction binding the contract method 0xf7d39a8d. -// -// Solidity: function breakpoint(string char, bool value) returns() -func (_Vm *VmSession) Breakpoint0(char string, value bool) (*types.Transaction, error) { - return _Vm.Contract.Breakpoint0(&_Vm.TransactOpts, char, value) -} - -// Breakpoint0 is a paid mutator transaction binding the contract method 0xf7d39a8d. -// -// Solidity: function breakpoint(string char, bool value) returns() -func (_Vm *VmTransactorSession) Breakpoint0(char string, value bool) (*types.Transaction, error) { - return _Vm.Contract.Breakpoint0(&_Vm.TransactOpts, char, value) -} - -// Broadcast is a paid mutator transaction binding the contract method 0xafc98040. -// -// Solidity: function broadcast() returns() -func (_Vm *VmTransactor) Broadcast(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "broadcast") -} - -// Broadcast is a paid mutator transaction binding the contract method 0xafc98040. -// -// Solidity: function broadcast() returns() -func (_Vm *VmSession) Broadcast() (*types.Transaction, error) { - return _Vm.Contract.Broadcast(&_Vm.TransactOpts) -} - -// Broadcast is a paid mutator transaction binding the contract method 0xafc98040. -// -// Solidity: function broadcast() returns() -func (_Vm *VmTransactorSession) Broadcast() (*types.Transaction, error) { - return _Vm.Contract.Broadcast(&_Vm.TransactOpts) -} - -// Broadcast0 is a paid mutator transaction binding the contract method 0xe6962cdb. -// -// Solidity: function broadcast(address signer) returns() -func (_Vm *VmTransactor) Broadcast0(opts *bind.TransactOpts, signer common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "broadcast0", signer) -} - -// Broadcast0 is a paid mutator transaction binding the contract method 0xe6962cdb. -// -// Solidity: function broadcast(address signer) returns() -func (_Vm *VmSession) Broadcast0(signer common.Address) (*types.Transaction, error) { - return _Vm.Contract.Broadcast0(&_Vm.TransactOpts, signer) -} - -// Broadcast0 is a paid mutator transaction binding the contract method 0xe6962cdb. -// -// Solidity: function broadcast(address signer) returns() -func (_Vm *VmTransactorSession) Broadcast0(signer common.Address) (*types.Transaction, error) { - return _Vm.Contract.Broadcast0(&_Vm.TransactOpts, signer) -} - -// Broadcast1 is a paid mutator transaction binding the contract method 0xf67a965b. -// -// Solidity: function broadcast(uint256 privateKey) returns() -func (_Vm *VmTransactor) Broadcast1(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "broadcast1", privateKey) -} - -// Broadcast1 is a paid mutator transaction binding the contract method 0xf67a965b. -// -// Solidity: function broadcast(uint256 privateKey) returns() -func (_Vm *VmSession) Broadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Broadcast1(&_Vm.TransactOpts, privateKey) -} - -// Broadcast1 is a paid mutator transaction binding the contract method 0xf67a965b. -// -// Solidity: function broadcast(uint256 privateKey) returns() -func (_Vm *VmTransactorSession) Broadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Broadcast1(&_Vm.TransactOpts, privateKey) -} - -// ChainId is a paid mutator transaction binding the contract method 0x4049ddd2. -// -// Solidity: function chainId(uint256 newChainId) returns() -func (_Vm *VmTransactor) ChainId(opts *bind.TransactOpts, newChainId *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "chainId", newChainId) -} - -// ChainId is a paid mutator transaction binding the contract method 0x4049ddd2. -// -// Solidity: function chainId(uint256 newChainId) returns() -func (_Vm *VmSession) ChainId(newChainId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.ChainId(&_Vm.TransactOpts, newChainId) -} - -// ChainId is a paid mutator transaction binding the contract method 0x4049ddd2. -// -// Solidity: function chainId(uint256 newChainId) returns() -func (_Vm *VmTransactorSession) ChainId(newChainId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.ChainId(&_Vm.TransactOpts, newChainId) -} - -// ClearMockedCalls is a paid mutator transaction binding the contract method 0x3fdf4e15. -// -// Solidity: function clearMockedCalls() returns() -func (_Vm *VmTransactor) ClearMockedCalls(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "clearMockedCalls") -} - -// ClearMockedCalls is a paid mutator transaction binding the contract method 0x3fdf4e15. -// -// Solidity: function clearMockedCalls() returns() -func (_Vm *VmSession) ClearMockedCalls() (*types.Transaction, error) { - return _Vm.Contract.ClearMockedCalls(&_Vm.TransactOpts) -} - -// ClearMockedCalls is a paid mutator transaction binding the contract method 0x3fdf4e15. -// -// Solidity: function clearMockedCalls() returns() -func (_Vm *VmTransactorSession) ClearMockedCalls() (*types.Transaction, error) { - return _Vm.Contract.ClearMockedCalls(&_Vm.TransactOpts) -} - -// CloseFile is a paid mutator transaction binding the contract method 0x48c3241f. -// -// Solidity: function closeFile(string path) returns() -func (_Vm *VmTransactor) CloseFile(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "closeFile", path) -} - -// CloseFile is a paid mutator transaction binding the contract method 0x48c3241f. -// -// Solidity: function closeFile(string path) returns() -func (_Vm *VmSession) CloseFile(path string) (*types.Transaction, error) { - return _Vm.Contract.CloseFile(&_Vm.TransactOpts, path) -} - -// CloseFile is a paid mutator transaction binding the contract method 0x48c3241f. -// -// Solidity: function closeFile(string path) returns() -func (_Vm *VmTransactorSession) CloseFile(path string) (*types.Transaction, error) { - return _Vm.Contract.CloseFile(&_Vm.TransactOpts, path) -} - -// Coinbase is a paid mutator transaction binding the contract method 0xff483c54. -// -// Solidity: function coinbase(address newCoinbase) returns() -func (_Vm *VmTransactor) Coinbase(opts *bind.TransactOpts, newCoinbase common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "coinbase", newCoinbase) -} - -// Coinbase is a paid mutator transaction binding the contract method 0xff483c54. -// -// Solidity: function coinbase(address newCoinbase) returns() -func (_Vm *VmSession) Coinbase(newCoinbase common.Address) (*types.Transaction, error) { - return _Vm.Contract.Coinbase(&_Vm.TransactOpts, newCoinbase) -} - -// Coinbase is a paid mutator transaction binding the contract method 0xff483c54. -// -// Solidity: function coinbase(address newCoinbase) returns() -func (_Vm *VmTransactorSession) Coinbase(newCoinbase common.Address) (*types.Transaction, error) { - return _Vm.Contract.Coinbase(&_Vm.TransactOpts, newCoinbase) -} - -// CopyFile is a paid mutator transaction binding the contract method 0xa54a87d8. -// -// Solidity: function copyFile(string from, string to) returns(uint64 copied) -func (_Vm *VmTransactor) CopyFile(opts *bind.TransactOpts, from string, to string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "copyFile", from, to) -} - -// CopyFile is a paid mutator transaction binding the contract method 0xa54a87d8. -// -// Solidity: function copyFile(string from, string to) returns(uint64 copied) -func (_Vm *VmSession) CopyFile(from string, to string) (*types.Transaction, error) { - return _Vm.Contract.CopyFile(&_Vm.TransactOpts, from, to) -} - -// CopyFile is a paid mutator transaction binding the contract method 0xa54a87d8. -// -// Solidity: function copyFile(string from, string to) returns(uint64 copied) -func (_Vm *VmTransactorSession) CopyFile(from string, to string) (*types.Transaction, error) { - return _Vm.Contract.CopyFile(&_Vm.TransactOpts, from, to) -} - -// CreateDir is a paid mutator transaction binding the contract method 0x168b64d3. -// -// Solidity: function createDir(string path, bool recursive) returns() -func (_Vm *VmTransactor) CreateDir(opts *bind.TransactOpts, path string, recursive bool) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createDir", path, recursive) -} - -// CreateDir is a paid mutator transaction binding the contract method 0x168b64d3. -// -// Solidity: function createDir(string path, bool recursive) returns() -func (_Vm *VmSession) CreateDir(path string, recursive bool) (*types.Transaction, error) { - return _Vm.Contract.CreateDir(&_Vm.TransactOpts, path, recursive) -} - -// CreateDir is a paid mutator transaction binding the contract method 0x168b64d3. -// -// Solidity: function createDir(string path, bool recursive) returns() -func (_Vm *VmTransactorSession) CreateDir(path string, recursive bool) (*types.Transaction, error) { - return _Vm.Contract.CreateDir(&_Vm.TransactOpts, path, recursive) -} - -// CreateFork is a paid mutator transaction binding the contract method 0x31ba3498. -// -// Solidity: function createFork(string urlOrAlias) returns(uint256 forkId) -func (_Vm *VmTransactor) CreateFork(opts *bind.TransactOpts, urlOrAlias string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createFork", urlOrAlias) -} - -// CreateFork is a paid mutator transaction binding the contract method 0x31ba3498. -// -// Solidity: function createFork(string urlOrAlias) returns(uint256 forkId) -func (_Vm *VmSession) CreateFork(urlOrAlias string) (*types.Transaction, error) { - return _Vm.Contract.CreateFork(&_Vm.TransactOpts, urlOrAlias) -} - -// CreateFork is a paid mutator transaction binding the contract method 0x31ba3498. -// -// Solidity: function createFork(string urlOrAlias) returns(uint256 forkId) -func (_Vm *VmTransactorSession) CreateFork(urlOrAlias string) (*types.Transaction, error) { - return _Vm.Contract.CreateFork(&_Vm.TransactOpts, urlOrAlias) -} - -// CreateFork0 is a paid mutator transaction binding the contract method 0x6ba3ba2b. -// -// Solidity: function createFork(string urlOrAlias, uint256 blockNumber) returns(uint256 forkId) -func (_Vm *VmTransactor) CreateFork0(opts *bind.TransactOpts, urlOrAlias string, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createFork0", urlOrAlias, blockNumber) -} - -// CreateFork0 is a paid mutator transaction binding the contract method 0x6ba3ba2b. -// -// Solidity: function createFork(string urlOrAlias, uint256 blockNumber) returns(uint256 forkId) -func (_Vm *VmSession) CreateFork0(urlOrAlias string, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.CreateFork0(&_Vm.TransactOpts, urlOrAlias, blockNumber) -} - -// CreateFork0 is a paid mutator transaction binding the contract method 0x6ba3ba2b. -// -// Solidity: function createFork(string urlOrAlias, uint256 blockNumber) returns(uint256 forkId) -func (_Vm *VmTransactorSession) CreateFork0(urlOrAlias string, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.CreateFork0(&_Vm.TransactOpts, urlOrAlias, blockNumber) -} - -// CreateFork1 is a paid mutator transaction binding the contract method 0x7ca29682. -// -// Solidity: function createFork(string urlOrAlias, bytes32 txHash) returns(uint256 forkId) -func (_Vm *VmTransactor) CreateFork1(opts *bind.TransactOpts, urlOrAlias string, txHash [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createFork1", urlOrAlias, txHash) -} - -// CreateFork1 is a paid mutator transaction binding the contract method 0x7ca29682. -// -// Solidity: function createFork(string urlOrAlias, bytes32 txHash) returns(uint256 forkId) -func (_Vm *VmSession) CreateFork1(urlOrAlias string, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.CreateFork1(&_Vm.TransactOpts, urlOrAlias, txHash) -} - -// CreateFork1 is a paid mutator transaction binding the contract method 0x7ca29682. -// -// Solidity: function createFork(string urlOrAlias, bytes32 txHash) returns(uint256 forkId) -func (_Vm *VmTransactorSession) CreateFork1(urlOrAlias string, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.CreateFork1(&_Vm.TransactOpts, urlOrAlias, txHash) -} - -// CreateSelectFork is a paid mutator transaction binding the contract method 0x71ee464d. -// -// Solidity: function createSelectFork(string urlOrAlias, uint256 blockNumber) returns(uint256 forkId) -func (_Vm *VmTransactor) CreateSelectFork(opts *bind.TransactOpts, urlOrAlias string, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createSelectFork", urlOrAlias, blockNumber) -} - -// CreateSelectFork is a paid mutator transaction binding the contract method 0x71ee464d. -// -// Solidity: function createSelectFork(string urlOrAlias, uint256 blockNumber) returns(uint256 forkId) -func (_Vm *VmSession) CreateSelectFork(urlOrAlias string, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.CreateSelectFork(&_Vm.TransactOpts, urlOrAlias, blockNumber) -} - -// CreateSelectFork is a paid mutator transaction binding the contract method 0x71ee464d. -// -// Solidity: function createSelectFork(string urlOrAlias, uint256 blockNumber) returns(uint256 forkId) -func (_Vm *VmTransactorSession) CreateSelectFork(urlOrAlias string, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.CreateSelectFork(&_Vm.TransactOpts, urlOrAlias, blockNumber) -} - -// CreateSelectFork0 is a paid mutator transaction binding the contract method 0x84d52b7a. -// -// Solidity: function createSelectFork(string urlOrAlias, bytes32 txHash) returns(uint256 forkId) -func (_Vm *VmTransactor) CreateSelectFork0(opts *bind.TransactOpts, urlOrAlias string, txHash [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createSelectFork0", urlOrAlias, txHash) -} - -// CreateSelectFork0 is a paid mutator transaction binding the contract method 0x84d52b7a. -// -// Solidity: function createSelectFork(string urlOrAlias, bytes32 txHash) returns(uint256 forkId) -func (_Vm *VmSession) CreateSelectFork0(urlOrAlias string, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.CreateSelectFork0(&_Vm.TransactOpts, urlOrAlias, txHash) -} - -// CreateSelectFork0 is a paid mutator transaction binding the contract method 0x84d52b7a. -// -// Solidity: function createSelectFork(string urlOrAlias, bytes32 txHash) returns(uint256 forkId) -func (_Vm *VmTransactorSession) CreateSelectFork0(urlOrAlias string, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.CreateSelectFork0(&_Vm.TransactOpts, urlOrAlias, txHash) -} - -// CreateSelectFork1 is a paid mutator transaction binding the contract method 0x98680034. -// -// Solidity: function createSelectFork(string urlOrAlias) returns(uint256 forkId) -func (_Vm *VmTransactor) CreateSelectFork1(opts *bind.TransactOpts, urlOrAlias string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createSelectFork1", urlOrAlias) -} - -// CreateSelectFork1 is a paid mutator transaction binding the contract method 0x98680034. -// -// Solidity: function createSelectFork(string urlOrAlias) returns(uint256 forkId) -func (_Vm *VmSession) CreateSelectFork1(urlOrAlias string) (*types.Transaction, error) { - return _Vm.Contract.CreateSelectFork1(&_Vm.TransactOpts, urlOrAlias) -} - -// CreateSelectFork1 is a paid mutator transaction binding the contract method 0x98680034. -// -// Solidity: function createSelectFork(string urlOrAlias) returns(uint256 forkId) -func (_Vm *VmTransactorSession) CreateSelectFork1(urlOrAlias string) (*types.Transaction, error) { - return _Vm.Contract.CreateSelectFork1(&_Vm.TransactOpts, urlOrAlias) -} - -// CreateWallet is a paid mutator transaction binding the contract method 0x7404f1d2. -// -// Solidity: function createWallet(string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmTransactor) CreateWallet(opts *bind.TransactOpts, walletLabel string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createWallet", walletLabel) -} - -// CreateWallet is a paid mutator transaction binding the contract method 0x7404f1d2. -// -// Solidity: function createWallet(string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmSession) CreateWallet(walletLabel string) (*types.Transaction, error) { - return _Vm.Contract.CreateWallet(&_Vm.TransactOpts, walletLabel) -} - -// CreateWallet is a paid mutator transaction binding the contract method 0x7404f1d2. -// -// Solidity: function createWallet(string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmTransactorSession) CreateWallet(walletLabel string) (*types.Transaction, error) { - return _Vm.Contract.CreateWallet(&_Vm.TransactOpts, walletLabel) -} - -// CreateWallet0 is a paid mutator transaction binding the contract method 0x7a675bb6. -// -// Solidity: function createWallet(uint256 privateKey) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmTransactor) CreateWallet0(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createWallet0", privateKey) -} - -// CreateWallet0 is a paid mutator transaction binding the contract method 0x7a675bb6. -// -// Solidity: function createWallet(uint256 privateKey) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmSession) CreateWallet0(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.CreateWallet0(&_Vm.TransactOpts, privateKey) -} - -// CreateWallet0 is a paid mutator transaction binding the contract method 0x7a675bb6. -// -// Solidity: function createWallet(uint256 privateKey) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmTransactorSession) CreateWallet0(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.CreateWallet0(&_Vm.TransactOpts, privateKey) -} - -// CreateWallet1 is a paid mutator transaction binding the contract method 0xed7c5462. -// -// Solidity: function createWallet(uint256 privateKey, string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmTransactor) CreateWallet1(opts *bind.TransactOpts, privateKey *big.Int, walletLabel string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "createWallet1", privateKey, walletLabel) -} - -// CreateWallet1 is a paid mutator transaction binding the contract method 0xed7c5462. -// -// Solidity: function createWallet(uint256 privateKey, string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmSession) CreateWallet1(privateKey *big.Int, walletLabel string) (*types.Transaction, error) { - return _Vm.Contract.CreateWallet1(&_Vm.TransactOpts, privateKey, walletLabel) -} - -// CreateWallet1 is a paid mutator transaction binding the contract method 0xed7c5462. -// -// Solidity: function createWallet(uint256 privateKey, string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_Vm *VmTransactorSession) CreateWallet1(privateKey *big.Int, walletLabel string) (*types.Transaction, error) { - return _Vm.Contract.CreateWallet1(&_Vm.TransactOpts, privateKey, walletLabel) -} - -// Deal is a paid mutator transaction binding the contract method 0xc88a5e6d. -// -// Solidity: function deal(address account, uint256 newBalance) returns() -func (_Vm *VmTransactor) Deal(opts *bind.TransactOpts, account common.Address, newBalance *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "deal", account, newBalance) -} - -// Deal is a paid mutator transaction binding the contract method 0xc88a5e6d. -// -// Solidity: function deal(address account, uint256 newBalance) returns() -func (_Vm *VmSession) Deal(account common.Address, newBalance *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Deal(&_Vm.TransactOpts, account, newBalance) -} - -// Deal is a paid mutator transaction binding the contract method 0xc88a5e6d. -// -// Solidity: function deal(address account, uint256 newBalance) returns() -func (_Vm *VmTransactorSession) Deal(account common.Address, newBalance *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Deal(&_Vm.TransactOpts, account, newBalance) -} - -// DeleteSnapshot is a paid mutator transaction binding the contract method 0xa6368557. -// -// Solidity: function deleteSnapshot(uint256 snapshotId) returns(bool success) -func (_Vm *VmTransactor) DeleteSnapshot(opts *bind.TransactOpts, snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "deleteSnapshot", snapshotId) -} - -// DeleteSnapshot is a paid mutator transaction binding the contract method 0xa6368557. -// -// Solidity: function deleteSnapshot(uint256 snapshotId) returns(bool success) -func (_Vm *VmSession) DeleteSnapshot(snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.DeleteSnapshot(&_Vm.TransactOpts, snapshotId) -} - -// DeleteSnapshot is a paid mutator transaction binding the contract method 0xa6368557. -// -// Solidity: function deleteSnapshot(uint256 snapshotId) returns(bool success) -func (_Vm *VmTransactorSession) DeleteSnapshot(snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.DeleteSnapshot(&_Vm.TransactOpts, snapshotId) -} - -// DeleteSnapshots is a paid mutator transaction binding the contract method 0x421ae469. -// -// Solidity: function deleteSnapshots() returns() -func (_Vm *VmTransactor) DeleteSnapshots(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "deleteSnapshots") -} - -// DeleteSnapshots is a paid mutator transaction binding the contract method 0x421ae469. -// -// Solidity: function deleteSnapshots() returns() -func (_Vm *VmSession) DeleteSnapshots() (*types.Transaction, error) { - return _Vm.Contract.DeleteSnapshots(&_Vm.TransactOpts) -} - -// DeleteSnapshots is a paid mutator transaction binding the contract method 0x421ae469. -// -// Solidity: function deleteSnapshots() returns() -func (_Vm *VmTransactorSession) DeleteSnapshots() (*types.Transaction, error) { - return _Vm.Contract.DeleteSnapshots(&_Vm.TransactOpts) -} - -// Difficulty is a paid mutator transaction binding the contract method 0x46cc92d9. -// -// Solidity: function difficulty(uint256 newDifficulty) returns() -func (_Vm *VmTransactor) Difficulty(opts *bind.TransactOpts, newDifficulty *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "difficulty", newDifficulty) -} - -// Difficulty is a paid mutator transaction binding the contract method 0x46cc92d9. -// -// Solidity: function difficulty(uint256 newDifficulty) returns() -func (_Vm *VmSession) Difficulty(newDifficulty *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Difficulty(&_Vm.TransactOpts, newDifficulty) -} - -// Difficulty is a paid mutator transaction binding the contract method 0x46cc92d9. -// -// Solidity: function difficulty(uint256 newDifficulty) returns() -func (_Vm *VmTransactorSession) Difficulty(newDifficulty *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Difficulty(&_Vm.TransactOpts, newDifficulty) -} - -// DumpState is a paid mutator transaction binding the contract method 0x709ecd3f. -// -// Solidity: function dumpState(string pathToStateJson) returns() -func (_Vm *VmTransactor) DumpState(opts *bind.TransactOpts, pathToStateJson string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "dumpState", pathToStateJson) -} - -// DumpState is a paid mutator transaction binding the contract method 0x709ecd3f. -// -// Solidity: function dumpState(string pathToStateJson) returns() -func (_Vm *VmSession) DumpState(pathToStateJson string) (*types.Transaction, error) { - return _Vm.Contract.DumpState(&_Vm.TransactOpts, pathToStateJson) -} - -// DumpState is a paid mutator transaction binding the contract method 0x709ecd3f. -// -// Solidity: function dumpState(string pathToStateJson) returns() -func (_Vm *VmTransactorSession) DumpState(pathToStateJson string) (*types.Transaction, error) { - return _Vm.Contract.DumpState(&_Vm.TransactOpts, pathToStateJson) -} - -// Etch is a paid mutator transaction binding the contract method 0xb4d6c782. -// -// Solidity: function etch(address target, bytes newRuntimeBytecode) returns() -func (_Vm *VmTransactor) Etch(opts *bind.TransactOpts, target common.Address, newRuntimeBytecode []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "etch", target, newRuntimeBytecode) -} - -// Etch is a paid mutator transaction binding the contract method 0xb4d6c782. -// -// Solidity: function etch(address target, bytes newRuntimeBytecode) returns() -func (_Vm *VmSession) Etch(target common.Address, newRuntimeBytecode []byte) (*types.Transaction, error) { - return _Vm.Contract.Etch(&_Vm.TransactOpts, target, newRuntimeBytecode) -} - -// Etch is a paid mutator transaction binding the contract method 0xb4d6c782. -// -// Solidity: function etch(address target, bytes newRuntimeBytecode) returns() -func (_Vm *VmTransactorSession) Etch(target common.Address, newRuntimeBytecode []byte) (*types.Transaction, error) { - return _Vm.Contract.Etch(&_Vm.TransactOpts, target, newRuntimeBytecode) -} - -// EthGetLogs is a paid mutator transaction binding the contract method 0x35e1349b. -// -// Solidity: function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] topics) returns((address,bytes32[],bytes,bytes32,uint64,bytes32,uint64,uint256,bool)[] logs) -func (_Vm *VmTransactor) EthGetLogs(opts *bind.TransactOpts, fromBlock *big.Int, toBlock *big.Int, target common.Address, topics [][32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "eth_getLogs", fromBlock, toBlock, target, topics) -} - -// EthGetLogs is a paid mutator transaction binding the contract method 0x35e1349b. -// -// Solidity: function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] topics) returns((address,bytes32[],bytes,bytes32,uint64,bytes32,uint64,uint256,bool)[] logs) -func (_Vm *VmSession) EthGetLogs(fromBlock *big.Int, toBlock *big.Int, target common.Address, topics [][32]byte) (*types.Transaction, error) { - return _Vm.Contract.EthGetLogs(&_Vm.TransactOpts, fromBlock, toBlock, target, topics) -} - -// EthGetLogs is a paid mutator transaction binding the contract method 0x35e1349b. -// -// Solidity: function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] topics) returns((address,bytes32[],bytes,bytes32,uint64,bytes32,uint64,uint256,bool)[] logs) -func (_Vm *VmTransactorSession) EthGetLogs(fromBlock *big.Int, toBlock *big.Int, target common.Address, topics [][32]byte) (*types.Transaction, error) { - return _Vm.Contract.EthGetLogs(&_Vm.TransactOpts, fromBlock, toBlock, target, topics) -} - -// Exists is a paid mutator transaction binding the contract method 0x261a323e. -// -// Solidity: function exists(string path) returns(bool result) -func (_Vm *VmTransactor) Exists(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "exists", path) -} - -// Exists is a paid mutator transaction binding the contract method 0x261a323e. -// -// Solidity: function exists(string path) returns(bool result) -func (_Vm *VmSession) Exists(path string) (*types.Transaction, error) { - return _Vm.Contract.Exists(&_Vm.TransactOpts, path) -} - -// Exists is a paid mutator transaction binding the contract method 0x261a323e. -// -// Solidity: function exists(string path) returns(bool result) -func (_Vm *VmTransactorSession) Exists(path string) (*types.Transaction, error) { - return _Vm.Contract.Exists(&_Vm.TransactOpts, path) -} - -// ExpectCall is a paid mutator transaction binding the contract method 0x23361207. -// -// Solidity: function expectCall(address callee, uint256 msgValue, uint64 gas, bytes data) returns() -func (_Vm *VmTransactor) ExpectCall(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, gas uint64, data []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCall", callee, msgValue, gas, data) -} - -// ExpectCall is a paid mutator transaction binding the contract method 0x23361207. -// -// Solidity: function expectCall(address callee, uint256 msgValue, uint64 gas, bytes data) returns() -func (_Vm *VmSession) ExpectCall(callee common.Address, msgValue *big.Int, gas uint64, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall(&_Vm.TransactOpts, callee, msgValue, gas, data) -} - -// ExpectCall is a paid mutator transaction binding the contract method 0x23361207. -// -// Solidity: function expectCall(address callee, uint256 msgValue, uint64 gas, bytes data) returns() -func (_Vm *VmTransactorSession) ExpectCall(callee common.Address, msgValue *big.Int, gas uint64, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall(&_Vm.TransactOpts, callee, msgValue, gas, data) -} - -// ExpectCall0 is a paid mutator transaction binding the contract method 0x65b7b7cc. -// -// Solidity: function expectCall(address callee, uint256 msgValue, uint64 gas, bytes data, uint64 count) returns() -func (_Vm *VmTransactor) ExpectCall0(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, gas uint64, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCall0", callee, msgValue, gas, data, count) -} - -// ExpectCall0 is a paid mutator transaction binding the contract method 0x65b7b7cc. -// -// Solidity: function expectCall(address callee, uint256 msgValue, uint64 gas, bytes data, uint64 count) returns() -func (_Vm *VmSession) ExpectCall0(callee common.Address, msgValue *big.Int, gas uint64, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall0(&_Vm.TransactOpts, callee, msgValue, gas, data, count) -} - -// ExpectCall0 is a paid mutator transaction binding the contract method 0x65b7b7cc. -// -// Solidity: function expectCall(address callee, uint256 msgValue, uint64 gas, bytes data, uint64 count) returns() -func (_Vm *VmTransactorSession) ExpectCall0(callee common.Address, msgValue *big.Int, gas uint64, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall0(&_Vm.TransactOpts, callee, msgValue, gas, data, count) -} - -// ExpectCall1 is a paid mutator transaction binding the contract method 0xa2b1a1ae. -// -// Solidity: function expectCall(address callee, uint256 msgValue, bytes data, uint64 count) returns() -func (_Vm *VmTransactor) ExpectCall1(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCall1", callee, msgValue, data, count) -} - -// ExpectCall1 is a paid mutator transaction binding the contract method 0xa2b1a1ae. -// -// Solidity: function expectCall(address callee, uint256 msgValue, bytes data, uint64 count) returns() -func (_Vm *VmSession) ExpectCall1(callee common.Address, msgValue *big.Int, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall1(&_Vm.TransactOpts, callee, msgValue, data, count) -} - -// ExpectCall1 is a paid mutator transaction binding the contract method 0xa2b1a1ae. -// -// Solidity: function expectCall(address callee, uint256 msgValue, bytes data, uint64 count) returns() -func (_Vm *VmTransactorSession) ExpectCall1(callee common.Address, msgValue *big.Int, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall1(&_Vm.TransactOpts, callee, msgValue, data, count) -} - -// ExpectCall2 is a paid mutator transaction binding the contract method 0xbd6af434. -// -// Solidity: function expectCall(address callee, bytes data) returns() -func (_Vm *VmTransactor) ExpectCall2(opts *bind.TransactOpts, callee common.Address, data []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCall2", callee, data) -} - -// ExpectCall2 is a paid mutator transaction binding the contract method 0xbd6af434. -// -// Solidity: function expectCall(address callee, bytes data) returns() -func (_Vm *VmSession) ExpectCall2(callee common.Address, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall2(&_Vm.TransactOpts, callee, data) -} - -// ExpectCall2 is a paid mutator transaction binding the contract method 0xbd6af434. -// -// Solidity: function expectCall(address callee, bytes data) returns() -func (_Vm *VmTransactorSession) ExpectCall2(callee common.Address, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall2(&_Vm.TransactOpts, callee, data) -} - -// ExpectCall3 is a paid mutator transaction binding the contract method 0xc1adbbff. -// -// Solidity: function expectCall(address callee, bytes data, uint64 count) returns() -func (_Vm *VmTransactor) ExpectCall3(opts *bind.TransactOpts, callee common.Address, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCall3", callee, data, count) -} - -// ExpectCall3 is a paid mutator transaction binding the contract method 0xc1adbbff. -// -// Solidity: function expectCall(address callee, bytes data, uint64 count) returns() -func (_Vm *VmSession) ExpectCall3(callee common.Address, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall3(&_Vm.TransactOpts, callee, data, count) -} - -// ExpectCall3 is a paid mutator transaction binding the contract method 0xc1adbbff. -// -// Solidity: function expectCall(address callee, bytes data, uint64 count) returns() -func (_Vm *VmTransactorSession) ExpectCall3(callee common.Address, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall3(&_Vm.TransactOpts, callee, data, count) -} - -// ExpectCall4 is a paid mutator transaction binding the contract method 0xf30c7ba3. -// -// Solidity: function expectCall(address callee, uint256 msgValue, bytes data) returns() -func (_Vm *VmTransactor) ExpectCall4(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, data []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCall4", callee, msgValue, data) -} - -// ExpectCall4 is a paid mutator transaction binding the contract method 0xf30c7ba3. -// -// Solidity: function expectCall(address callee, uint256 msgValue, bytes data) returns() -func (_Vm *VmSession) ExpectCall4(callee common.Address, msgValue *big.Int, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall4(&_Vm.TransactOpts, callee, msgValue, data) -} - -// ExpectCall4 is a paid mutator transaction binding the contract method 0xf30c7ba3. -// -// Solidity: function expectCall(address callee, uint256 msgValue, bytes data) returns() -func (_Vm *VmTransactorSession) ExpectCall4(callee common.Address, msgValue *big.Int, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCall4(&_Vm.TransactOpts, callee, msgValue, data) -} - -// ExpectCallMinGas is a paid mutator transaction binding the contract method 0x08e4e116. -// -// Solidity: function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes data) returns() -func (_Vm *VmTransactor) ExpectCallMinGas(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, minGas uint64, data []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCallMinGas", callee, msgValue, minGas, data) -} - -// ExpectCallMinGas is a paid mutator transaction binding the contract method 0x08e4e116. -// -// Solidity: function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes data) returns() -func (_Vm *VmSession) ExpectCallMinGas(callee common.Address, msgValue *big.Int, minGas uint64, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCallMinGas(&_Vm.TransactOpts, callee, msgValue, minGas, data) -} - -// ExpectCallMinGas is a paid mutator transaction binding the contract method 0x08e4e116. -// -// Solidity: function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes data) returns() -func (_Vm *VmTransactorSession) ExpectCallMinGas(callee common.Address, msgValue *big.Int, minGas uint64, data []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectCallMinGas(&_Vm.TransactOpts, callee, msgValue, minGas, data) -} - -// ExpectCallMinGas0 is a paid mutator transaction binding the contract method 0xe13a1834. -// -// Solidity: function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes data, uint64 count) returns() -func (_Vm *VmTransactor) ExpectCallMinGas0(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, minGas uint64, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectCallMinGas0", callee, msgValue, minGas, data, count) -} - -// ExpectCallMinGas0 is a paid mutator transaction binding the contract method 0xe13a1834. -// -// Solidity: function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes data, uint64 count) returns() -func (_Vm *VmSession) ExpectCallMinGas0(callee common.Address, msgValue *big.Int, minGas uint64, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCallMinGas0(&_Vm.TransactOpts, callee, msgValue, minGas, data, count) -} - -// ExpectCallMinGas0 is a paid mutator transaction binding the contract method 0xe13a1834. -// -// Solidity: function expectCallMinGas(address callee, uint256 msgValue, uint64 minGas, bytes data, uint64 count) returns() -func (_Vm *VmTransactorSession) ExpectCallMinGas0(callee common.Address, msgValue *big.Int, minGas uint64, data []byte, count uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectCallMinGas0(&_Vm.TransactOpts, callee, msgValue, minGas, data, count) -} - -// ExpectEmit is a paid mutator transaction binding the contract method 0x440ed10d. -// -// Solidity: function expectEmit() returns() -func (_Vm *VmTransactor) ExpectEmit(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectEmit") -} - -// ExpectEmit is a paid mutator transaction binding the contract method 0x440ed10d. -// -// Solidity: function expectEmit() returns() -func (_Vm *VmSession) ExpectEmit() (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit(&_Vm.TransactOpts) -} - -// ExpectEmit is a paid mutator transaction binding the contract method 0x440ed10d. -// -// Solidity: function expectEmit() returns() -func (_Vm *VmTransactorSession) ExpectEmit() (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit(&_Vm.TransactOpts) -} - -// ExpectEmit0 is a paid mutator transaction binding the contract method 0x491cc7c2. -// -// Solidity: function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) returns() -func (_Vm *VmTransactor) ExpectEmit0(opts *bind.TransactOpts, checkTopic1 bool, checkTopic2 bool, checkTopic3 bool, checkData bool) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectEmit0", checkTopic1, checkTopic2, checkTopic3, checkData) -} - -// ExpectEmit0 is a paid mutator transaction binding the contract method 0x491cc7c2. -// -// Solidity: function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) returns() -func (_Vm *VmSession) ExpectEmit0(checkTopic1 bool, checkTopic2 bool, checkTopic3 bool, checkData bool) (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit0(&_Vm.TransactOpts, checkTopic1, checkTopic2, checkTopic3, checkData) -} - -// ExpectEmit0 is a paid mutator transaction binding the contract method 0x491cc7c2. -// -// Solidity: function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData) returns() -func (_Vm *VmTransactorSession) ExpectEmit0(checkTopic1 bool, checkTopic2 bool, checkTopic3 bool, checkData bool) (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit0(&_Vm.TransactOpts, checkTopic1, checkTopic2, checkTopic3, checkData) -} - -// ExpectEmit1 is a paid mutator transaction binding the contract method 0x81bad6f3. -// -// Solidity: function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter) returns() -func (_Vm *VmTransactor) ExpectEmit1(opts *bind.TransactOpts, checkTopic1 bool, checkTopic2 bool, checkTopic3 bool, checkData bool, emitter common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectEmit1", checkTopic1, checkTopic2, checkTopic3, checkData, emitter) -} - -// ExpectEmit1 is a paid mutator transaction binding the contract method 0x81bad6f3. -// -// Solidity: function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter) returns() -func (_Vm *VmSession) ExpectEmit1(checkTopic1 bool, checkTopic2 bool, checkTopic3 bool, checkData bool, emitter common.Address) (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit1(&_Vm.TransactOpts, checkTopic1, checkTopic2, checkTopic3, checkData, emitter) -} - -// ExpectEmit1 is a paid mutator transaction binding the contract method 0x81bad6f3. -// -// Solidity: function expectEmit(bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData, address emitter) returns() -func (_Vm *VmTransactorSession) ExpectEmit1(checkTopic1 bool, checkTopic2 bool, checkTopic3 bool, checkData bool, emitter common.Address) (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit1(&_Vm.TransactOpts, checkTopic1, checkTopic2, checkTopic3, checkData, emitter) -} - -// ExpectEmit2 is a paid mutator transaction binding the contract method 0x86b9620d. -// -// Solidity: function expectEmit(address emitter) returns() -func (_Vm *VmTransactor) ExpectEmit2(opts *bind.TransactOpts, emitter common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectEmit2", emitter) -} - -// ExpectEmit2 is a paid mutator transaction binding the contract method 0x86b9620d. -// -// Solidity: function expectEmit(address emitter) returns() -func (_Vm *VmSession) ExpectEmit2(emitter common.Address) (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit2(&_Vm.TransactOpts, emitter) -} - -// ExpectEmit2 is a paid mutator transaction binding the contract method 0x86b9620d. -// -// Solidity: function expectEmit(address emitter) returns() -func (_Vm *VmTransactorSession) ExpectEmit2(emitter common.Address) (*types.Transaction, error) { - return _Vm.Contract.ExpectEmit2(&_Vm.TransactOpts, emitter) -} - -// ExpectRevert is a paid mutator transaction binding the contract method 0xc31eb0e0. -// -// Solidity: function expectRevert(bytes4 revertData) returns() -func (_Vm *VmTransactor) ExpectRevert(opts *bind.TransactOpts, revertData [4]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectRevert", revertData) -} - -// ExpectRevert is a paid mutator transaction binding the contract method 0xc31eb0e0. -// -// Solidity: function expectRevert(bytes4 revertData) returns() -func (_Vm *VmSession) ExpectRevert(revertData [4]byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectRevert(&_Vm.TransactOpts, revertData) -} - -// ExpectRevert is a paid mutator transaction binding the contract method 0xc31eb0e0. -// -// Solidity: function expectRevert(bytes4 revertData) returns() -func (_Vm *VmTransactorSession) ExpectRevert(revertData [4]byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectRevert(&_Vm.TransactOpts, revertData) -} - -// ExpectRevert0 is a paid mutator transaction binding the contract method 0xf28dceb3. -// -// Solidity: function expectRevert(bytes revertData) returns() -func (_Vm *VmTransactor) ExpectRevert0(opts *bind.TransactOpts, revertData []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectRevert0", revertData) -} - -// ExpectRevert0 is a paid mutator transaction binding the contract method 0xf28dceb3. -// -// Solidity: function expectRevert(bytes revertData) returns() -func (_Vm *VmSession) ExpectRevert0(revertData []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectRevert0(&_Vm.TransactOpts, revertData) -} - -// ExpectRevert0 is a paid mutator transaction binding the contract method 0xf28dceb3. -// -// Solidity: function expectRevert(bytes revertData) returns() -func (_Vm *VmTransactorSession) ExpectRevert0(revertData []byte) (*types.Transaction, error) { - return _Vm.Contract.ExpectRevert0(&_Vm.TransactOpts, revertData) -} - -// ExpectRevert1 is a paid mutator transaction binding the contract method 0xf4844814. -// -// Solidity: function expectRevert() returns() -func (_Vm *VmTransactor) ExpectRevert1(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectRevert1") -} - -// ExpectRevert1 is a paid mutator transaction binding the contract method 0xf4844814. -// -// Solidity: function expectRevert() returns() -func (_Vm *VmSession) ExpectRevert1() (*types.Transaction, error) { - return _Vm.Contract.ExpectRevert1(&_Vm.TransactOpts) -} - -// ExpectRevert1 is a paid mutator transaction binding the contract method 0xf4844814. -// -// Solidity: function expectRevert() returns() -func (_Vm *VmTransactorSession) ExpectRevert1() (*types.Transaction, error) { - return _Vm.Contract.ExpectRevert1(&_Vm.TransactOpts) -} - -// ExpectSafeMemory is a paid mutator transaction binding the contract method 0x6d016688. -// -// Solidity: function expectSafeMemory(uint64 min, uint64 max) returns() -func (_Vm *VmTransactor) ExpectSafeMemory(opts *bind.TransactOpts, min uint64, max uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectSafeMemory", min, max) -} - -// ExpectSafeMemory is a paid mutator transaction binding the contract method 0x6d016688. -// -// Solidity: function expectSafeMemory(uint64 min, uint64 max) returns() -func (_Vm *VmSession) ExpectSafeMemory(min uint64, max uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectSafeMemory(&_Vm.TransactOpts, min, max) -} - -// ExpectSafeMemory is a paid mutator transaction binding the contract method 0x6d016688. -// -// Solidity: function expectSafeMemory(uint64 min, uint64 max) returns() -func (_Vm *VmTransactorSession) ExpectSafeMemory(min uint64, max uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectSafeMemory(&_Vm.TransactOpts, min, max) -} - -// ExpectSafeMemoryCall is a paid mutator transaction binding the contract method 0x05838bf4. -// -// Solidity: function expectSafeMemoryCall(uint64 min, uint64 max) returns() -func (_Vm *VmTransactor) ExpectSafeMemoryCall(opts *bind.TransactOpts, min uint64, max uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "expectSafeMemoryCall", min, max) -} - -// ExpectSafeMemoryCall is a paid mutator transaction binding the contract method 0x05838bf4. -// -// Solidity: function expectSafeMemoryCall(uint64 min, uint64 max) returns() -func (_Vm *VmSession) ExpectSafeMemoryCall(min uint64, max uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectSafeMemoryCall(&_Vm.TransactOpts, min, max) -} - -// ExpectSafeMemoryCall is a paid mutator transaction binding the contract method 0x05838bf4. -// -// Solidity: function expectSafeMemoryCall(uint64 min, uint64 max) returns() -func (_Vm *VmTransactorSession) ExpectSafeMemoryCall(min uint64, max uint64) (*types.Transaction, error) { - return _Vm.Contract.ExpectSafeMemoryCall(&_Vm.TransactOpts, min, max) -} - -// Fee is a paid mutator transaction binding the contract method 0x39b37ab0. -// -// Solidity: function fee(uint256 newBasefee) returns() -func (_Vm *VmTransactor) Fee(opts *bind.TransactOpts, newBasefee *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "fee", newBasefee) -} - -// Fee is a paid mutator transaction binding the contract method 0x39b37ab0. -// -// Solidity: function fee(uint256 newBasefee) returns() -func (_Vm *VmSession) Fee(newBasefee *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Fee(&_Vm.TransactOpts, newBasefee) -} - -// Fee is a paid mutator transaction binding the contract method 0x39b37ab0. -// -// Solidity: function fee(uint256 newBasefee) returns() -func (_Vm *VmTransactorSession) Fee(newBasefee *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Fee(&_Vm.TransactOpts, newBasefee) -} - -// Ffi is a paid mutator transaction binding the contract method 0x89160467. -// -// Solidity: function ffi(string[] commandInput) returns(bytes result) -func (_Vm *VmTransactor) Ffi(opts *bind.TransactOpts, commandInput []string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "ffi", commandInput) -} - -// Ffi is a paid mutator transaction binding the contract method 0x89160467. -// -// Solidity: function ffi(string[] commandInput) returns(bytes result) -func (_Vm *VmSession) Ffi(commandInput []string) (*types.Transaction, error) { - return _Vm.Contract.Ffi(&_Vm.TransactOpts, commandInput) -} - -// Ffi is a paid mutator transaction binding the contract method 0x89160467. -// -// Solidity: function ffi(string[] commandInput) returns(bytes result) -func (_Vm *VmTransactorSession) Ffi(commandInput []string) (*types.Transaction, error) { - return _Vm.Contract.Ffi(&_Vm.TransactOpts, commandInput) -} - -// GetMappingKeyAndParentOf is a paid mutator transaction binding the contract method 0x876e24e6. -// -// Solidity: function getMappingKeyAndParentOf(address target, bytes32 elementSlot) returns(bool found, bytes32 key, bytes32 parent) -func (_Vm *VmTransactor) GetMappingKeyAndParentOf(opts *bind.TransactOpts, target common.Address, elementSlot [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "getMappingKeyAndParentOf", target, elementSlot) -} - -// GetMappingKeyAndParentOf is a paid mutator transaction binding the contract method 0x876e24e6. -// -// Solidity: function getMappingKeyAndParentOf(address target, bytes32 elementSlot) returns(bool found, bytes32 key, bytes32 parent) -func (_Vm *VmSession) GetMappingKeyAndParentOf(target common.Address, elementSlot [32]byte) (*types.Transaction, error) { - return _Vm.Contract.GetMappingKeyAndParentOf(&_Vm.TransactOpts, target, elementSlot) -} - -// GetMappingKeyAndParentOf is a paid mutator transaction binding the contract method 0x876e24e6. -// -// Solidity: function getMappingKeyAndParentOf(address target, bytes32 elementSlot) returns(bool found, bytes32 key, bytes32 parent) -func (_Vm *VmTransactorSession) GetMappingKeyAndParentOf(target common.Address, elementSlot [32]byte) (*types.Transaction, error) { - return _Vm.Contract.GetMappingKeyAndParentOf(&_Vm.TransactOpts, target, elementSlot) -} - -// GetMappingLength is a paid mutator transaction binding the contract method 0x2f2fd63f. -// -// Solidity: function getMappingLength(address target, bytes32 mappingSlot) returns(uint256 length) -func (_Vm *VmTransactor) GetMappingLength(opts *bind.TransactOpts, target common.Address, mappingSlot [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "getMappingLength", target, mappingSlot) -} - -// GetMappingLength is a paid mutator transaction binding the contract method 0x2f2fd63f. -// -// Solidity: function getMappingLength(address target, bytes32 mappingSlot) returns(uint256 length) -func (_Vm *VmSession) GetMappingLength(target common.Address, mappingSlot [32]byte) (*types.Transaction, error) { - return _Vm.Contract.GetMappingLength(&_Vm.TransactOpts, target, mappingSlot) -} - -// GetMappingLength is a paid mutator transaction binding the contract method 0x2f2fd63f. -// -// Solidity: function getMappingLength(address target, bytes32 mappingSlot) returns(uint256 length) -func (_Vm *VmTransactorSession) GetMappingLength(target common.Address, mappingSlot [32]byte) (*types.Transaction, error) { - return _Vm.Contract.GetMappingLength(&_Vm.TransactOpts, target, mappingSlot) -} - -// GetMappingSlotAt is a paid mutator transaction binding the contract method 0xebc73ab4. -// -// Solidity: function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) returns(bytes32 value) -func (_Vm *VmTransactor) GetMappingSlotAt(opts *bind.TransactOpts, target common.Address, mappingSlot [32]byte, idx *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "getMappingSlotAt", target, mappingSlot, idx) -} - -// GetMappingSlotAt is a paid mutator transaction binding the contract method 0xebc73ab4. -// -// Solidity: function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) returns(bytes32 value) -func (_Vm *VmSession) GetMappingSlotAt(target common.Address, mappingSlot [32]byte, idx *big.Int) (*types.Transaction, error) { - return _Vm.Contract.GetMappingSlotAt(&_Vm.TransactOpts, target, mappingSlot, idx) -} - -// GetMappingSlotAt is a paid mutator transaction binding the contract method 0xebc73ab4. -// -// Solidity: function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) returns(bytes32 value) -func (_Vm *VmTransactorSession) GetMappingSlotAt(target common.Address, mappingSlot [32]byte, idx *big.Int) (*types.Transaction, error) { - return _Vm.Contract.GetMappingSlotAt(&_Vm.TransactOpts, target, mappingSlot, idx) -} - -// GetNonce0 is a paid mutator transaction binding the contract method 0xa5748aad. -// -// Solidity: function getNonce((address,uint256,uint256,uint256) wallet) returns(uint64 nonce) -func (_Vm *VmTransactor) GetNonce0(opts *bind.TransactOpts, wallet VmSafeWallet) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "getNonce0", wallet) -} - -// GetNonce0 is a paid mutator transaction binding the contract method 0xa5748aad. -// -// Solidity: function getNonce((address,uint256,uint256,uint256) wallet) returns(uint64 nonce) -func (_Vm *VmSession) GetNonce0(wallet VmSafeWallet) (*types.Transaction, error) { - return _Vm.Contract.GetNonce0(&_Vm.TransactOpts, wallet) -} - -// GetNonce0 is a paid mutator transaction binding the contract method 0xa5748aad. -// -// Solidity: function getNonce((address,uint256,uint256,uint256) wallet) returns(uint64 nonce) -func (_Vm *VmTransactorSession) GetNonce0(wallet VmSafeWallet) (*types.Transaction, error) { - return _Vm.Contract.GetNonce0(&_Vm.TransactOpts, wallet) -} - -// GetRecordedLogs is a paid mutator transaction binding the contract method 0x191553a4. -// -// Solidity: function getRecordedLogs() returns((bytes32[],bytes,address)[] logs) -func (_Vm *VmTransactor) GetRecordedLogs(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "getRecordedLogs") -} - -// GetRecordedLogs is a paid mutator transaction binding the contract method 0x191553a4. -// -// Solidity: function getRecordedLogs() returns((bytes32[],bytes,address)[] logs) -func (_Vm *VmSession) GetRecordedLogs() (*types.Transaction, error) { - return _Vm.Contract.GetRecordedLogs(&_Vm.TransactOpts) -} - -// GetRecordedLogs is a paid mutator transaction binding the contract method 0x191553a4. -// -// Solidity: function getRecordedLogs() returns((bytes32[],bytes,address)[] logs) -func (_Vm *VmTransactorSession) GetRecordedLogs() (*types.Transaction, error) { - return _Vm.Contract.GetRecordedLogs(&_Vm.TransactOpts) -} - -// IsDir is a paid mutator transaction binding the contract method 0x7d15d019. -// -// Solidity: function isDir(string path) returns(bool result) -func (_Vm *VmTransactor) IsDir(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "isDir", path) -} - -// IsDir is a paid mutator transaction binding the contract method 0x7d15d019. -// -// Solidity: function isDir(string path) returns(bool result) -func (_Vm *VmSession) IsDir(path string) (*types.Transaction, error) { - return _Vm.Contract.IsDir(&_Vm.TransactOpts, path) -} - -// IsDir is a paid mutator transaction binding the contract method 0x7d15d019. -// -// Solidity: function isDir(string path) returns(bool result) -func (_Vm *VmTransactorSession) IsDir(path string) (*types.Transaction, error) { - return _Vm.Contract.IsDir(&_Vm.TransactOpts, path) -} - -// IsFile is a paid mutator transaction binding the contract method 0xe0eb04d4. -// -// Solidity: function isFile(string path) returns(bool result) -func (_Vm *VmTransactor) IsFile(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "isFile", path) -} - -// IsFile is a paid mutator transaction binding the contract method 0xe0eb04d4. -// -// Solidity: function isFile(string path) returns(bool result) -func (_Vm *VmSession) IsFile(path string) (*types.Transaction, error) { - return _Vm.Contract.IsFile(&_Vm.TransactOpts, path) -} - -// IsFile is a paid mutator transaction binding the contract method 0xe0eb04d4. -// -// Solidity: function isFile(string path) returns(bool result) -func (_Vm *VmTransactorSession) IsFile(path string) (*types.Transaction, error) { - return _Vm.Contract.IsFile(&_Vm.TransactOpts, path) -} - -// Label is a paid mutator transaction binding the contract method 0xc657c718. -// -// Solidity: function label(address account, string newLabel) returns() -func (_Vm *VmTransactor) Label(opts *bind.TransactOpts, account common.Address, newLabel string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "label", account, newLabel) -} - -// Label is a paid mutator transaction binding the contract method 0xc657c718. -// -// Solidity: function label(address account, string newLabel) returns() -func (_Vm *VmSession) Label(account common.Address, newLabel string) (*types.Transaction, error) { - return _Vm.Contract.Label(&_Vm.TransactOpts, account, newLabel) -} - -// Label is a paid mutator transaction binding the contract method 0xc657c718. -// -// Solidity: function label(address account, string newLabel) returns() -func (_Vm *VmTransactorSession) Label(account common.Address, newLabel string) (*types.Transaction, error) { - return _Vm.Contract.Label(&_Vm.TransactOpts, account, newLabel) -} - -// LoadAllocs is a paid mutator transaction binding the contract method 0xb3a056d7. -// -// Solidity: function loadAllocs(string pathToAllocsJson) returns() -func (_Vm *VmTransactor) LoadAllocs(opts *bind.TransactOpts, pathToAllocsJson string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "loadAllocs", pathToAllocsJson) -} - -// LoadAllocs is a paid mutator transaction binding the contract method 0xb3a056d7. -// -// Solidity: function loadAllocs(string pathToAllocsJson) returns() -func (_Vm *VmSession) LoadAllocs(pathToAllocsJson string) (*types.Transaction, error) { - return _Vm.Contract.LoadAllocs(&_Vm.TransactOpts, pathToAllocsJson) -} - -// LoadAllocs is a paid mutator transaction binding the contract method 0xb3a056d7. -// -// Solidity: function loadAllocs(string pathToAllocsJson) returns() -func (_Vm *VmTransactorSession) LoadAllocs(pathToAllocsJson string) (*types.Transaction, error) { - return _Vm.Contract.LoadAllocs(&_Vm.TransactOpts, pathToAllocsJson) -} - -// MakePersistent is a paid mutator transaction binding the contract method 0x1d9e269e. -// -// Solidity: function makePersistent(address[] accounts) returns() -func (_Vm *VmTransactor) MakePersistent(opts *bind.TransactOpts, accounts []common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "makePersistent", accounts) -} - -// MakePersistent is a paid mutator transaction binding the contract method 0x1d9e269e. -// -// Solidity: function makePersistent(address[] accounts) returns() -func (_Vm *VmSession) MakePersistent(accounts []common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent(&_Vm.TransactOpts, accounts) -} - -// MakePersistent is a paid mutator transaction binding the contract method 0x1d9e269e. -// -// Solidity: function makePersistent(address[] accounts) returns() -func (_Vm *VmTransactorSession) MakePersistent(accounts []common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent(&_Vm.TransactOpts, accounts) -} - -// MakePersistent0 is a paid mutator transaction binding the contract method 0x4074e0a8. -// -// Solidity: function makePersistent(address account0, address account1) returns() -func (_Vm *VmTransactor) MakePersistent0(opts *bind.TransactOpts, account0 common.Address, account1 common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "makePersistent0", account0, account1) -} - -// MakePersistent0 is a paid mutator transaction binding the contract method 0x4074e0a8. -// -// Solidity: function makePersistent(address account0, address account1) returns() -func (_Vm *VmSession) MakePersistent0(account0 common.Address, account1 common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent0(&_Vm.TransactOpts, account0, account1) -} - -// MakePersistent0 is a paid mutator transaction binding the contract method 0x4074e0a8. -// -// Solidity: function makePersistent(address account0, address account1) returns() -func (_Vm *VmTransactorSession) MakePersistent0(account0 common.Address, account1 common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent0(&_Vm.TransactOpts, account0, account1) -} - -// MakePersistent1 is a paid mutator transaction binding the contract method 0x57e22dde. -// -// Solidity: function makePersistent(address account) returns() -func (_Vm *VmTransactor) MakePersistent1(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "makePersistent1", account) -} - -// MakePersistent1 is a paid mutator transaction binding the contract method 0x57e22dde. -// -// Solidity: function makePersistent(address account) returns() -func (_Vm *VmSession) MakePersistent1(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent1(&_Vm.TransactOpts, account) -} - -// MakePersistent1 is a paid mutator transaction binding the contract method 0x57e22dde. -// -// Solidity: function makePersistent(address account) returns() -func (_Vm *VmTransactorSession) MakePersistent1(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent1(&_Vm.TransactOpts, account) -} - -// MakePersistent2 is a paid mutator transaction binding the contract method 0xefb77a75. -// -// Solidity: function makePersistent(address account0, address account1, address account2) returns() -func (_Vm *VmTransactor) MakePersistent2(opts *bind.TransactOpts, account0 common.Address, account1 common.Address, account2 common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "makePersistent2", account0, account1, account2) -} - -// MakePersistent2 is a paid mutator transaction binding the contract method 0xefb77a75. -// -// Solidity: function makePersistent(address account0, address account1, address account2) returns() -func (_Vm *VmSession) MakePersistent2(account0 common.Address, account1 common.Address, account2 common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent2(&_Vm.TransactOpts, account0, account1, account2) -} - -// MakePersistent2 is a paid mutator transaction binding the contract method 0xefb77a75. -// -// Solidity: function makePersistent(address account0, address account1, address account2) returns() -func (_Vm *VmTransactorSession) MakePersistent2(account0 common.Address, account1 common.Address, account2 common.Address) (*types.Transaction, error) { - return _Vm.Contract.MakePersistent2(&_Vm.TransactOpts, account0, account1, account2) -} - -// MockCall is a paid mutator transaction binding the contract method 0x81409b91. -// -// Solidity: function mockCall(address callee, uint256 msgValue, bytes data, bytes returnData) returns() -func (_Vm *VmTransactor) MockCall(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, data []byte, returnData []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "mockCall", callee, msgValue, data, returnData) -} - -// MockCall is a paid mutator transaction binding the contract method 0x81409b91. -// -// Solidity: function mockCall(address callee, uint256 msgValue, bytes data, bytes returnData) returns() -func (_Vm *VmSession) MockCall(callee common.Address, msgValue *big.Int, data []byte, returnData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCall(&_Vm.TransactOpts, callee, msgValue, data, returnData) -} - -// MockCall is a paid mutator transaction binding the contract method 0x81409b91. -// -// Solidity: function mockCall(address callee, uint256 msgValue, bytes data, bytes returnData) returns() -func (_Vm *VmTransactorSession) MockCall(callee common.Address, msgValue *big.Int, data []byte, returnData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCall(&_Vm.TransactOpts, callee, msgValue, data, returnData) -} - -// MockCall0 is a paid mutator transaction binding the contract method 0xb96213e4. -// -// Solidity: function mockCall(address callee, bytes data, bytes returnData) returns() -func (_Vm *VmTransactor) MockCall0(opts *bind.TransactOpts, callee common.Address, data []byte, returnData []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "mockCall0", callee, data, returnData) -} - -// MockCall0 is a paid mutator transaction binding the contract method 0xb96213e4. -// -// Solidity: function mockCall(address callee, bytes data, bytes returnData) returns() -func (_Vm *VmSession) MockCall0(callee common.Address, data []byte, returnData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCall0(&_Vm.TransactOpts, callee, data, returnData) -} - -// MockCall0 is a paid mutator transaction binding the contract method 0xb96213e4. -// -// Solidity: function mockCall(address callee, bytes data, bytes returnData) returns() -func (_Vm *VmTransactorSession) MockCall0(callee common.Address, data []byte, returnData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCall0(&_Vm.TransactOpts, callee, data, returnData) -} - -// MockCallRevert is a paid mutator transaction binding the contract method 0xd23cd037. -// -// Solidity: function mockCallRevert(address callee, uint256 msgValue, bytes data, bytes revertData) returns() -func (_Vm *VmTransactor) MockCallRevert(opts *bind.TransactOpts, callee common.Address, msgValue *big.Int, data []byte, revertData []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "mockCallRevert", callee, msgValue, data, revertData) -} - -// MockCallRevert is a paid mutator transaction binding the contract method 0xd23cd037. -// -// Solidity: function mockCallRevert(address callee, uint256 msgValue, bytes data, bytes revertData) returns() -func (_Vm *VmSession) MockCallRevert(callee common.Address, msgValue *big.Int, data []byte, revertData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCallRevert(&_Vm.TransactOpts, callee, msgValue, data, revertData) -} - -// MockCallRevert is a paid mutator transaction binding the contract method 0xd23cd037. -// -// Solidity: function mockCallRevert(address callee, uint256 msgValue, bytes data, bytes revertData) returns() -func (_Vm *VmTransactorSession) MockCallRevert(callee common.Address, msgValue *big.Int, data []byte, revertData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCallRevert(&_Vm.TransactOpts, callee, msgValue, data, revertData) -} - -// MockCallRevert0 is a paid mutator transaction binding the contract method 0xdbaad147. -// -// Solidity: function mockCallRevert(address callee, bytes data, bytes revertData) returns() -func (_Vm *VmTransactor) MockCallRevert0(opts *bind.TransactOpts, callee common.Address, data []byte, revertData []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "mockCallRevert0", callee, data, revertData) -} - -// MockCallRevert0 is a paid mutator transaction binding the contract method 0xdbaad147. -// -// Solidity: function mockCallRevert(address callee, bytes data, bytes revertData) returns() -func (_Vm *VmSession) MockCallRevert0(callee common.Address, data []byte, revertData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCallRevert0(&_Vm.TransactOpts, callee, data, revertData) -} - -// MockCallRevert0 is a paid mutator transaction binding the contract method 0xdbaad147. -// -// Solidity: function mockCallRevert(address callee, bytes data, bytes revertData) returns() -func (_Vm *VmTransactorSession) MockCallRevert0(callee common.Address, data []byte, revertData []byte) (*types.Transaction, error) { - return _Vm.Contract.MockCallRevert0(&_Vm.TransactOpts, callee, data, revertData) -} - -// PauseGasMetering is a paid mutator transaction binding the contract method 0xd1a5b36f. -// -// Solidity: function pauseGasMetering() returns() -func (_Vm *VmTransactor) PauseGasMetering(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "pauseGasMetering") -} - -// PauseGasMetering is a paid mutator transaction binding the contract method 0xd1a5b36f. -// -// Solidity: function pauseGasMetering() returns() -func (_Vm *VmSession) PauseGasMetering() (*types.Transaction, error) { - return _Vm.Contract.PauseGasMetering(&_Vm.TransactOpts) -} - -// PauseGasMetering is a paid mutator transaction binding the contract method 0xd1a5b36f. -// -// Solidity: function pauseGasMetering() returns() -func (_Vm *VmTransactorSession) PauseGasMetering() (*types.Transaction, error) { - return _Vm.Contract.PauseGasMetering(&_Vm.TransactOpts) -} - -// Prank is a paid mutator transaction binding the contract method 0x47e50cce. -// -// Solidity: function prank(address msgSender, address txOrigin) returns() -func (_Vm *VmTransactor) Prank(opts *bind.TransactOpts, msgSender common.Address, txOrigin common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "prank", msgSender, txOrigin) -} - -// Prank is a paid mutator transaction binding the contract method 0x47e50cce. -// -// Solidity: function prank(address msgSender, address txOrigin) returns() -func (_Vm *VmSession) Prank(msgSender common.Address, txOrigin common.Address) (*types.Transaction, error) { - return _Vm.Contract.Prank(&_Vm.TransactOpts, msgSender, txOrigin) -} - -// Prank is a paid mutator transaction binding the contract method 0x47e50cce. -// -// Solidity: function prank(address msgSender, address txOrigin) returns() -func (_Vm *VmTransactorSession) Prank(msgSender common.Address, txOrigin common.Address) (*types.Transaction, error) { - return _Vm.Contract.Prank(&_Vm.TransactOpts, msgSender, txOrigin) -} - -// Prank0 is a paid mutator transaction binding the contract method 0xca669fa7. -// -// Solidity: function prank(address msgSender) returns() -func (_Vm *VmTransactor) Prank0(opts *bind.TransactOpts, msgSender common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "prank0", msgSender) -} - -// Prank0 is a paid mutator transaction binding the contract method 0xca669fa7. -// -// Solidity: function prank(address msgSender) returns() -func (_Vm *VmSession) Prank0(msgSender common.Address) (*types.Transaction, error) { - return _Vm.Contract.Prank0(&_Vm.TransactOpts, msgSender) -} - -// Prank0 is a paid mutator transaction binding the contract method 0xca669fa7. -// -// Solidity: function prank(address msgSender) returns() -func (_Vm *VmTransactorSession) Prank0(msgSender common.Address) (*types.Transaction, error) { - return _Vm.Contract.Prank0(&_Vm.TransactOpts, msgSender) -} - -// Prevrandao is a paid mutator transaction binding the contract method 0x3b925549. -// -// Solidity: function prevrandao(bytes32 newPrevrandao) returns() -func (_Vm *VmTransactor) Prevrandao(opts *bind.TransactOpts, newPrevrandao [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "prevrandao", newPrevrandao) -} - -// Prevrandao is a paid mutator transaction binding the contract method 0x3b925549. -// -// Solidity: function prevrandao(bytes32 newPrevrandao) returns() -func (_Vm *VmSession) Prevrandao(newPrevrandao [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Prevrandao(&_Vm.TransactOpts, newPrevrandao) -} - -// Prevrandao is a paid mutator transaction binding the contract method 0x3b925549. -// -// Solidity: function prevrandao(bytes32 newPrevrandao) returns() -func (_Vm *VmTransactorSession) Prevrandao(newPrevrandao [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Prevrandao(&_Vm.TransactOpts, newPrevrandao) -} - -// Prevrandao0 is a paid mutator transaction binding the contract method 0x9cb1c0d4. -// -// Solidity: function prevrandao(uint256 newPrevrandao) returns() -func (_Vm *VmTransactor) Prevrandao0(opts *bind.TransactOpts, newPrevrandao *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "prevrandao0", newPrevrandao) -} - -// Prevrandao0 is a paid mutator transaction binding the contract method 0x9cb1c0d4. -// -// Solidity: function prevrandao(uint256 newPrevrandao) returns() -func (_Vm *VmSession) Prevrandao0(newPrevrandao *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Prevrandao0(&_Vm.TransactOpts, newPrevrandao) -} - -// Prevrandao0 is a paid mutator transaction binding the contract method 0x9cb1c0d4. -// -// Solidity: function prevrandao(uint256 newPrevrandao) returns() -func (_Vm *VmTransactorSession) Prevrandao0(newPrevrandao *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Prevrandao0(&_Vm.TransactOpts, newPrevrandao) -} - -// Prompt is a paid mutator transaction binding the contract method 0x47eaf474. -// -// Solidity: function prompt(string promptText) returns(string input) -func (_Vm *VmTransactor) Prompt(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "prompt", promptText) -} - -// Prompt is a paid mutator transaction binding the contract method 0x47eaf474. -// -// Solidity: function prompt(string promptText) returns(string input) -func (_Vm *VmSession) Prompt(promptText string) (*types.Transaction, error) { - return _Vm.Contract.Prompt(&_Vm.TransactOpts, promptText) -} - -// Prompt is a paid mutator transaction binding the contract method 0x47eaf474. -// -// Solidity: function prompt(string promptText) returns(string input) -func (_Vm *VmTransactorSession) Prompt(promptText string) (*types.Transaction, error) { - return _Vm.Contract.Prompt(&_Vm.TransactOpts, promptText) -} - -// PromptAddress is a paid mutator transaction binding the contract method 0x62ee05f4. -// -// Solidity: function promptAddress(string promptText) returns(address) -func (_Vm *VmTransactor) PromptAddress(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "promptAddress", promptText) -} - -// PromptAddress is a paid mutator transaction binding the contract method 0x62ee05f4. -// -// Solidity: function promptAddress(string promptText) returns(address) -func (_Vm *VmSession) PromptAddress(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptAddress(&_Vm.TransactOpts, promptText) -} - -// PromptAddress is a paid mutator transaction binding the contract method 0x62ee05f4. -// -// Solidity: function promptAddress(string promptText) returns(address) -func (_Vm *VmTransactorSession) PromptAddress(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptAddress(&_Vm.TransactOpts, promptText) -} - -// PromptSecret is a paid mutator transaction binding the contract method 0x1e279d41. -// -// Solidity: function promptSecret(string promptText) returns(string input) -func (_Vm *VmTransactor) PromptSecret(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "promptSecret", promptText) -} - -// PromptSecret is a paid mutator transaction binding the contract method 0x1e279d41. -// -// Solidity: function promptSecret(string promptText) returns(string input) -func (_Vm *VmSession) PromptSecret(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptSecret(&_Vm.TransactOpts, promptText) -} - -// PromptSecret is a paid mutator transaction binding the contract method 0x1e279d41. -// -// Solidity: function promptSecret(string promptText) returns(string input) -func (_Vm *VmTransactorSession) PromptSecret(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptSecret(&_Vm.TransactOpts, promptText) -} - -// PromptSecretUint is a paid mutator transaction binding the contract method 0x69ca02b7. -// -// Solidity: function promptSecretUint(string promptText) returns(uint256) -func (_Vm *VmTransactor) PromptSecretUint(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "promptSecretUint", promptText) -} - -// PromptSecretUint is a paid mutator transaction binding the contract method 0x69ca02b7. -// -// Solidity: function promptSecretUint(string promptText) returns(uint256) -func (_Vm *VmSession) PromptSecretUint(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptSecretUint(&_Vm.TransactOpts, promptText) -} - -// PromptSecretUint is a paid mutator transaction binding the contract method 0x69ca02b7. -// -// Solidity: function promptSecretUint(string promptText) returns(uint256) -func (_Vm *VmTransactorSession) PromptSecretUint(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptSecretUint(&_Vm.TransactOpts, promptText) -} - -// PromptUint is a paid mutator transaction binding the contract method 0x652fd489. -// -// Solidity: function promptUint(string promptText) returns(uint256) -func (_Vm *VmTransactor) PromptUint(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "promptUint", promptText) -} - -// PromptUint is a paid mutator transaction binding the contract method 0x652fd489. -// -// Solidity: function promptUint(string promptText) returns(uint256) -func (_Vm *VmSession) PromptUint(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptUint(&_Vm.TransactOpts, promptText) -} - -// PromptUint is a paid mutator transaction binding the contract method 0x652fd489. -// -// Solidity: function promptUint(string promptText) returns(uint256) -func (_Vm *VmTransactorSession) PromptUint(promptText string) (*types.Transaction, error) { - return _Vm.Contract.PromptUint(&_Vm.TransactOpts, promptText) -} - -// RandomAddress is a paid mutator transaction binding the contract method 0xd5bee9f5. -// -// Solidity: function randomAddress() returns(address) -func (_Vm *VmTransactor) RandomAddress(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "randomAddress") -} - -// RandomAddress is a paid mutator transaction binding the contract method 0xd5bee9f5. -// -// Solidity: function randomAddress() returns(address) -func (_Vm *VmSession) RandomAddress() (*types.Transaction, error) { - return _Vm.Contract.RandomAddress(&_Vm.TransactOpts) -} - -// RandomAddress is a paid mutator transaction binding the contract method 0xd5bee9f5. -// -// Solidity: function randomAddress() returns(address) -func (_Vm *VmTransactorSession) RandomAddress() (*types.Transaction, error) { - return _Vm.Contract.RandomAddress(&_Vm.TransactOpts) -} - -// RandomUint is a paid mutator transaction binding the contract method 0x25124730. -// -// Solidity: function randomUint() returns(uint256) -func (_Vm *VmTransactor) RandomUint(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "randomUint") -} - -// RandomUint is a paid mutator transaction binding the contract method 0x25124730. -// -// Solidity: function randomUint() returns(uint256) -func (_Vm *VmSession) RandomUint() (*types.Transaction, error) { - return _Vm.Contract.RandomUint(&_Vm.TransactOpts) -} - -// RandomUint is a paid mutator transaction binding the contract method 0x25124730. -// -// Solidity: function randomUint() returns(uint256) -func (_Vm *VmTransactorSession) RandomUint() (*types.Transaction, error) { - return _Vm.Contract.RandomUint(&_Vm.TransactOpts) -} - -// RandomUint0 is a paid mutator transaction binding the contract method 0xd61b051b. -// -// Solidity: function randomUint(uint256 min, uint256 max) returns(uint256) -func (_Vm *VmTransactor) RandomUint0(opts *bind.TransactOpts, min *big.Int, max *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "randomUint0", min, max) -} - -// RandomUint0 is a paid mutator transaction binding the contract method 0xd61b051b. -// -// Solidity: function randomUint(uint256 min, uint256 max) returns(uint256) -func (_Vm *VmSession) RandomUint0(min *big.Int, max *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RandomUint0(&_Vm.TransactOpts, min, max) -} - -// RandomUint0 is a paid mutator transaction binding the contract method 0xd61b051b. -// -// Solidity: function randomUint(uint256 min, uint256 max) returns(uint256) -func (_Vm *VmTransactorSession) RandomUint0(min *big.Int, max *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RandomUint0(&_Vm.TransactOpts, min, max) -} - -// ReadCallers is a paid mutator transaction binding the contract method 0x4ad0bac9. -// -// Solidity: function readCallers() returns(uint8 callerMode, address msgSender, address txOrigin) -func (_Vm *VmTransactor) ReadCallers(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "readCallers") -} - -// ReadCallers is a paid mutator transaction binding the contract method 0x4ad0bac9. -// -// Solidity: function readCallers() returns(uint8 callerMode, address msgSender, address txOrigin) -func (_Vm *VmSession) ReadCallers() (*types.Transaction, error) { - return _Vm.Contract.ReadCallers(&_Vm.TransactOpts) -} - -// ReadCallers is a paid mutator transaction binding the contract method 0x4ad0bac9. -// -// Solidity: function readCallers() returns(uint8 callerMode, address msgSender, address txOrigin) -func (_Vm *VmTransactorSession) ReadCallers() (*types.Transaction, error) { - return _Vm.Contract.ReadCallers(&_Vm.TransactOpts) -} - -// Record is a paid mutator transaction binding the contract method 0x266cf109. -// -// Solidity: function record() returns() -func (_Vm *VmTransactor) Record(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "record") -} - -// Record is a paid mutator transaction binding the contract method 0x266cf109. -// -// Solidity: function record() returns() -func (_Vm *VmSession) Record() (*types.Transaction, error) { - return _Vm.Contract.Record(&_Vm.TransactOpts) -} - -// Record is a paid mutator transaction binding the contract method 0x266cf109. -// -// Solidity: function record() returns() -func (_Vm *VmTransactorSession) Record() (*types.Transaction, error) { - return _Vm.Contract.Record(&_Vm.TransactOpts) -} - -// RecordLogs is a paid mutator transaction binding the contract method 0x41af2f52. -// -// Solidity: function recordLogs() returns() -func (_Vm *VmTransactor) RecordLogs(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "recordLogs") -} - -// RecordLogs is a paid mutator transaction binding the contract method 0x41af2f52. -// -// Solidity: function recordLogs() returns() -func (_Vm *VmSession) RecordLogs() (*types.Transaction, error) { - return _Vm.Contract.RecordLogs(&_Vm.TransactOpts) -} - -// RecordLogs is a paid mutator transaction binding the contract method 0x41af2f52. -// -// Solidity: function recordLogs() returns() -func (_Vm *VmTransactorSession) RecordLogs() (*types.Transaction, error) { - return _Vm.Contract.RecordLogs(&_Vm.TransactOpts) -} - -// RememberKey is a paid mutator transaction binding the contract method 0x22100064. -// -// Solidity: function rememberKey(uint256 privateKey) returns(address keyAddr) -func (_Vm *VmTransactor) RememberKey(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "rememberKey", privateKey) -} - -// RememberKey is a paid mutator transaction binding the contract method 0x22100064. -// -// Solidity: function rememberKey(uint256 privateKey) returns(address keyAddr) -func (_Vm *VmSession) RememberKey(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RememberKey(&_Vm.TransactOpts, privateKey) -} - -// RememberKey is a paid mutator transaction binding the contract method 0x22100064. -// -// Solidity: function rememberKey(uint256 privateKey) returns(address keyAddr) -func (_Vm *VmTransactorSession) RememberKey(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RememberKey(&_Vm.TransactOpts, privateKey) -} - -// RemoveDir is a paid mutator transaction binding the contract method 0x45c62011. -// -// Solidity: function removeDir(string path, bool recursive) returns() -func (_Vm *VmTransactor) RemoveDir(opts *bind.TransactOpts, path string, recursive bool) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "removeDir", path, recursive) -} - -// RemoveDir is a paid mutator transaction binding the contract method 0x45c62011. -// -// Solidity: function removeDir(string path, bool recursive) returns() -func (_Vm *VmSession) RemoveDir(path string, recursive bool) (*types.Transaction, error) { - return _Vm.Contract.RemoveDir(&_Vm.TransactOpts, path, recursive) -} - -// RemoveDir is a paid mutator transaction binding the contract method 0x45c62011. -// -// Solidity: function removeDir(string path, bool recursive) returns() -func (_Vm *VmTransactorSession) RemoveDir(path string, recursive bool) (*types.Transaction, error) { - return _Vm.Contract.RemoveDir(&_Vm.TransactOpts, path, recursive) -} - -// RemoveFile is a paid mutator transaction binding the contract method 0xf1afe04d. -// -// Solidity: function removeFile(string path) returns() -func (_Vm *VmTransactor) RemoveFile(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "removeFile", path) -} - -// RemoveFile is a paid mutator transaction binding the contract method 0xf1afe04d. -// -// Solidity: function removeFile(string path) returns() -func (_Vm *VmSession) RemoveFile(path string) (*types.Transaction, error) { - return _Vm.Contract.RemoveFile(&_Vm.TransactOpts, path) -} - -// RemoveFile is a paid mutator transaction binding the contract method 0xf1afe04d. -// -// Solidity: function removeFile(string path) returns() -func (_Vm *VmTransactorSession) RemoveFile(path string) (*types.Transaction, error) { - return _Vm.Contract.RemoveFile(&_Vm.TransactOpts, path) -} - -// ResetNonce is a paid mutator transaction binding the contract method 0x1c72346d. -// -// Solidity: function resetNonce(address account) returns() -func (_Vm *VmTransactor) ResetNonce(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "resetNonce", account) -} - -// ResetNonce is a paid mutator transaction binding the contract method 0x1c72346d. -// -// Solidity: function resetNonce(address account) returns() -func (_Vm *VmSession) ResetNonce(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.ResetNonce(&_Vm.TransactOpts, account) -} - -// ResetNonce is a paid mutator transaction binding the contract method 0x1c72346d. -// -// Solidity: function resetNonce(address account) returns() -func (_Vm *VmTransactorSession) ResetNonce(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.ResetNonce(&_Vm.TransactOpts, account) -} - -// ResumeGasMetering is a paid mutator transaction binding the contract method 0x2bcd50e0. -// -// Solidity: function resumeGasMetering() returns() -func (_Vm *VmTransactor) ResumeGasMetering(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "resumeGasMetering") -} - -// ResumeGasMetering is a paid mutator transaction binding the contract method 0x2bcd50e0. -// -// Solidity: function resumeGasMetering() returns() -func (_Vm *VmSession) ResumeGasMetering() (*types.Transaction, error) { - return _Vm.Contract.ResumeGasMetering(&_Vm.TransactOpts) -} - -// ResumeGasMetering is a paid mutator transaction binding the contract method 0x2bcd50e0. -// -// Solidity: function resumeGasMetering() returns() -func (_Vm *VmTransactorSession) ResumeGasMetering() (*types.Transaction, error) { - return _Vm.Contract.ResumeGasMetering(&_Vm.TransactOpts) -} - -// RevertTo is a paid mutator transaction binding the contract method 0x44d7f0a4. -// -// Solidity: function revertTo(uint256 snapshotId) returns(bool success) -func (_Vm *VmTransactor) RevertTo(opts *bind.TransactOpts, snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "revertTo", snapshotId) -} - -// RevertTo is a paid mutator transaction binding the contract method 0x44d7f0a4. -// -// Solidity: function revertTo(uint256 snapshotId) returns(bool success) -func (_Vm *VmSession) RevertTo(snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RevertTo(&_Vm.TransactOpts, snapshotId) -} - -// RevertTo is a paid mutator transaction binding the contract method 0x44d7f0a4. -// -// Solidity: function revertTo(uint256 snapshotId) returns(bool success) -func (_Vm *VmTransactorSession) RevertTo(snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RevertTo(&_Vm.TransactOpts, snapshotId) -} - -// RevertToAndDelete is a paid mutator transaction binding the contract method 0x03e0aca9. -// -// Solidity: function revertToAndDelete(uint256 snapshotId) returns(bool success) -func (_Vm *VmTransactor) RevertToAndDelete(opts *bind.TransactOpts, snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "revertToAndDelete", snapshotId) -} - -// RevertToAndDelete is a paid mutator transaction binding the contract method 0x03e0aca9. -// -// Solidity: function revertToAndDelete(uint256 snapshotId) returns(bool success) -func (_Vm *VmSession) RevertToAndDelete(snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RevertToAndDelete(&_Vm.TransactOpts, snapshotId) -} - -// RevertToAndDelete is a paid mutator transaction binding the contract method 0x03e0aca9. -// -// Solidity: function revertToAndDelete(uint256 snapshotId) returns(bool success) -func (_Vm *VmTransactorSession) RevertToAndDelete(snapshotId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RevertToAndDelete(&_Vm.TransactOpts, snapshotId) -} - -// RevokePersistent is a paid mutator transaction binding the contract method 0x3ce969e6. -// -// Solidity: function revokePersistent(address[] accounts) returns() -func (_Vm *VmTransactor) RevokePersistent(opts *bind.TransactOpts, accounts []common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "revokePersistent", accounts) -} - -// RevokePersistent is a paid mutator transaction binding the contract method 0x3ce969e6. -// -// Solidity: function revokePersistent(address[] accounts) returns() -func (_Vm *VmSession) RevokePersistent(accounts []common.Address) (*types.Transaction, error) { - return _Vm.Contract.RevokePersistent(&_Vm.TransactOpts, accounts) -} - -// RevokePersistent is a paid mutator transaction binding the contract method 0x3ce969e6. -// -// Solidity: function revokePersistent(address[] accounts) returns() -func (_Vm *VmTransactorSession) RevokePersistent(accounts []common.Address) (*types.Transaction, error) { - return _Vm.Contract.RevokePersistent(&_Vm.TransactOpts, accounts) -} - -// RevokePersistent0 is a paid mutator transaction binding the contract method 0x997a0222. -// -// Solidity: function revokePersistent(address account) returns() -func (_Vm *VmTransactor) RevokePersistent0(opts *bind.TransactOpts, account common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "revokePersistent0", account) -} - -// RevokePersistent0 is a paid mutator transaction binding the contract method 0x997a0222. -// -// Solidity: function revokePersistent(address account) returns() -func (_Vm *VmSession) RevokePersistent0(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.RevokePersistent0(&_Vm.TransactOpts, account) -} - -// RevokePersistent0 is a paid mutator transaction binding the contract method 0x997a0222. -// -// Solidity: function revokePersistent(address account) returns() -func (_Vm *VmTransactorSession) RevokePersistent0(account common.Address) (*types.Transaction, error) { - return _Vm.Contract.RevokePersistent0(&_Vm.TransactOpts, account) -} - -// Roll is a paid mutator transaction binding the contract method 0x1f7b4f30. -// -// Solidity: function roll(uint256 newHeight) returns() -func (_Vm *VmTransactor) Roll(opts *bind.TransactOpts, newHeight *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "roll", newHeight) -} - -// Roll is a paid mutator transaction binding the contract method 0x1f7b4f30. -// -// Solidity: function roll(uint256 newHeight) returns() -func (_Vm *VmSession) Roll(newHeight *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Roll(&_Vm.TransactOpts, newHeight) -} - -// Roll is a paid mutator transaction binding the contract method 0x1f7b4f30. -// -// Solidity: function roll(uint256 newHeight) returns() -func (_Vm *VmTransactorSession) Roll(newHeight *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Roll(&_Vm.TransactOpts, newHeight) -} - -// RollFork is a paid mutator transaction binding the contract method 0x0f29772b. -// -// Solidity: function rollFork(bytes32 txHash) returns() -func (_Vm *VmTransactor) RollFork(opts *bind.TransactOpts, txHash [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "rollFork", txHash) -} - -// RollFork is a paid mutator transaction binding the contract method 0x0f29772b. -// -// Solidity: function rollFork(bytes32 txHash) returns() -func (_Vm *VmSession) RollFork(txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.RollFork(&_Vm.TransactOpts, txHash) -} - -// RollFork is a paid mutator transaction binding the contract method 0x0f29772b. -// -// Solidity: function rollFork(bytes32 txHash) returns() -func (_Vm *VmTransactorSession) RollFork(txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.RollFork(&_Vm.TransactOpts, txHash) -} - -// RollFork0 is a paid mutator transaction binding the contract method 0xd74c83a4. -// -// Solidity: function rollFork(uint256 forkId, uint256 blockNumber) returns() -func (_Vm *VmTransactor) RollFork0(opts *bind.TransactOpts, forkId *big.Int, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "rollFork0", forkId, blockNumber) -} - -// RollFork0 is a paid mutator transaction binding the contract method 0xd74c83a4. -// -// Solidity: function rollFork(uint256 forkId, uint256 blockNumber) returns() -func (_Vm *VmSession) RollFork0(forkId *big.Int, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RollFork0(&_Vm.TransactOpts, forkId, blockNumber) -} - -// RollFork0 is a paid mutator transaction binding the contract method 0xd74c83a4. -// -// Solidity: function rollFork(uint256 forkId, uint256 blockNumber) returns() -func (_Vm *VmTransactorSession) RollFork0(forkId *big.Int, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RollFork0(&_Vm.TransactOpts, forkId, blockNumber) -} - -// RollFork1 is a paid mutator transaction binding the contract method 0xd9bbf3a1. -// -// Solidity: function rollFork(uint256 blockNumber) returns() -func (_Vm *VmTransactor) RollFork1(opts *bind.TransactOpts, blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "rollFork1", blockNumber) -} - -// RollFork1 is a paid mutator transaction binding the contract method 0xd9bbf3a1. -// -// Solidity: function rollFork(uint256 blockNumber) returns() -func (_Vm *VmSession) RollFork1(blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RollFork1(&_Vm.TransactOpts, blockNumber) -} - -// RollFork1 is a paid mutator transaction binding the contract method 0xd9bbf3a1. -// -// Solidity: function rollFork(uint256 blockNumber) returns() -func (_Vm *VmTransactorSession) RollFork1(blockNumber *big.Int) (*types.Transaction, error) { - return _Vm.Contract.RollFork1(&_Vm.TransactOpts, blockNumber) -} - -// RollFork2 is a paid mutator transaction binding the contract method 0xf2830f7b. -// -// Solidity: function rollFork(uint256 forkId, bytes32 txHash) returns() -func (_Vm *VmTransactor) RollFork2(opts *bind.TransactOpts, forkId *big.Int, txHash [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "rollFork2", forkId, txHash) -} - -// RollFork2 is a paid mutator transaction binding the contract method 0xf2830f7b. -// -// Solidity: function rollFork(uint256 forkId, bytes32 txHash) returns() -func (_Vm *VmSession) RollFork2(forkId *big.Int, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.RollFork2(&_Vm.TransactOpts, forkId, txHash) -} - -// RollFork2 is a paid mutator transaction binding the contract method 0xf2830f7b. -// -// Solidity: function rollFork(uint256 forkId, bytes32 txHash) returns() -func (_Vm *VmTransactorSession) RollFork2(forkId *big.Int, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.RollFork2(&_Vm.TransactOpts, forkId, txHash) -} - -// Rpc is a paid mutator transaction binding the contract method 0x1206c8a8. -// -// Solidity: function rpc(string method, string params) returns(bytes data) -func (_Vm *VmTransactor) Rpc(opts *bind.TransactOpts, method string, params string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "rpc", method, params) -} - -// Rpc is a paid mutator transaction binding the contract method 0x1206c8a8. -// -// Solidity: function rpc(string method, string params) returns(bytes data) -func (_Vm *VmSession) Rpc(method string, params string) (*types.Transaction, error) { - return _Vm.Contract.Rpc(&_Vm.TransactOpts, method, params) -} - -// Rpc is a paid mutator transaction binding the contract method 0x1206c8a8. -// -// Solidity: function rpc(string method, string params) returns(bytes data) -func (_Vm *VmTransactorSession) Rpc(method string, params string) (*types.Transaction, error) { - return _Vm.Contract.Rpc(&_Vm.TransactOpts, method, params) -} - -// SelectFork is a paid mutator transaction binding the contract method 0x9ebf6827. -// -// Solidity: function selectFork(uint256 forkId) returns() -func (_Vm *VmTransactor) SelectFork(opts *bind.TransactOpts, forkId *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "selectFork", forkId) -} - -// SelectFork is a paid mutator transaction binding the contract method 0x9ebf6827. -// -// Solidity: function selectFork(uint256 forkId) returns() -func (_Vm *VmSession) SelectFork(forkId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SelectFork(&_Vm.TransactOpts, forkId) -} - -// SelectFork is a paid mutator transaction binding the contract method 0x9ebf6827. -// -// Solidity: function selectFork(uint256 forkId) returns() -func (_Vm *VmTransactorSession) SelectFork(forkId *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SelectFork(&_Vm.TransactOpts, forkId) -} - -// SerializeAddress is a paid mutator transaction binding the contract method 0x1e356e1a. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address[] values) returns(string json) -func (_Vm *VmTransactor) SerializeAddress(opts *bind.TransactOpts, objectKey string, valueKey string, values []common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeAddress", objectKey, valueKey, values) -} - -// SerializeAddress is a paid mutator transaction binding the contract method 0x1e356e1a. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address[] values) returns(string json) -func (_Vm *VmSession) SerializeAddress(objectKey string, valueKey string, values []common.Address) (*types.Transaction, error) { - return _Vm.Contract.SerializeAddress(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeAddress is a paid mutator transaction binding the contract method 0x1e356e1a. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address[] values) returns(string json) -func (_Vm *VmTransactorSession) SerializeAddress(objectKey string, valueKey string, values []common.Address) (*types.Transaction, error) { - return _Vm.Contract.SerializeAddress(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeAddress0 is a paid mutator transaction binding the contract method 0x972c6062. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address value) returns(string json) -func (_Vm *VmTransactor) SerializeAddress0(opts *bind.TransactOpts, objectKey string, valueKey string, value common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeAddress0", objectKey, valueKey, value) -} - -// SerializeAddress0 is a paid mutator transaction binding the contract method 0x972c6062. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address value) returns(string json) -func (_Vm *VmSession) SerializeAddress0(objectKey string, valueKey string, value common.Address) (*types.Transaction, error) { - return _Vm.Contract.SerializeAddress0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeAddress0 is a paid mutator transaction binding the contract method 0x972c6062. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address value) returns(string json) -func (_Vm *VmTransactorSession) SerializeAddress0(objectKey string, valueKey string, value common.Address) (*types.Transaction, error) { - return _Vm.Contract.SerializeAddress0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBool is a paid mutator transaction binding the contract method 0x92925aa1. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool[] values) returns(string json) -func (_Vm *VmTransactor) SerializeBool(opts *bind.TransactOpts, objectKey string, valueKey string, values []bool) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeBool", objectKey, valueKey, values) -} - -// SerializeBool is a paid mutator transaction binding the contract method 0x92925aa1. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool[] values) returns(string json) -func (_Vm *VmSession) SerializeBool(objectKey string, valueKey string, values []bool) (*types.Transaction, error) { - return _Vm.Contract.SerializeBool(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBool is a paid mutator transaction binding the contract method 0x92925aa1. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool[] values) returns(string json) -func (_Vm *VmTransactorSession) SerializeBool(objectKey string, valueKey string, values []bool) (*types.Transaction, error) { - return _Vm.Contract.SerializeBool(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBool0 is a paid mutator transaction binding the contract method 0xac22e971. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool value) returns(string json) -func (_Vm *VmTransactor) SerializeBool0(opts *bind.TransactOpts, objectKey string, valueKey string, value bool) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeBool0", objectKey, valueKey, value) -} - -// SerializeBool0 is a paid mutator transaction binding the contract method 0xac22e971. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool value) returns(string json) -func (_Vm *VmSession) SerializeBool0(objectKey string, valueKey string, value bool) (*types.Transaction, error) { - return _Vm.Contract.SerializeBool0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBool0 is a paid mutator transaction binding the contract method 0xac22e971. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool value) returns(string json) -func (_Vm *VmTransactorSession) SerializeBool0(objectKey string, valueKey string, value bool) (*types.Transaction, error) { - return _Vm.Contract.SerializeBool0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes is a paid mutator transaction binding the contract method 0x9884b232. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes[] values) returns(string json) -func (_Vm *VmTransactor) SerializeBytes(opts *bind.TransactOpts, objectKey string, valueKey string, values [][]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeBytes", objectKey, valueKey, values) -} - -// SerializeBytes is a paid mutator transaction binding the contract method 0x9884b232. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes[] values) returns(string json) -func (_Vm *VmSession) SerializeBytes(objectKey string, valueKey string, values [][]byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes is a paid mutator transaction binding the contract method 0x9884b232. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes[] values) returns(string json) -func (_Vm *VmTransactorSession) SerializeBytes(objectKey string, valueKey string, values [][]byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes0 is a paid mutator transaction binding the contract method 0xf21d52c7. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes value) returns(string json) -func (_Vm *VmTransactor) SerializeBytes0(opts *bind.TransactOpts, objectKey string, valueKey string, value []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeBytes0", objectKey, valueKey, value) -} - -// SerializeBytes0 is a paid mutator transaction binding the contract method 0xf21d52c7. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes value) returns(string json) -func (_Vm *VmSession) SerializeBytes0(objectKey string, valueKey string, value []byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes0 is a paid mutator transaction binding the contract method 0xf21d52c7. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes value) returns(string json) -func (_Vm *VmTransactorSession) SerializeBytes0(objectKey string, valueKey string, value []byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes32 is a paid mutator transaction binding the contract method 0x201e43e2. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32[] values) returns(string json) -func (_Vm *VmTransactor) SerializeBytes32(opts *bind.TransactOpts, objectKey string, valueKey string, values [][32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeBytes32", objectKey, valueKey, values) -} - -// SerializeBytes32 is a paid mutator transaction binding the contract method 0x201e43e2. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32[] values) returns(string json) -func (_Vm *VmSession) SerializeBytes32(objectKey string, valueKey string, values [][32]byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes32(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes32 is a paid mutator transaction binding the contract method 0x201e43e2. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32[] values) returns(string json) -func (_Vm *VmTransactorSession) SerializeBytes32(objectKey string, valueKey string, values [][32]byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes32(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes320 is a paid mutator transaction binding the contract method 0x2d812b44. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32 value) returns(string json) -func (_Vm *VmTransactor) SerializeBytes320(opts *bind.TransactOpts, objectKey string, valueKey string, value [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeBytes320", objectKey, valueKey, value) -} - -// SerializeBytes320 is a paid mutator transaction binding the contract method 0x2d812b44. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32 value) returns(string json) -func (_Vm *VmSession) SerializeBytes320(objectKey string, valueKey string, value [32]byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes320(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes320 is a paid mutator transaction binding the contract method 0x2d812b44. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32 value) returns(string json) -func (_Vm *VmTransactorSession) SerializeBytes320(objectKey string, valueKey string, value [32]byte) (*types.Transaction, error) { - return _Vm.Contract.SerializeBytes320(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeInt is a paid mutator transaction binding the contract method 0x3f33db60. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256 value) returns(string json) -func (_Vm *VmTransactor) SerializeInt(opts *bind.TransactOpts, objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeInt", objectKey, valueKey, value) -} - -// SerializeInt is a paid mutator transaction binding the contract method 0x3f33db60. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256 value) returns(string json) -func (_Vm *VmSession) SerializeInt(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeInt(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeInt is a paid mutator transaction binding the contract method 0x3f33db60. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256 value) returns(string json) -func (_Vm *VmTransactorSession) SerializeInt(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeInt(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeInt0 is a paid mutator transaction binding the contract method 0x7676e127. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256[] values) returns(string json) -func (_Vm *VmTransactor) SerializeInt0(opts *bind.TransactOpts, objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeInt0", objectKey, valueKey, values) -} - -// SerializeInt0 is a paid mutator transaction binding the contract method 0x7676e127. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256[] values) returns(string json) -func (_Vm *VmSession) SerializeInt0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeInt0(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeInt0 is a paid mutator transaction binding the contract method 0x7676e127. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256[] values) returns(string json) -func (_Vm *VmTransactorSession) SerializeInt0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeInt0(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeJson is a paid mutator transaction binding the contract method 0x9b3358b0. -// -// Solidity: function serializeJson(string objectKey, string value) returns(string json) -func (_Vm *VmTransactor) SerializeJson(opts *bind.TransactOpts, objectKey string, value string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeJson", objectKey, value) -} - -// SerializeJson is a paid mutator transaction binding the contract method 0x9b3358b0. -// -// Solidity: function serializeJson(string objectKey, string value) returns(string json) -func (_Vm *VmSession) SerializeJson(objectKey string, value string) (*types.Transaction, error) { - return _Vm.Contract.SerializeJson(&_Vm.TransactOpts, objectKey, value) -} - -// SerializeJson is a paid mutator transaction binding the contract method 0x9b3358b0. -// -// Solidity: function serializeJson(string objectKey, string value) returns(string json) -func (_Vm *VmTransactorSession) SerializeJson(objectKey string, value string) (*types.Transaction, error) { - return _Vm.Contract.SerializeJson(&_Vm.TransactOpts, objectKey, value) -} - -// SerializeString is a paid mutator transaction binding the contract method 0x561cd6f3. -// -// Solidity: function serializeString(string objectKey, string valueKey, string[] values) returns(string json) -func (_Vm *VmTransactor) SerializeString(opts *bind.TransactOpts, objectKey string, valueKey string, values []string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeString", objectKey, valueKey, values) -} - -// SerializeString is a paid mutator transaction binding the contract method 0x561cd6f3. -// -// Solidity: function serializeString(string objectKey, string valueKey, string[] values) returns(string json) -func (_Vm *VmSession) SerializeString(objectKey string, valueKey string, values []string) (*types.Transaction, error) { - return _Vm.Contract.SerializeString(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeString is a paid mutator transaction binding the contract method 0x561cd6f3. -// -// Solidity: function serializeString(string objectKey, string valueKey, string[] values) returns(string json) -func (_Vm *VmTransactorSession) SerializeString(objectKey string, valueKey string, values []string) (*types.Transaction, error) { - return _Vm.Contract.SerializeString(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeString0 is a paid mutator transaction binding the contract method 0x88da6d35. -// -// Solidity: function serializeString(string objectKey, string valueKey, string value) returns(string json) -func (_Vm *VmTransactor) SerializeString0(opts *bind.TransactOpts, objectKey string, valueKey string, value string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeString0", objectKey, valueKey, value) -} - -// SerializeString0 is a paid mutator transaction binding the contract method 0x88da6d35. -// -// Solidity: function serializeString(string objectKey, string valueKey, string value) returns(string json) -func (_Vm *VmSession) SerializeString0(objectKey string, valueKey string, value string) (*types.Transaction, error) { - return _Vm.Contract.SerializeString0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeString0 is a paid mutator transaction binding the contract method 0x88da6d35. -// -// Solidity: function serializeString(string objectKey, string valueKey, string value) returns(string json) -func (_Vm *VmTransactorSession) SerializeString0(objectKey string, valueKey string, value string) (*types.Transaction, error) { - return _Vm.Contract.SerializeString0(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUint is a paid mutator transaction binding the contract method 0x129e9002. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256 value) returns(string json) -func (_Vm *VmTransactor) SerializeUint(opts *bind.TransactOpts, objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeUint", objectKey, valueKey, value) -} - -// SerializeUint is a paid mutator transaction binding the contract method 0x129e9002. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256 value) returns(string json) -func (_Vm *VmSession) SerializeUint(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeUint(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUint is a paid mutator transaction binding the contract method 0x129e9002. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256 value) returns(string json) -func (_Vm *VmTransactorSession) SerializeUint(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeUint(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUint0 is a paid mutator transaction binding the contract method 0xfee9a469. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256[] values) returns(string json) -func (_Vm *VmTransactor) SerializeUint0(opts *bind.TransactOpts, objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeUint0", objectKey, valueKey, values) -} - -// SerializeUint0 is a paid mutator transaction binding the contract method 0xfee9a469. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256[] values) returns(string json) -func (_Vm *VmSession) SerializeUint0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeUint0(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeUint0 is a paid mutator transaction binding the contract method 0xfee9a469. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256[] values) returns(string json) -func (_Vm *VmTransactorSession) SerializeUint0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeUint0(&_Vm.TransactOpts, objectKey, valueKey, values) -} - -// SerializeUintToHex is a paid mutator transaction binding the contract method 0xae5a2ae8. -// -// Solidity: function serializeUintToHex(string objectKey, string valueKey, uint256 value) returns(string json) -func (_Vm *VmTransactor) SerializeUintToHex(opts *bind.TransactOpts, objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "serializeUintToHex", objectKey, valueKey, value) -} - -// SerializeUintToHex is a paid mutator transaction binding the contract method 0xae5a2ae8. -// -// Solidity: function serializeUintToHex(string objectKey, string valueKey, uint256 value) returns(string json) -func (_Vm *VmSession) SerializeUintToHex(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeUintToHex(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUintToHex is a paid mutator transaction binding the contract method 0xae5a2ae8. -// -// Solidity: function serializeUintToHex(string objectKey, string valueKey, uint256 value) returns(string json) -func (_Vm *VmTransactorSession) SerializeUintToHex(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _Vm.Contract.SerializeUintToHex(&_Vm.TransactOpts, objectKey, valueKey, value) -} - -// SetEnv is a paid mutator transaction binding the contract method 0x3d5923ee. -// -// Solidity: function setEnv(string name, string value) returns() -func (_Vm *VmTransactor) SetEnv(opts *bind.TransactOpts, name string, value string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "setEnv", name, value) -} - -// SetEnv is a paid mutator transaction binding the contract method 0x3d5923ee. -// -// Solidity: function setEnv(string name, string value) returns() -func (_Vm *VmSession) SetEnv(name string, value string) (*types.Transaction, error) { - return _Vm.Contract.SetEnv(&_Vm.TransactOpts, name, value) -} - -// SetEnv is a paid mutator transaction binding the contract method 0x3d5923ee. -// -// Solidity: function setEnv(string name, string value) returns() -func (_Vm *VmTransactorSession) SetEnv(name string, value string) (*types.Transaction, error) { - return _Vm.Contract.SetEnv(&_Vm.TransactOpts, name, value) -} - -// SetNonce is a paid mutator transaction binding the contract method 0xf8e18b57. -// -// Solidity: function setNonce(address account, uint64 newNonce) returns() -func (_Vm *VmTransactor) SetNonce(opts *bind.TransactOpts, account common.Address, newNonce uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "setNonce", account, newNonce) -} - -// SetNonce is a paid mutator transaction binding the contract method 0xf8e18b57. -// -// Solidity: function setNonce(address account, uint64 newNonce) returns() -func (_Vm *VmSession) SetNonce(account common.Address, newNonce uint64) (*types.Transaction, error) { - return _Vm.Contract.SetNonce(&_Vm.TransactOpts, account, newNonce) -} - -// SetNonce is a paid mutator transaction binding the contract method 0xf8e18b57. -// -// Solidity: function setNonce(address account, uint64 newNonce) returns() -func (_Vm *VmTransactorSession) SetNonce(account common.Address, newNonce uint64) (*types.Transaction, error) { - return _Vm.Contract.SetNonce(&_Vm.TransactOpts, account, newNonce) -} - -// SetNonceUnsafe is a paid mutator transaction binding the contract method 0x9b67b21c. -// -// Solidity: function setNonceUnsafe(address account, uint64 newNonce) returns() -func (_Vm *VmTransactor) SetNonceUnsafe(opts *bind.TransactOpts, account common.Address, newNonce uint64) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "setNonceUnsafe", account, newNonce) -} - -// SetNonceUnsafe is a paid mutator transaction binding the contract method 0x9b67b21c. -// -// Solidity: function setNonceUnsafe(address account, uint64 newNonce) returns() -func (_Vm *VmSession) SetNonceUnsafe(account common.Address, newNonce uint64) (*types.Transaction, error) { - return _Vm.Contract.SetNonceUnsafe(&_Vm.TransactOpts, account, newNonce) -} - -// SetNonceUnsafe is a paid mutator transaction binding the contract method 0x9b67b21c. -// -// Solidity: function setNonceUnsafe(address account, uint64 newNonce) returns() -func (_Vm *VmTransactorSession) SetNonceUnsafe(account common.Address, newNonce uint64) (*types.Transaction, error) { - return _Vm.Contract.SetNonceUnsafe(&_Vm.TransactOpts, account, newNonce) -} - -// Sign1 is a paid mutator transaction binding the contract method 0xb25c5a25. -// -// Solidity: function sign((address,uint256,uint256,uint256) wallet, bytes32 digest) returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmTransactor) Sign1(opts *bind.TransactOpts, wallet VmSafeWallet, digest [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "sign1", wallet, digest) -} - -// Sign1 is a paid mutator transaction binding the contract method 0xb25c5a25. -// -// Solidity: function sign((address,uint256,uint256,uint256) wallet, bytes32 digest) returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmSession) Sign1(wallet VmSafeWallet, digest [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Sign1(&_Vm.TransactOpts, wallet, digest) -} - -// Sign1 is a paid mutator transaction binding the contract method 0xb25c5a25. -// -// Solidity: function sign((address,uint256,uint256,uint256) wallet, bytes32 digest) returns(uint8 v, bytes32 r, bytes32 s) -func (_Vm *VmTransactorSession) Sign1(wallet VmSafeWallet, digest [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Sign1(&_Vm.TransactOpts, wallet, digest) -} - -// Skip is a paid mutator transaction binding the contract method 0xdd82d13e. -// -// Solidity: function skip(bool skipTest) returns() -func (_Vm *VmTransactor) Skip(opts *bind.TransactOpts, skipTest bool) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "skip", skipTest) -} - -// Skip is a paid mutator transaction binding the contract method 0xdd82d13e. -// -// Solidity: function skip(bool skipTest) returns() -func (_Vm *VmSession) Skip(skipTest bool) (*types.Transaction, error) { - return _Vm.Contract.Skip(&_Vm.TransactOpts, skipTest) -} - -// Skip is a paid mutator transaction binding the contract method 0xdd82d13e. -// -// Solidity: function skip(bool skipTest) returns() -func (_Vm *VmTransactorSession) Skip(skipTest bool) (*types.Transaction, error) { - return _Vm.Contract.Skip(&_Vm.TransactOpts, skipTest) -} - -// Sleep is a paid mutator transaction binding the contract method 0xfa9d8713. -// -// Solidity: function sleep(uint256 duration) returns() -func (_Vm *VmTransactor) Sleep(opts *bind.TransactOpts, duration *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "sleep", duration) -} - -// Sleep is a paid mutator transaction binding the contract method 0xfa9d8713. -// -// Solidity: function sleep(uint256 duration) returns() -func (_Vm *VmSession) Sleep(duration *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Sleep(&_Vm.TransactOpts, duration) -} - -// Sleep is a paid mutator transaction binding the contract method 0xfa9d8713. -// -// Solidity: function sleep(uint256 duration) returns() -func (_Vm *VmTransactorSession) Sleep(duration *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Sleep(&_Vm.TransactOpts, duration) -} - -// Snapshot is a paid mutator transaction binding the contract method 0x9711715a. -// -// Solidity: function snapshot() returns(uint256 snapshotId) -func (_Vm *VmTransactor) Snapshot(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "snapshot") -} - -// Snapshot is a paid mutator transaction binding the contract method 0x9711715a. -// -// Solidity: function snapshot() returns(uint256 snapshotId) -func (_Vm *VmSession) Snapshot() (*types.Transaction, error) { - return _Vm.Contract.Snapshot(&_Vm.TransactOpts) -} - -// Snapshot is a paid mutator transaction binding the contract method 0x9711715a. -// -// Solidity: function snapshot() returns(uint256 snapshotId) -func (_Vm *VmTransactorSession) Snapshot() (*types.Transaction, error) { - return _Vm.Contract.Snapshot(&_Vm.TransactOpts) -} - -// StartBroadcast is a paid mutator transaction binding the contract method 0x7fb5297f. -// -// Solidity: function startBroadcast() returns() -func (_Vm *VmTransactor) StartBroadcast(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "startBroadcast") -} - -// StartBroadcast is a paid mutator transaction binding the contract method 0x7fb5297f. -// -// Solidity: function startBroadcast() returns() -func (_Vm *VmSession) StartBroadcast() (*types.Transaction, error) { - return _Vm.Contract.StartBroadcast(&_Vm.TransactOpts) -} - -// StartBroadcast is a paid mutator transaction binding the contract method 0x7fb5297f. -// -// Solidity: function startBroadcast() returns() -func (_Vm *VmTransactorSession) StartBroadcast() (*types.Transaction, error) { - return _Vm.Contract.StartBroadcast(&_Vm.TransactOpts) -} - -// StartBroadcast0 is a paid mutator transaction binding the contract method 0x7fec2a8d. -// -// Solidity: function startBroadcast(address signer) returns() -func (_Vm *VmTransactor) StartBroadcast0(opts *bind.TransactOpts, signer common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "startBroadcast0", signer) -} - -// StartBroadcast0 is a paid mutator transaction binding the contract method 0x7fec2a8d. -// -// Solidity: function startBroadcast(address signer) returns() -func (_Vm *VmSession) StartBroadcast0(signer common.Address) (*types.Transaction, error) { - return _Vm.Contract.StartBroadcast0(&_Vm.TransactOpts, signer) -} - -// StartBroadcast0 is a paid mutator transaction binding the contract method 0x7fec2a8d. -// -// Solidity: function startBroadcast(address signer) returns() -func (_Vm *VmTransactorSession) StartBroadcast0(signer common.Address) (*types.Transaction, error) { - return _Vm.Contract.StartBroadcast0(&_Vm.TransactOpts, signer) -} - -// StartBroadcast1 is a paid mutator transaction binding the contract method 0xce817d47. -// -// Solidity: function startBroadcast(uint256 privateKey) returns() -func (_Vm *VmTransactor) StartBroadcast1(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "startBroadcast1", privateKey) -} - -// StartBroadcast1 is a paid mutator transaction binding the contract method 0xce817d47. -// -// Solidity: function startBroadcast(uint256 privateKey) returns() -func (_Vm *VmSession) StartBroadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.StartBroadcast1(&_Vm.TransactOpts, privateKey) -} - -// StartBroadcast1 is a paid mutator transaction binding the contract method 0xce817d47. -// -// Solidity: function startBroadcast(uint256 privateKey) returns() -func (_Vm *VmTransactorSession) StartBroadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _Vm.Contract.StartBroadcast1(&_Vm.TransactOpts, privateKey) -} - -// StartMappingRecording is a paid mutator transaction binding the contract method 0x3e9705c0. -// -// Solidity: function startMappingRecording() returns() -func (_Vm *VmTransactor) StartMappingRecording(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "startMappingRecording") -} - -// StartMappingRecording is a paid mutator transaction binding the contract method 0x3e9705c0. -// -// Solidity: function startMappingRecording() returns() -func (_Vm *VmSession) StartMappingRecording() (*types.Transaction, error) { - return _Vm.Contract.StartMappingRecording(&_Vm.TransactOpts) -} - -// StartMappingRecording is a paid mutator transaction binding the contract method 0x3e9705c0. -// -// Solidity: function startMappingRecording() returns() -func (_Vm *VmTransactorSession) StartMappingRecording() (*types.Transaction, error) { - return _Vm.Contract.StartMappingRecording(&_Vm.TransactOpts) -} - -// StartPrank is a paid mutator transaction binding the contract method 0x06447d56. -// -// Solidity: function startPrank(address msgSender) returns() -func (_Vm *VmTransactor) StartPrank(opts *bind.TransactOpts, msgSender common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "startPrank", msgSender) -} - -// StartPrank is a paid mutator transaction binding the contract method 0x06447d56. -// -// Solidity: function startPrank(address msgSender) returns() -func (_Vm *VmSession) StartPrank(msgSender common.Address) (*types.Transaction, error) { - return _Vm.Contract.StartPrank(&_Vm.TransactOpts, msgSender) -} - -// StartPrank is a paid mutator transaction binding the contract method 0x06447d56. -// -// Solidity: function startPrank(address msgSender) returns() -func (_Vm *VmTransactorSession) StartPrank(msgSender common.Address) (*types.Transaction, error) { - return _Vm.Contract.StartPrank(&_Vm.TransactOpts, msgSender) -} - -// StartPrank0 is a paid mutator transaction binding the contract method 0x45b56078. -// -// Solidity: function startPrank(address msgSender, address txOrigin) returns() -func (_Vm *VmTransactor) StartPrank0(opts *bind.TransactOpts, msgSender common.Address, txOrigin common.Address) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "startPrank0", msgSender, txOrigin) -} - -// StartPrank0 is a paid mutator transaction binding the contract method 0x45b56078. -// -// Solidity: function startPrank(address msgSender, address txOrigin) returns() -func (_Vm *VmSession) StartPrank0(msgSender common.Address, txOrigin common.Address) (*types.Transaction, error) { - return _Vm.Contract.StartPrank0(&_Vm.TransactOpts, msgSender, txOrigin) -} - -// StartPrank0 is a paid mutator transaction binding the contract method 0x45b56078. -// -// Solidity: function startPrank(address msgSender, address txOrigin) returns() -func (_Vm *VmTransactorSession) StartPrank0(msgSender common.Address, txOrigin common.Address) (*types.Transaction, error) { - return _Vm.Contract.StartPrank0(&_Vm.TransactOpts, msgSender, txOrigin) -} - -// StartStateDiffRecording is a paid mutator transaction binding the contract method 0xcf22e3c9. -// -// Solidity: function startStateDiffRecording() returns() -func (_Vm *VmTransactor) StartStateDiffRecording(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "startStateDiffRecording") -} - -// StartStateDiffRecording is a paid mutator transaction binding the contract method 0xcf22e3c9. -// -// Solidity: function startStateDiffRecording() returns() -func (_Vm *VmSession) StartStateDiffRecording() (*types.Transaction, error) { - return _Vm.Contract.StartStateDiffRecording(&_Vm.TransactOpts) -} - -// StartStateDiffRecording is a paid mutator transaction binding the contract method 0xcf22e3c9. -// -// Solidity: function startStateDiffRecording() returns() -func (_Vm *VmTransactorSession) StartStateDiffRecording() (*types.Transaction, error) { - return _Vm.Contract.StartStateDiffRecording(&_Vm.TransactOpts) -} - -// StopAndReturnStateDiff is a paid mutator transaction binding the contract method 0xaa5cf90e. -// -// Solidity: function stopAndReturnStateDiff() returns(((uint256,uint256),uint8,address,address,bool,uint256,uint256,bytes,uint256,bytes,bool,(address,bytes32,bool,bytes32,bytes32,bool)[],uint64)[] accountAccesses) -func (_Vm *VmTransactor) StopAndReturnStateDiff(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "stopAndReturnStateDiff") -} - -// StopAndReturnStateDiff is a paid mutator transaction binding the contract method 0xaa5cf90e. -// -// Solidity: function stopAndReturnStateDiff() returns(((uint256,uint256),uint8,address,address,bool,uint256,uint256,bytes,uint256,bytes,bool,(address,bytes32,bool,bytes32,bytes32,bool)[],uint64)[] accountAccesses) -func (_Vm *VmSession) StopAndReturnStateDiff() (*types.Transaction, error) { - return _Vm.Contract.StopAndReturnStateDiff(&_Vm.TransactOpts) -} - -// StopAndReturnStateDiff is a paid mutator transaction binding the contract method 0xaa5cf90e. -// -// Solidity: function stopAndReturnStateDiff() returns(((uint256,uint256),uint8,address,address,bool,uint256,uint256,bytes,uint256,bytes,bool,(address,bytes32,bool,bytes32,bytes32,bool)[],uint64)[] accountAccesses) -func (_Vm *VmTransactorSession) StopAndReturnStateDiff() (*types.Transaction, error) { - return _Vm.Contract.StopAndReturnStateDiff(&_Vm.TransactOpts) -} - -// StopBroadcast is a paid mutator transaction binding the contract method 0x76eadd36. -// -// Solidity: function stopBroadcast() returns() -func (_Vm *VmTransactor) StopBroadcast(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "stopBroadcast") -} - -// StopBroadcast is a paid mutator transaction binding the contract method 0x76eadd36. -// -// Solidity: function stopBroadcast() returns() -func (_Vm *VmSession) StopBroadcast() (*types.Transaction, error) { - return _Vm.Contract.StopBroadcast(&_Vm.TransactOpts) -} - -// StopBroadcast is a paid mutator transaction binding the contract method 0x76eadd36. -// -// Solidity: function stopBroadcast() returns() -func (_Vm *VmTransactorSession) StopBroadcast() (*types.Transaction, error) { - return _Vm.Contract.StopBroadcast(&_Vm.TransactOpts) -} - -// StopExpectSafeMemory is a paid mutator transaction binding the contract method 0x0956441b. -// -// Solidity: function stopExpectSafeMemory() returns() -func (_Vm *VmTransactor) StopExpectSafeMemory(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "stopExpectSafeMemory") -} - -// StopExpectSafeMemory is a paid mutator transaction binding the contract method 0x0956441b. -// -// Solidity: function stopExpectSafeMemory() returns() -func (_Vm *VmSession) StopExpectSafeMemory() (*types.Transaction, error) { - return _Vm.Contract.StopExpectSafeMemory(&_Vm.TransactOpts) -} - -// StopExpectSafeMemory is a paid mutator transaction binding the contract method 0x0956441b. -// -// Solidity: function stopExpectSafeMemory() returns() -func (_Vm *VmTransactorSession) StopExpectSafeMemory() (*types.Transaction, error) { - return _Vm.Contract.StopExpectSafeMemory(&_Vm.TransactOpts) -} - -// StopMappingRecording is a paid mutator transaction binding the contract method 0x0d4aae9b. -// -// Solidity: function stopMappingRecording() returns() -func (_Vm *VmTransactor) StopMappingRecording(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "stopMappingRecording") -} - -// StopMappingRecording is a paid mutator transaction binding the contract method 0x0d4aae9b. -// -// Solidity: function stopMappingRecording() returns() -func (_Vm *VmSession) StopMappingRecording() (*types.Transaction, error) { - return _Vm.Contract.StopMappingRecording(&_Vm.TransactOpts) -} - -// StopMappingRecording is a paid mutator transaction binding the contract method 0x0d4aae9b. -// -// Solidity: function stopMappingRecording() returns() -func (_Vm *VmTransactorSession) StopMappingRecording() (*types.Transaction, error) { - return _Vm.Contract.StopMappingRecording(&_Vm.TransactOpts) -} - -// StopPrank is a paid mutator transaction binding the contract method 0x90c5013b. -// -// Solidity: function stopPrank() returns() -func (_Vm *VmTransactor) StopPrank(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "stopPrank") -} - -// StopPrank is a paid mutator transaction binding the contract method 0x90c5013b. -// -// Solidity: function stopPrank() returns() -func (_Vm *VmSession) StopPrank() (*types.Transaction, error) { - return _Vm.Contract.StopPrank(&_Vm.TransactOpts) -} - -// StopPrank is a paid mutator transaction binding the contract method 0x90c5013b. -// -// Solidity: function stopPrank() returns() -func (_Vm *VmTransactorSession) StopPrank() (*types.Transaction, error) { - return _Vm.Contract.StopPrank(&_Vm.TransactOpts) -} - -// Store is a paid mutator transaction binding the contract method 0x70ca10bb. -// -// Solidity: function store(address target, bytes32 slot, bytes32 value) returns() -func (_Vm *VmTransactor) Store(opts *bind.TransactOpts, target common.Address, slot [32]byte, value [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "store", target, slot, value) -} - -// Store is a paid mutator transaction binding the contract method 0x70ca10bb. -// -// Solidity: function store(address target, bytes32 slot, bytes32 value) returns() -func (_Vm *VmSession) Store(target common.Address, slot [32]byte, value [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Store(&_Vm.TransactOpts, target, slot, value) -} - -// Store is a paid mutator transaction binding the contract method 0x70ca10bb. -// -// Solidity: function store(address target, bytes32 slot, bytes32 value) returns() -func (_Vm *VmTransactorSession) Store(target common.Address, slot [32]byte, value [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Store(&_Vm.TransactOpts, target, slot, value) -} - -// Transact is a paid mutator transaction binding the contract method 0x4d8abc4b. -// -// Solidity: function transact(uint256 forkId, bytes32 txHash) returns() -func (_Vm *VmTransactor) Transact(opts *bind.TransactOpts, forkId *big.Int, txHash [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "transact", forkId, txHash) -} - -// Transact is a paid mutator transaction binding the contract method 0x4d8abc4b. -// -// Solidity: function transact(uint256 forkId, bytes32 txHash) returns() -func (_Vm *VmSession) Transact(forkId *big.Int, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Transact(&_Vm.TransactOpts, forkId, txHash) -} - -// Transact is a paid mutator transaction binding the contract method 0x4d8abc4b. -// -// Solidity: function transact(uint256 forkId, bytes32 txHash) returns() -func (_Vm *VmTransactorSession) Transact(forkId *big.Int, txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Transact(&_Vm.TransactOpts, forkId, txHash) -} - -// Transact0 is a paid mutator transaction binding the contract method 0xbe646da1. -// -// Solidity: function transact(bytes32 txHash) returns() -func (_Vm *VmTransactor) Transact0(opts *bind.TransactOpts, txHash [32]byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "transact0", txHash) -} - -// Transact0 is a paid mutator transaction binding the contract method 0xbe646da1. -// -// Solidity: function transact(bytes32 txHash) returns() -func (_Vm *VmSession) Transact0(txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Transact0(&_Vm.TransactOpts, txHash) -} - -// Transact0 is a paid mutator transaction binding the contract method 0xbe646da1. -// -// Solidity: function transact(bytes32 txHash) returns() -func (_Vm *VmTransactorSession) Transact0(txHash [32]byte) (*types.Transaction, error) { - return _Vm.Contract.Transact0(&_Vm.TransactOpts, txHash) -} - -// TryFfi is a paid mutator transaction binding the contract method 0xf45c1ce7. -// -// Solidity: function tryFfi(string[] commandInput) returns((int32,bytes,bytes) result) -func (_Vm *VmTransactor) TryFfi(opts *bind.TransactOpts, commandInput []string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "tryFfi", commandInput) -} - -// TryFfi is a paid mutator transaction binding the contract method 0xf45c1ce7. -// -// Solidity: function tryFfi(string[] commandInput) returns((int32,bytes,bytes) result) -func (_Vm *VmSession) TryFfi(commandInput []string) (*types.Transaction, error) { - return _Vm.Contract.TryFfi(&_Vm.TransactOpts, commandInput) -} - -// TryFfi is a paid mutator transaction binding the contract method 0xf45c1ce7. -// -// Solidity: function tryFfi(string[] commandInput) returns((int32,bytes,bytes) result) -func (_Vm *VmTransactorSession) TryFfi(commandInput []string) (*types.Transaction, error) { - return _Vm.Contract.TryFfi(&_Vm.TransactOpts, commandInput) -} - -// TxGasPrice is a paid mutator transaction binding the contract method 0x48f50c0f. -// -// Solidity: function txGasPrice(uint256 newGasPrice) returns() -func (_Vm *VmTransactor) TxGasPrice(opts *bind.TransactOpts, newGasPrice *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "txGasPrice", newGasPrice) -} - -// TxGasPrice is a paid mutator transaction binding the contract method 0x48f50c0f. -// -// Solidity: function txGasPrice(uint256 newGasPrice) returns() -func (_Vm *VmSession) TxGasPrice(newGasPrice *big.Int) (*types.Transaction, error) { - return _Vm.Contract.TxGasPrice(&_Vm.TransactOpts, newGasPrice) -} - -// TxGasPrice is a paid mutator transaction binding the contract method 0x48f50c0f. -// -// Solidity: function txGasPrice(uint256 newGasPrice) returns() -func (_Vm *VmTransactorSession) TxGasPrice(newGasPrice *big.Int) (*types.Transaction, error) { - return _Vm.Contract.TxGasPrice(&_Vm.TransactOpts, newGasPrice) -} - -// UnixTime is a paid mutator transaction binding the contract method 0x625387dc. -// -// Solidity: function unixTime() returns(uint256 milliseconds) -func (_Vm *VmTransactor) UnixTime(opts *bind.TransactOpts) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "unixTime") -} - -// UnixTime is a paid mutator transaction binding the contract method 0x625387dc. -// -// Solidity: function unixTime() returns(uint256 milliseconds) -func (_Vm *VmSession) UnixTime() (*types.Transaction, error) { - return _Vm.Contract.UnixTime(&_Vm.TransactOpts) -} - -// UnixTime is a paid mutator transaction binding the contract method 0x625387dc. -// -// Solidity: function unixTime() returns(uint256 milliseconds) -func (_Vm *VmTransactorSession) UnixTime() (*types.Transaction, error) { - return _Vm.Contract.UnixTime(&_Vm.TransactOpts) -} - -// Warp is a paid mutator transaction binding the contract method 0xe5d6bf02. -// -// Solidity: function warp(uint256 newTimestamp) returns() -func (_Vm *VmTransactor) Warp(opts *bind.TransactOpts, newTimestamp *big.Int) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "warp", newTimestamp) -} - -// Warp is a paid mutator transaction binding the contract method 0xe5d6bf02. -// -// Solidity: function warp(uint256 newTimestamp) returns() -func (_Vm *VmSession) Warp(newTimestamp *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Warp(&_Vm.TransactOpts, newTimestamp) -} - -// Warp is a paid mutator transaction binding the contract method 0xe5d6bf02. -// -// Solidity: function warp(uint256 newTimestamp) returns() -func (_Vm *VmTransactorSession) Warp(newTimestamp *big.Int) (*types.Transaction, error) { - return _Vm.Contract.Warp(&_Vm.TransactOpts, newTimestamp) -} - -// WriteFile is a paid mutator transaction binding the contract method 0x897e0a97. -// -// Solidity: function writeFile(string path, string data) returns() -func (_Vm *VmTransactor) WriteFile(opts *bind.TransactOpts, path string, data string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "writeFile", path, data) -} - -// WriteFile is a paid mutator transaction binding the contract method 0x897e0a97. -// -// Solidity: function writeFile(string path, string data) returns() -func (_Vm *VmSession) WriteFile(path string, data string) (*types.Transaction, error) { - return _Vm.Contract.WriteFile(&_Vm.TransactOpts, path, data) -} - -// WriteFile is a paid mutator transaction binding the contract method 0x897e0a97. -// -// Solidity: function writeFile(string path, string data) returns() -func (_Vm *VmTransactorSession) WriteFile(path string, data string) (*types.Transaction, error) { - return _Vm.Contract.WriteFile(&_Vm.TransactOpts, path, data) -} - -// WriteFileBinary is a paid mutator transaction binding the contract method 0x1f21fc80. -// -// Solidity: function writeFileBinary(string path, bytes data) returns() -func (_Vm *VmTransactor) WriteFileBinary(opts *bind.TransactOpts, path string, data []byte) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "writeFileBinary", path, data) -} - -// WriteFileBinary is a paid mutator transaction binding the contract method 0x1f21fc80. -// -// Solidity: function writeFileBinary(string path, bytes data) returns() -func (_Vm *VmSession) WriteFileBinary(path string, data []byte) (*types.Transaction, error) { - return _Vm.Contract.WriteFileBinary(&_Vm.TransactOpts, path, data) -} - -// WriteFileBinary is a paid mutator transaction binding the contract method 0x1f21fc80. -// -// Solidity: function writeFileBinary(string path, bytes data) returns() -func (_Vm *VmTransactorSession) WriteFileBinary(path string, data []byte) (*types.Transaction, error) { - return _Vm.Contract.WriteFileBinary(&_Vm.TransactOpts, path, data) -} - -// WriteJson is a paid mutator transaction binding the contract method 0x35d6ad46. -// -// Solidity: function writeJson(string json, string path, string valueKey) returns() -func (_Vm *VmTransactor) WriteJson(opts *bind.TransactOpts, json string, path string, valueKey string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "writeJson", json, path, valueKey) -} - -// WriteJson is a paid mutator transaction binding the contract method 0x35d6ad46. -// -// Solidity: function writeJson(string json, string path, string valueKey) returns() -func (_Vm *VmSession) WriteJson(json string, path string, valueKey string) (*types.Transaction, error) { - return _Vm.Contract.WriteJson(&_Vm.TransactOpts, json, path, valueKey) -} - -// WriteJson is a paid mutator transaction binding the contract method 0x35d6ad46. -// -// Solidity: function writeJson(string json, string path, string valueKey) returns() -func (_Vm *VmTransactorSession) WriteJson(json string, path string, valueKey string) (*types.Transaction, error) { - return _Vm.Contract.WriteJson(&_Vm.TransactOpts, json, path, valueKey) -} - -// WriteJson0 is a paid mutator transaction binding the contract method 0xe23cd19f. -// -// Solidity: function writeJson(string json, string path) returns() -func (_Vm *VmTransactor) WriteJson0(opts *bind.TransactOpts, json string, path string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "writeJson0", json, path) -} - -// WriteJson0 is a paid mutator transaction binding the contract method 0xe23cd19f. -// -// Solidity: function writeJson(string json, string path) returns() -func (_Vm *VmSession) WriteJson0(json string, path string) (*types.Transaction, error) { - return _Vm.Contract.WriteJson0(&_Vm.TransactOpts, json, path) -} - -// WriteJson0 is a paid mutator transaction binding the contract method 0xe23cd19f. -// -// Solidity: function writeJson(string json, string path) returns() -func (_Vm *VmTransactorSession) WriteJson0(json string, path string) (*types.Transaction, error) { - return _Vm.Contract.WriteJson0(&_Vm.TransactOpts, json, path) -} - -// WriteLine is a paid mutator transaction binding the contract method 0x619d897f. -// -// Solidity: function writeLine(string path, string data) returns() -func (_Vm *VmTransactor) WriteLine(opts *bind.TransactOpts, path string, data string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "writeLine", path, data) -} - -// WriteLine is a paid mutator transaction binding the contract method 0x619d897f. -// -// Solidity: function writeLine(string path, string data) returns() -func (_Vm *VmSession) WriteLine(path string, data string) (*types.Transaction, error) { - return _Vm.Contract.WriteLine(&_Vm.TransactOpts, path, data) -} - -// WriteLine is a paid mutator transaction binding the contract method 0x619d897f. -// -// Solidity: function writeLine(string path, string data) returns() -func (_Vm *VmTransactorSession) WriteLine(path string, data string) (*types.Transaction, error) { - return _Vm.Contract.WriteLine(&_Vm.TransactOpts, path, data) -} - -// WriteToml is a paid mutator transaction binding the contract method 0x51ac6a33. -// -// Solidity: function writeToml(string json, string path, string valueKey) returns() -func (_Vm *VmTransactor) WriteToml(opts *bind.TransactOpts, json string, path string, valueKey string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "writeToml", json, path, valueKey) -} - -// WriteToml is a paid mutator transaction binding the contract method 0x51ac6a33. -// -// Solidity: function writeToml(string json, string path, string valueKey) returns() -func (_Vm *VmSession) WriteToml(json string, path string, valueKey string) (*types.Transaction, error) { - return _Vm.Contract.WriteToml(&_Vm.TransactOpts, json, path, valueKey) -} - -// WriteToml is a paid mutator transaction binding the contract method 0x51ac6a33. -// -// Solidity: function writeToml(string json, string path, string valueKey) returns() -func (_Vm *VmTransactorSession) WriteToml(json string, path string, valueKey string) (*types.Transaction, error) { - return _Vm.Contract.WriteToml(&_Vm.TransactOpts, json, path, valueKey) -} - -// WriteToml0 is a paid mutator transaction binding the contract method 0xc0865ba7. -// -// Solidity: function writeToml(string json, string path) returns() -func (_Vm *VmTransactor) WriteToml0(opts *bind.TransactOpts, json string, path string) (*types.Transaction, error) { - return _Vm.contract.Transact(opts, "writeToml0", json, path) -} - -// WriteToml0 is a paid mutator transaction binding the contract method 0xc0865ba7. -// -// Solidity: function writeToml(string json, string path) returns() -func (_Vm *VmSession) WriteToml0(json string, path string) (*types.Transaction, error) { - return _Vm.Contract.WriteToml0(&_Vm.TransactOpts, json, path) -} - -// WriteToml0 is a paid mutator transaction binding the contract method 0xc0865ba7. -// -// Solidity: function writeToml(string json, string path) returns() -func (_Vm *VmTransactorSession) WriteToml0(json string, path string) (*types.Transaction, error) { - return _Vm.Contract.WriteToml0(&_Vm.TransactOpts, json, path) -} diff --git a/pkg/forge-std/vm.sol/vmsafe.go b/pkg/forge-std/vm.sol/vmsafe.go deleted file mode 100644 index 346ba31a..00000000 --- a/pkg/forge-std/vm.sol/vmsafe.go +++ /dev/null @@ -1,9136 +0,0 @@ -// Code generated - DO NOT EDIT. -// This file is a generated binding and any manual changes will be lost. - -package vm - -import ( - "errors" - "math/big" - "strings" - - ethereum "github.com/ethereum/go-ethereum" - "github.com/ethereum/go-ethereum/accounts/abi" - "github.com/ethereum/go-ethereum/accounts/abi/bind" - "github.com/ethereum/go-ethereum/common" - "github.com/ethereum/go-ethereum/core/types" - "github.com/ethereum/go-ethereum/event" -) - -// Reference imports to suppress errors if they are not otherwise used. -var ( - _ = errors.New - _ = big.NewInt - _ = strings.NewReader - _ = ethereum.NotFound - _ = bind.Bind - _ = common.Big1 - _ = types.BloomLookup - _ = event.NewSubscription - _ = abi.ConvertType -) - -// VmSafeAccountAccess is an auto generated low-level Go binding around an user-defined struct. -type VmSafeAccountAccess struct { - ChainInfo VmSafeChainInfo - Kind uint8 - Account common.Address - Accessor common.Address - Initialized bool - OldBalance *big.Int - NewBalance *big.Int - DeployedCode []byte - Value *big.Int - Data []byte - Reverted bool - StorageAccesses []VmSafeStorageAccess - Depth uint64 -} - -// VmSafeChainInfo is an auto generated low-level Go binding around an user-defined struct. -type VmSafeChainInfo struct { - ForkId *big.Int - ChainId *big.Int -} - -// VmSafeDirEntry is an auto generated low-level Go binding around an user-defined struct. -type VmSafeDirEntry struct { - ErrorMessage string - Path string - Depth uint64 - IsDir bool - IsSymlink bool -} - -// VmSafeEthGetLogs is an auto generated low-level Go binding around an user-defined struct. -type VmSafeEthGetLogs struct { - Emitter common.Address - Topics [][32]byte - Data []byte - BlockHash [32]byte - BlockNumber uint64 - TransactionHash [32]byte - TransactionIndex uint64 - LogIndex *big.Int - Removed bool -} - -// VmSafeFfiResult is an auto generated low-level Go binding around an user-defined struct. -type VmSafeFfiResult struct { - ExitCode int32 - Stdout []byte - Stderr []byte -} - -// VmSafeFsMetadata is an auto generated low-level Go binding around an user-defined struct. -type VmSafeFsMetadata struct { - IsDir bool - IsSymlink bool - Length *big.Int - ReadOnly bool - Modified *big.Int - Accessed *big.Int - Created *big.Int -} - -// VmSafeGas is an auto generated low-level Go binding around an user-defined struct. -type VmSafeGas struct { - GasLimit uint64 - GasTotalUsed uint64 - GasMemoryUsed uint64 - GasRefunded int64 - GasRemaining uint64 -} - -// VmSafeLog is an auto generated low-level Go binding around an user-defined struct. -type VmSafeLog struct { - Topics [][32]byte - Data []byte - Emitter common.Address -} - -// VmSafeRpc is an auto generated low-level Go binding around an user-defined struct. -type VmSafeRpc struct { - Key string - Url string -} - -// VmSafeStorageAccess is an auto generated low-level Go binding around an user-defined struct. -type VmSafeStorageAccess struct { - Account common.Address - Slot [32]byte - IsWrite bool - PreviousValue [32]byte - NewValue [32]byte - Reverted bool -} - -// VmSafeWallet is an auto generated low-level Go binding around an user-defined struct. -type VmSafeWallet struct { - Addr common.Address - PublicKeyX *big.Int - PublicKeyY *big.Int - PrivateKey *big.Int -} - -// VmSafeMetaData contains all meta data concerning the VmSafe contract. -var VmSafeMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"ensNamehash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"structVmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enumVmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"structVmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecretUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"randomUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"structVmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"structVmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enumVmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"structVmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"}],\"internalType\":\"structVmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"structVmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", -} - -// VmSafeABI is the input ABI used to generate the binding from. -// Deprecated: Use VmSafeMetaData.ABI instead. -var VmSafeABI = VmSafeMetaData.ABI - -// VmSafe is an auto generated Go binding around an Ethereum contract. -type VmSafe struct { - VmSafeCaller // Read-only binding to the contract - VmSafeTransactor // Write-only binding to the contract - VmSafeFilterer // Log filterer for contract events -} - -// VmSafeCaller is an auto generated read-only Go binding around an Ethereum contract. -type VmSafeCaller struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// VmSafeTransactor is an auto generated write-only Go binding around an Ethereum contract. -type VmSafeTransactor struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// VmSafeFilterer is an auto generated log filtering Go binding around an Ethereum contract events. -type VmSafeFilterer struct { - contract *bind.BoundContract // Generic contract wrapper for the low level calls -} - -// VmSafeSession is an auto generated Go binding around an Ethereum contract, -// with pre-set call and transact options. -type VmSafeSession struct { - Contract *VmSafe // Generic contract binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// VmSafeCallerSession is an auto generated read-only Go binding around an Ethereum contract, -// with pre-set call options. -type VmSafeCallerSession struct { - Contract *VmSafeCaller // Generic contract caller binding to set the session for - CallOpts bind.CallOpts // Call options to use throughout this session -} - -// VmSafeTransactorSession is an auto generated write-only Go binding around an Ethereum contract, -// with pre-set transact options. -type VmSafeTransactorSession struct { - Contract *VmSafeTransactor // Generic contract transactor binding to set the session for - TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session -} - -// VmSafeRaw is an auto generated low-level Go binding around an Ethereum contract. -type VmSafeRaw struct { - Contract *VmSafe // Generic contract binding to access the raw methods on -} - -// VmSafeCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract. -type VmSafeCallerRaw struct { - Contract *VmSafeCaller // Generic read-only contract binding to access the raw methods on -} - -// VmSafeTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract. -type VmSafeTransactorRaw struct { - Contract *VmSafeTransactor // Generic write-only contract binding to access the raw methods on -} - -// NewVmSafe creates a new instance of VmSafe, bound to a specific deployed contract. -func NewVmSafe(address common.Address, backend bind.ContractBackend) (*VmSafe, error) { - contract, err := bindVmSafe(address, backend, backend, backend) - if err != nil { - return nil, err - } - return &VmSafe{VmSafeCaller: VmSafeCaller{contract: contract}, VmSafeTransactor: VmSafeTransactor{contract: contract}, VmSafeFilterer: VmSafeFilterer{contract: contract}}, nil -} - -// NewVmSafeCaller creates a new read-only instance of VmSafe, bound to a specific deployed contract. -func NewVmSafeCaller(address common.Address, caller bind.ContractCaller) (*VmSafeCaller, error) { - contract, err := bindVmSafe(address, caller, nil, nil) - if err != nil { - return nil, err - } - return &VmSafeCaller{contract: contract}, nil -} - -// NewVmSafeTransactor creates a new write-only instance of VmSafe, bound to a specific deployed contract. -func NewVmSafeTransactor(address common.Address, transactor bind.ContractTransactor) (*VmSafeTransactor, error) { - contract, err := bindVmSafe(address, nil, transactor, nil) - if err != nil { - return nil, err - } - return &VmSafeTransactor{contract: contract}, nil -} - -// NewVmSafeFilterer creates a new log filterer instance of VmSafe, bound to a specific deployed contract. -func NewVmSafeFilterer(address common.Address, filterer bind.ContractFilterer) (*VmSafeFilterer, error) { - contract, err := bindVmSafe(address, nil, nil, filterer) - if err != nil { - return nil, err - } - return &VmSafeFilterer{contract: contract}, nil -} - -// bindVmSafe binds a generic wrapper to an already deployed contract. -func bindVmSafe(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) { - parsed, err := VmSafeMetaData.GetAbi() - if err != nil { - return nil, err - } - return bind.NewBoundContract(address, *parsed, caller, transactor, filterer), nil -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_VmSafe *VmSafeRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _VmSafe.Contract.VmSafeCaller.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_VmSafe *VmSafeRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.Contract.VmSafeTransactor.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_VmSafe *VmSafeRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _VmSafe.Contract.VmSafeTransactor.contract.Transact(opts, method, params...) -} - -// Call invokes the (constant) contract method with params as input values and -// sets the output to result. The result type might be a single field for simple -// returns, a slice of interfaces for anonymous returns and a struct for named -// returns. -func (_VmSafe *VmSafeCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error { - return _VmSafe.Contract.contract.Call(opts, result, method, params...) -} - -// Transfer initiates a plain transaction to move funds to the contract, calling -// its default method if one is available. -func (_VmSafe *VmSafeTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.Contract.contract.Transfer(opts) -} - -// Transact invokes the (paid) contract method with params as input values. -func (_VmSafe *VmSafeTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) { - return _VmSafe.Contract.contract.Transact(opts, method, params...) -} - -// Addr is a free data retrieval call binding the contract method 0xffa18649. -// -// Solidity: function addr(uint256 privateKey) pure returns(address keyAddr) -func (_VmSafe *VmSafeCaller) Addr(opts *bind.CallOpts, privateKey *big.Int) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "addr", privateKey) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// Addr is a free data retrieval call binding the contract method 0xffa18649. -// -// Solidity: function addr(uint256 privateKey) pure returns(address keyAddr) -func (_VmSafe *VmSafeSession) Addr(privateKey *big.Int) (common.Address, error) { - return _VmSafe.Contract.Addr(&_VmSafe.CallOpts, privateKey) -} - -// Addr is a free data retrieval call binding the contract method 0xffa18649. -// -// Solidity: function addr(uint256 privateKey) pure returns(address keyAddr) -func (_VmSafe *VmSafeCallerSession) Addr(privateKey *big.Int) (common.Address, error) { - return _VmSafe.Contract.Addr(&_VmSafe.CallOpts, privateKey) -} - -// AssertApproxEqAbs is a free data retrieval call binding the contract method 0x16d207c6. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbs(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbs", left, right, maxDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs is a free data retrieval call binding the contract method 0x16d207c6. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbs(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbs(&_VmSafe.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs is a free data retrieval call binding the contract method 0x16d207c6. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbs(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbs(&_VmSafe.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs0 is a free data retrieval call binding the contract method 0x240f839d. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbs0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbs0", left, right, maxDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs0 is a free data retrieval call binding the contract method 0x240f839d. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbs0(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbs0(&_VmSafe.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs0 is a free data retrieval call binding the contract method 0x240f839d. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbs0(left *big.Int, right *big.Int, maxDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbs0(&_VmSafe.CallOpts, left, right, maxDelta) -} - -// AssertApproxEqAbs1 is a free data retrieval call binding the contract method 0x8289e621. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbs1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbs1", left, right, maxDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs1 is a free data retrieval call binding the contract method 0x8289e621. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbs1(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbs1(&_VmSafe.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbs1 is a free data retrieval call binding the contract method 0x8289e621. -// -// Solidity: function assertApproxEqAbs(int256 left, int256 right, uint256 maxDelta, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbs1(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbs1(&_VmSafe.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbs2 is a free data retrieval call binding the contract method 0xf710b062. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbs2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbs2", left, right, maxDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbs2 is a free data retrieval call binding the contract method 0xf710b062. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbs2(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbs2(&_VmSafe.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbs2 is a free data retrieval call binding the contract method 0xf710b062. -// -// Solidity: function assertApproxEqAbs(uint256 left, uint256 right, uint256 maxDelta, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbs2(left *big.Int, right *big.Int, maxDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbs2(&_VmSafe.CallOpts, left, right, maxDelta, error) -} - -// AssertApproxEqAbsDecimal is a free data retrieval call binding the contract method 0x045c55ce. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbsDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbsDecimal", left, right, maxDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal is a free data retrieval call binding the contract method 0x045c55ce. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbsDecimal(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal(&_VmSafe.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal is a free data retrieval call binding the contract method 0x045c55ce. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbsDecimal(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal(&_VmSafe.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal0 is a free data retrieval call binding the contract method 0x3d5bc8bc. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbsDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbsDecimal0", left, right, maxDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal0 is a free data retrieval call binding the contract method 0x3d5bc8bc. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbsDecimal0(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal0(&_VmSafe.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal0 is a free data retrieval call binding the contract method 0x3d5bc8bc. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbsDecimal0(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal0(&_VmSafe.CallOpts, left, right, maxDelta, decimals) -} - -// AssertApproxEqAbsDecimal1 is a free data retrieval call binding the contract method 0x60429eb2. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbsDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbsDecimal1", left, right, maxDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal1 is a free data retrieval call binding the contract method 0x60429eb2. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbsDecimal1(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal1(&_VmSafe.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqAbsDecimal1 is a free data retrieval call binding the contract method 0x60429eb2. -// -// Solidity: function assertApproxEqAbsDecimal(uint256 left, uint256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbsDecimal1(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal1(&_VmSafe.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqAbsDecimal2 is a free data retrieval call binding the contract method 0x6a5066d4. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqAbsDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqAbsDecimal2", left, right, maxDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqAbsDecimal2 is a free data retrieval call binding the contract method 0x6a5066d4. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqAbsDecimal2(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal2(&_VmSafe.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqAbsDecimal2 is a free data retrieval call binding the contract method 0x6a5066d4. -// -// Solidity: function assertApproxEqAbsDecimal(int256 left, int256 right, uint256 maxDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqAbsDecimal2(left *big.Int, right *big.Int, maxDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqAbsDecimal2(&_VmSafe.CallOpts, left, right, maxDelta, decimals, error) -} - -// AssertApproxEqRel is a free data retrieval call binding the contract method 0x1ecb7d33. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRel(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRel", left, right, maxPercentDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel is a free data retrieval call binding the contract method 0x1ecb7d33. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRel(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRel(&_VmSafe.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel is a free data retrieval call binding the contract method 0x1ecb7d33. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRel(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRel(&_VmSafe.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel0 is a free data retrieval call binding the contract method 0x8cf25ef4. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRel0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRel0", left, right, maxPercentDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel0 is a free data retrieval call binding the contract method 0x8cf25ef4. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRel0(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRel0(&_VmSafe.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRel0 is a free data retrieval call binding the contract method 0x8cf25ef4. -// -// Solidity: function assertApproxEqRel(uint256 left, uint256 right, uint256 maxPercentDelta) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRel0(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRel0(&_VmSafe.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRel1 is a free data retrieval call binding the contract method 0xef277d72. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRel1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRel1", left, right, maxPercentDelta, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel1 is a free data retrieval call binding the contract method 0xef277d72. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRel1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRel1(&_VmSafe.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel1 is a free data retrieval call binding the contract method 0xef277d72. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRel1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRel1(&_VmSafe.CallOpts, left, right, maxPercentDelta, error) -} - -// AssertApproxEqRel2 is a free data retrieval call binding the contract method 0xfea2d14f. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRel2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRel2", left, right, maxPercentDelta) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRel2 is a free data retrieval call binding the contract method 0xfea2d14f. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRel2(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRel2(&_VmSafe.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRel2 is a free data retrieval call binding the contract method 0xfea2d14f. -// -// Solidity: function assertApproxEqRel(int256 left, int256 right, uint256 maxPercentDelta) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRel2(left *big.Int, right *big.Int, maxPercentDelta *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRel2(&_VmSafe.CallOpts, left, right, maxPercentDelta) -} - -// AssertApproxEqRelDecimal is a free data retrieval call binding the contract method 0x21ed2977. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRelDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRelDecimal", left, right, maxPercentDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal is a free data retrieval call binding the contract method 0x21ed2977. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRelDecimal(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal is a free data retrieval call binding the contract method 0x21ed2977. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRelDecimal(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal0 is a free data retrieval call binding the contract method 0x82d6c8fd. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRelDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRelDecimal0", left, right, maxPercentDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal0 is a free data retrieval call binding the contract method 0x82d6c8fd. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRelDecimal0(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal0(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertApproxEqRelDecimal0 is a free data retrieval call binding the contract method 0x82d6c8fd. -// -// Solidity: function assertApproxEqRelDecimal(uint256 left, uint256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRelDecimal0(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal0(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertApproxEqRelDecimal1 is a free data retrieval call binding the contract method 0xabbf21cc. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRelDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRelDecimal1", left, right, maxPercentDelta, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal1 is a free data retrieval call binding the contract method 0xabbf21cc. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRelDecimal1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal1(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal1 is a free data retrieval call binding the contract method 0xabbf21cc. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRelDecimal1(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal1(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals) -} - -// AssertApproxEqRelDecimal2 is a free data retrieval call binding the contract method 0xfccc11c4. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertApproxEqRelDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertApproxEqRelDecimal2", left, right, maxPercentDelta, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertApproxEqRelDecimal2 is a free data retrieval call binding the contract method 0xfccc11c4. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertApproxEqRelDecimal2(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal2(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertApproxEqRelDecimal2 is a free data retrieval call binding the contract method 0xfccc11c4. -// -// Solidity: function assertApproxEqRelDecimal(int256 left, int256 right, uint256 maxPercentDelta, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertApproxEqRelDecimal2(left *big.Int, right *big.Int, maxPercentDelta *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertApproxEqRelDecimal2(&_VmSafe.CallOpts, left, right, maxPercentDelta, decimals, error) -} - -// AssertEq is a free data retrieval call binding the contract method 0x0cc9ee84. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq(opts *bind.CallOpts, left [][32]byte, right [][32]byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq is a free data retrieval call binding the contract method 0x0cc9ee84. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq(left [][32]byte, right [][32]byte) error { - return _VmSafe.Contract.AssertEq(&_VmSafe.CallOpts, left, right) -} - -// AssertEq is a free data retrieval call binding the contract method 0x0cc9ee84. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq(left [][32]byte, right [][32]byte) error { - return _VmSafe.Contract.AssertEq(&_VmSafe.CallOpts, left, right) -} - -// AssertEq0 is a free data retrieval call binding the contract method 0x191f1b30. -// -// Solidity: function assertEq(int256[] left, int256[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq0(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq0 is a free data retrieval call binding the contract method 0x191f1b30. -// -// Solidity: function assertEq(int256[] left, int256[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq0(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertEq0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq0 is a free data retrieval call binding the contract method 0x191f1b30. -// -// Solidity: function assertEq(int256[] left, int256[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq0(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertEq0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq1 is a free data retrieval call binding the contract method 0x2f2769d1. -// -// Solidity: function assertEq(address left, address right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq1(opts *bind.CallOpts, left common.Address, right common.Address, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq1", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq1 is a free data retrieval call binding the contract method 0x2f2769d1. -// -// Solidity: function assertEq(address left, address right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq1(left common.Address, right common.Address, error string) error { - return _VmSafe.Contract.AssertEq1(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq1 is a free data retrieval call binding the contract method 0x2f2769d1. -// -// Solidity: function assertEq(address left, address right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq1(left common.Address, right common.Address, error string) error { - return _VmSafe.Contract.AssertEq1(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq10 is a free data retrieval call binding the contract method 0x714a2f13. -// -// Solidity: function assertEq(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq10(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq10", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq10 is a free data retrieval call binding the contract method 0x714a2f13. -// -// Solidity: function assertEq(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq10(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertEq10(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq10 is a free data retrieval call binding the contract method 0x714a2f13. -// -// Solidity: function assertEq(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq10(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertEq10(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq11 is a free data retrieval call binding the contract method 0x7c84c69b. -// -// Solidity: function assertEq(bytes32 left, bytes32 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq11(opts *bind.CallOpts, left [32]byte, right [32]byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq11", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq11 is a free data retrieval call binding the contract method 0x7c84c69b. -// -// Solidity: function assertEq(bytes32 left, bytes32 right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq11(left [32]byte, right [32]byte) error { - return _VmSafe.Contract.AssertEq11(&_VmSafe.CallOpts, left, right) -} - -// AssertEq11 is a free data retrieval call binding the contract method 0x7c84c69b. -// -// Solidity: function assertEq(bytes32 left, bytes32 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq11(left [32]byte, right [32]byte) error { - return _VmSafe.Contract.AssertEq11(&_VmSafe.CallOpts, left, right) -} - -// AssertEq12 is a free data retrieval call binding the contract method 0x88b44c85. -// -// Solidity: function assertEq(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq12(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq12", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq12 is a free data retrieval call binding the contract method 0x88b44c85. -// -// Solidity: function assertEq(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq12(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertEq12(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq12 is a free data retrieval call binding the contract method 0x88b44c85. -// -// Solidity: function assertEq(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq12(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertEq12(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq13 is a free data retrieval call binding the contract method 0x975d5a12. -// -// Solidity: function assertEq(uint256[] left, uint256[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq13(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq13", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq13 is a free data retrieval call binding the contract method 0x975d5a12. -// -// Solidity: function assertEq(uint256[] left, uint256[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq13(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertEq13(&_VmSafe.CallOpts, left, right) -} - -// AssertEq13 is a free data retrieval call binding the contract method 0x975d5a12. -// -// Solidity: function assertEq(uint256[] left, uint256[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq13(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertEq13(&_VmSafe.CallOpts, left, right) -} - -// AssertEq14 is a free data retrieval call binding the contract method 0x97624631. -// -// Solidity: function assertEq(bytes left, bytes right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq14(opts *bind.CallOpts, left []byte, right []byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq14", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq14 is a free data retrieval call binding the contract method 0x97624631. -// -// Solidity: function assertEq(bytes left, bytes right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq14(left []byte, right []byte) error { - return _VmSafe.Contract.AssertEq14(&_VmSafe.CallOpts, left, right) -} - -// AssertEq14 is a free data retrieval call binding the contract method 0x97624631. -// -// Solidity: function assertEq(bytes left, bytes right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq14(left []byte, right []byte) error { - return _VmSafe.Contract.AssertEq14(&_VmSafe.CallOpts, left, right) -} - -// AssertEq15 is a free data retrieval call binding the contract method 0x98296c54. -// -// Solidity: function assertEq(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq15(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq15", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq15 is a free data retrieval call binding the contract method 0x98296c54. -// -// Solidity: function assertEq(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq15(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertEq15(&_VmSafe.CallOpts, left, right) -} - -// AssertEq15 is a free data retrieval call binding the contract method 0x98296c54. -// -// Solidity: function assertEq(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq15(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertEq15(&_VmSafe.CallOpts, left, right) -} - -// AssertEq16 is a free data retrieval call binding the contract method 0xc1fa1ed0. -// -// Solidity: function assertEq(bytes32 left, bytes32 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq16(opts *bind.CallOpts, left [32]byte, right [32]byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq16", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq16 is a free data retrieval call binding the contract method 0xc1fa1ed0. -// -// Solidity: function assertEq(bytes32 left, bytes32 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq16(left [32]byte, right [32]byte, error string) error { - return _VmSafe.Contract.AssertEq16(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq16 is a free data retrieval call binding the contract method 0xc1fa1ed0. -// -// Solidity: function assertEq(bytes32 left, bytes32 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq16(left [32]byte, right [32]byte, error string) error { - return _VmSafe.Contract.AssertEq16(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq17 is a free data retrieval call binding the contract method 0xcf1c049c. -// -// Solidity: function assertEq(string[] left, string[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq17(opts *bind.CallOpts, left []string, right []string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq17", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq17 is a free data retrieval call binding the contract method 0xcf1c049c. -// -// Solidity: function assertEq(string[] left, string[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq17(left []string, right []string) error { - return _VmSafe.Contract.AssertEq17(&_VmSafe.CallOpts, left, right) -} - -// AssertEq17 is a free data retrieval call binding the contract method 0xcf1c049c. -// -// Solidity: function assertEq(string[] left, string[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq17(left []string, right []string) error { - return _VmSafe.Contract.AssertEq17(&_VmSafe.CallOpts, left, right) -} - -// AssertEq18 is a free data retrieval call binding the contract method 0xe03e9177. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq18(opts *bind.CallOpts, left [][32]byte, right [][32]byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq18", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq18 is a free data retrieval call binding the contract method 0xe03e9177. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq18(left [][32]byte, right [][32]byte, error string) error { - return _VmSafe.Contract.AssertEq18(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq18 is a free data retrieval call binding the contract method 0xe03e9177. -// -// Solidity: function assertEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq18(left [][32]byte, right [][32]byte, error string) error { - return _VmSafe.Contract.AssertEq18(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq19 is a free data retrieval call binding the contract method 0xe24fed00. -// -// Solidity: function assertEq(bytes left, bytes right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq19(opts *bind.CallOpts, left []byte, right []byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq19", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq19 is a free data retrieval call binding the contract method 0xe24fed00. -// -// Solidity: function assertEq(bytes left, bytes right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq19(left []byte, right []byte, error string) error { - return _VmSafe.Contract.AssertEq19(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq19 is a free data retrieval call binding the contract method 0xe24fed00. -// -// Solidity: function assertEq(bytes left, bytes right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq19(left []byte, right []byte, error string) error { - return _VmSafe.Contract.AssertEq19(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq2 is a free data retrieval call binding the contract method 0x36f656d8. -// -// Solidity: function assertEq(string left, string right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq2(opts *bind.CallOpts, left string, right string, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq2 is a free data retrieval call binding the contract method 0x36f656d8. -// -// Solidity: function assertEq(string left, string right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq2(left string, right string, error string) error { - return _VmSafe.Contract.AssertEq2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq2 is a free data retrieval call binding the contract method 0x36f656d8. -// -// Solidity: function assertEq(string left, string right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq2(left string, right string, error string) error { - return _VmSafe.Contract.AssertEq2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq20 is a free data retrieval call binding the contract method 0xe48a8f8d. -// -// Solidity: function assertEq(bool[] left, bool[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq20(opts *bind.CallOpts, left []bool, right []bool, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq20", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq20 is a free data retrieval call binding the contract method 0xe48a8f8d. -// -// Solidity: function assertEq(bool[] left, bool[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq20(left []bool, right []bool, error string) error { - return _VmSafe.Contract.AssertEq20(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq20 is a free data retrieval call binding the contract method 0xe48a8f8d. -// -// Solidity: function assertEq(bool[] left, bool[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq20(left []bool, right []bool, error string) error { - return _VmSafe.Contract.AssertEq20(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq21 is a free data retrieval call binding the contract method 0xe5fb9b4a. -// -// Solidity: function assertEq(bytes[] left, bytes[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq21(opts *bind.CallOpts, left [][]byte, right [][]byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq21", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq21 is a free data retrieval call binding the contract method 0xe5fb9b4a. -// -// Solidity: function assertEq(bytes[] left, bytes[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq21(left [][]byte, right [][]byte) error { - return _VmSafe.Contract.AssertEq21(&_VmSafe.CallOpts, left, right) -} - -// AssertEq21 is a free data retrieval call binding the contract method 0xe5fb9b4a. -// -// Solidity: function assertEq(bytes[] left, bytes[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq21(left [][]byte, right [][]byte) error { - return _VmSafe.Contract.AssertEq21(&_VmSafe.CallOpts, left, right) -} - -// AssertEq22 is a free data retrieval call binding the contract method 0xeff6b27d. -// -// Solidity: function assertEq(string[] left, string[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq22(opts *bind.CallOpts, left []string, right []string, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq22", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq22 is a free data retrieval call binding the contract method 0xeff6b27d. -// -// Solidity: function assertEq(string[] left, string[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq22(left []string, right []string, error string) error { - return _VmSafe.Contract.AssertEq22(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq22 is a free data retrieval call binding the contract method 0xeff6b27d. -// -// Solidity: function assertEq(string[] left, string[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq22(left []string, right []string, error string) error { - return _VmSafe.Contract.AssertEq22(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq23 is a free data retrieval call binding the contract method 0xf320d963. -// -// Solidity: function assertEq(string left, string right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq23(opts *bind.CallOpts, left string, right string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq23", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq23 is a free data retrieval call binding the contract method 0xf320d963. -// -// Solidity: function assertEq(string left, string right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq23(left string, right string) error { - return _VmSafe.Contract.AssertEq23(&_VmSafe.CallOpts, left, right) -} - -// AssertEq23 is a free data retrieval call binding the contract method 0xf320d963. -// -// Solidity: function assertEq(string left, string right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq23(left string, right string) error { - return _VmSafe.Contract.AssertEq23(&_VmSafe.CallOpts, left, right) -} - -// AssertEq24 is a free data retrieval call binding the contract method 0xf413f0b6. -// -// Solidity: function assertEq(bytes[] left, bytes[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq24(opts *bind.CallOpts, left [][]byte, right [][]byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq24", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq24 is a free data retrieval call binding the contract method 0xf413f0b6. -// -// Solidity: function assertEq(bytes[] left, bytes[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq24(left [][]byte, right [][]byte, error string) error { - return _VmSafe.Contract.AssertEq24(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq24 is a free data retrieval call binding the contract method 0xf413f0b6. -// -// Solidity: function assertEq(bytes[] left, bytes[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq24(left [][]byte, right [][]byte, error string) error { - return _VmSafe.Contract.AssertEq24(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq25 is a free data retrieval call binding the contract method 0xf7fe3477. -// -// Solidity: function assertEq(bool left, bool right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq25(opts *bind.CallOpts, left bool, right bool) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq25", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq25 is a free data retrieval call binding the contract method 0xf7fe3477. -// -// Solidity: function assertEq(bool left, bool right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq25(left bool, right bool) error { - return _VmSafe.Contract.AssertEq25(&_VmSafe.CallOpts, left, right) -} - -// AssertEq25 is a free data retrieval call binding the contract method 0xf7fe3477. -// -// Solidity: function assertEq(bool left, bool right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq25(left bool, right bool) error { - return _VmSafe.Contract.AssertEq25(&_VmSafe.CallOpts, left, right) -} - -// AssertEq26 is a free data retrieval call binding the contract method 0xfe74f05b. -// -// Solidity: function assertEq(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq26(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq26", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq26 is a free data retrieval call binding the contract method 0xfe74f05b. -// -// Solidity: function assertEq(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq26(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertEq26(&_VmSafe.CallOpts, left, right) -} - -// AssertEq26 is a free data retrieval call binding the contract method 0xfe74f05b. -// -// Solidity: function assertEq(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq26(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertEq26(&_VmSafe.CallOpts, left, right) -} - -// AssertEq3 is a free data retrieval call binding the contract method 0x3868ac34. -// -// Solidity: function assertEq(address[] left, address[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq3(opts *bind.CallOpts, left []common.Address, right []common.Address) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq3", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq3 is a free data retrieval call binding the contract method 0x3868ac34. -// -// Solidity: function assertEq(address[] left, address[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq3(left []common.Address, right []common.Address) error { - return _VmSafe.Contract.AssertEq3(&_VmSafe.CallOpts, left, right) -} - -// AssertEq3 is a free data retrieval call binding the contract method 0x3868ac34. -// -// Solidity: function assertEq(address[] left, address[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq3(left []common.Address, right []common.Address) error { - return _VmSafe.Contract.AssertEq3(&_VmSafe.CallOpts, left, right) -} - -// AssertEq4 is a free data retrieval call binding the contract method 0x3e9173c5. -// -// Solidity: function assertEq(address[] left, address[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq4(opts *bind.CallOpts, left []common.Address, right []common.Address, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq4", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq4 is a free data retrieval call binding the contract method 0x3e9173c5. -// -// Solidity: function assertEq(address[] left, address[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq4(left []common.Address, right []common.Address, error string) error { - return _VmSafe.Contract.AssertEq4(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq4 is a free data retrieval call binding the contract method 0x3e9173c5. -// -// Solidity: function assertEq(address[] left, address[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq4(left []common.Address, right []common.Address, error string) error { - return _VmSafe.Contract.AssertEq4(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq5 is a free data retrieval call binding the contract method 0x4db19e7e. -// -// Solidity: function assertEq(bool left, bool right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq5(opts *bind.CallOpts, left bool, right bool, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq5", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq5 is a free data retrieval call binding the contract method 0x4db19e7e. -// -// Solidity: function assertEq(bool left, bool right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq5(left bool, right bool, error string) error { - return _VmSafe.Contract.AssertEq5(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq5 is a free data retrieval call binding the contract method 0x4db19e7e. -// -// Solidity: function assertEq(bool left, bool right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq5(left bool, right bool, error string) error { - return _VmSafe.Contract.AssertEq5(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq6 is a free data retrieval call binding the contract method 0x515361f6. -// -// Solidity: function assertEq(address left, address right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq6(opts *bind.CallOpts, left common.Address, right common.Address) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq6", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq6 is a free data retrieval call binding the contract method 0x515361f6. -// -// Solidity: function assertEq(address left, address right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq6(left common.Address, right common.Address) error { - return _VmSafe.Contract.AssertEq6(&_VmSafe.CallOpts, left, right) -} - -// AssertEq6 is a free data retrieval call binding the contract method 0x515361f6. -// -// Solidity: function assertEq(address left, address right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq6(left common.Address, right common.Address) error { - return _VmSafe.Contract.AssertEq6(&_VmSafe.CallOpts, left, right) -} - -// AssertEq7 is a free data retrieval call binding the contract method 0x5d18c73a. -// -// Solidity: function assertEq(uint256[] left, uint256[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq7(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq7", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEq7 is a free data retrieval call binding the contract method 0x5d18c73a. -// -// Solidity: function assertEq(uint256[] left, uint256[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEq7(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertEq7(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq7 is a free data retrieval call binding the contract method 0x5d18c73a. -// -// Solidity: function assertEq(uint256[] left, uint256[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq7(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertEq7(&_VmSafe.CallOpts, left, right, error) -} - -// AssertEq8 is a free data retrieval call binding the contract method 0x707df785. -// -// Solidity: function assertEq(bool[] left, bool[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq8(opts *bind.CallOpts, left []bool, right []bool) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq8", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq8 is a free data retrieval call binding the contract method 0x707df785. -// -// Solidity: function assertEq(bool[] left, bool[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq8(left []bool, right []bool) error { - return _VmSafe.Contract.AssertEq8(&_VmSafe.CallOpts, left, right) -} - -// AssertEq8 is a free data retrieval call binding the contract method 0x707df785. -// -// Solidity: function assertEq(bool[] left, bool[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq8(left []bool, right []bool) error { - return _VmSafe.Contract.AssertEq8(&_VmSafe.CallOpts, left, right) -} - -// AssertEq9 is a free data retrieval call binding the contract method 0x711043ac. -// -// Solidity: function assertEq(int256[] left, int256[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertEq9(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEq9", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertEq9 is a free data retrieval call binding the contract method 0x711043ac. -// -// Solidity: function assertEq(int256[] left, int256[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertEq9(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertEq9(&_VmSafe.CallOpts, left, right) -} - -// AssertEq9 is a free data retrieval call binding the contract method 0x711043ac. -// -// Solidity: function assertEq(int256[] left, int256[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEq9(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertEq9(&_VmSafe.CallOpts, left, right) -} - -// AssertEqDecimal is a free data retrieval call binding the contract method 0x27af7d9c. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertEqDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEqDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal is a free data retrieval call binding the contract method 0x27af7d9c. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertEqDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertEqDecimal is a free data retrieval call binding the contract method 0x27af7d9c. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertEqDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertEqDecimal0 is a free data retrieval call binding the contract method 0x48016c04. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertEqDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEqDecimal0", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal0 is a free data retrieval call binding the contract method 0x48016c04. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertEqDecimal0(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertEqDecimal0 is a free data retrieval call binding the contract method 0x48016c04. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertEqDecimal0(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertEqDecimal1 is a free data retrieval call binding the contract method 0x7e77b0c5. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEqDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEqDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal1 is a free data retrieval call binding the contract method 0x7e77b0c5. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertEqDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertEqDecimal1 is a free data retrieval call binding the contract method 0x7e77b0c5. -// -// Solidity: function assertEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertEqDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertEqDecimal2 is a free data retrieval call binding the contract method 0xd0cbbdef. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertEqDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertEqDecimal2", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertEqDecimal2 is a free data retrieval call binding the contract method 0xd0cbbdef. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertEqDecimal2(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertEqDecimal2 is a free data retrieval call binding the contract method 0xd0cbbdef. -// -// Solidity: function assertEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertEqDecimal2(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertFalse is a free data retrieval call binding the contract method 0x7ba04809. -// -// Solidity: function assertFalse(bool condition, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertFalse(opts *bind.CallOpts, condition bool, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertFalse", condition, error) - - if err != nil { - return err - } - - return err - -} - -// AssertFalse is a free data retrieval call binding the contract method 0x7ba04809. -// -// Solidity: function assertFalse(bool condition, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertFalse(condition bool, error string) error { - return _VmSafe.Contract.AssertFalse(&_VmSafe.CallOpts, condition, error) -} - -// AssertFalse is a free data retrieval call binding the contract method 0x7ba04809. -// -// Solidity: function assertFalse(bool condition, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertFalse(condition bool, error string) error { - return _VmSafe.Contract.AssertFalse(&_VmSafe.CallOpts, condition, error) -} - -// AssertFalse0 is a free data retrieval call binding the contract method 0xa5982885. -// -// Solidity: function assertFalse(bool condition) pure returns() -func (_VmSafe *VmSafeCaller) AssertFalse0(opts *bind.CallOpts, condition bool) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertFalse0", condition) - - if err != nil { - return err - } - - return err - -} - -// AssertFalse0 is a free data retrieval call binding the contract method 0xa5982885. -// -// Solidity: function assertFalse(bool condition) pure returns() -func (_VmSafe *VmSafeSession) AssertFalse0(condition bool) error { - return _VmSafe.Contract.AssertFalse0(&_VmSafe.CallOpts, condition) -} - -// AssertFalse0 is a free data retrieval call binding the contract method 0xa5982885. -// -// Solidity: function assertFalse(bool condition) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertFalse0(condition bool) error { - return _VmSafe.Contract.AssertFalse0(&_VmSafe.CallOpts, condition) -} - -// AssertGe is a free data retrieval call binding the contract method 0x0a30b771. -// -// Solidity: function assertGe(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertGe(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGe", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGe is a free data retrieval call binding the contract method 0x0a30b771. -// -// Solidity: function assertGe(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertGe(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGe(&_VmSafe.CallOpts, left, right) -} - -// AssertGe is a free data retrieval call binding the contract method 0x0a30b771. -// -// Solidity: function assertGe(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGe(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGe(&_VmSafe.CallOpts, left, right) -} - -// AssertGe0 is a free data retrieval call binding the contract method 0xa84328dd. -// -// Solidity: function assertGe(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGe0(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGe0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGe0 is a free data retrieval call binding the contract method 0xa84328dd. -// -// Solidity: function assertGe(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGe0(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGe0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGe0 is a free data retrieval call binding the contract method 0xa84328dd. -// -// Solidity: function assertGe(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGe0(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGe0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGe1 is a free data retrieval call binding the contract method 0xa8d4d1d9. -// -// Solidity: function assertGe(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertGe1(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGe1", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGe1 is a free data retrieval call binding the contract method 0xa8d4d1d9. -// -// Solidity: function assertGe(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertGe1(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGe1(&_VmSafe.CallOpts, left, right) -} - -// AssertGe1 is a free data retrieval call binding the contract method 0xa8d4d1d9. -// -// Solidity: function assertGe(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGe1(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGe1(&_VmSafe.CallOpts, left, right) -} - -// AssertGe2 is a free data retrieval call binding the contract method 0xe25242c0. -// -// Solidity: function assertGe(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGe2(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGe2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGe2 is a free data retrieval call binding the contract method 0xe25242c0. -// -// Solidity: function assertGe(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGe2(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGe2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGe2 is a free data retrieval call binding the contract method 0xe25242c0. -// -// Solidity: function assertGe(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGe2(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGe2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGeDecimal is a free data retrieval call binding the contract method 0x3d1fe08a. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertGeDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGeDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal is a free data retrieval call binding the contract method 0x3d1fe08a. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertGeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGeDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertGeDecimal is a free data retrieval call binding the contract method 0x3d1fe08a. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGeDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertGeDecimal0 is a free data retrieval call binding the contract method 0x5df93c9b. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGeDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGeDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal0 is a free data retrieval call binding the contract method 0x5df93c9b. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGeDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal0 is a free data retrieval call binding the contract method 0x5df93c9b. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGeDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal1 is a free data retrieval call binding the contract method 0x8bff9133. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGeDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGeDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal1 is a free data retrieval call binding the contract method 0x8bff9133. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGeDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal1 is a free data retrieval call binding the contract method 0x8bff9133. -// -// Solidity: function assertGeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGeDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGeDecimal2 is a free data retrieval call binding the contract method 0xdc28c0f1. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertGeDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGeDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGeDecimal2 is a free data retrieval call binding the contract method 0xdc28c0f1. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertGeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGeDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertGeDecimal2 is a free data retrieval call binding the contract method 0xdc28c0f1. -// -// Solidity: function assertGeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGeDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertGt is a free data retrieval call binding the contract method 0x5a362d45. -// -// Solidity: function assertGt(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertGt(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGt", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGt is a free data retrieval call binding the contract method 0x5a362d45. -// -// Solidity: function assertGt(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertGt(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGt(&_VmSafe.CallOpts, left, right) -} - -// AssertGt is a free data retrieval call binding the contract method 0x5a362d45. -// -// Solidity: function assertGt(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGt(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGt(&_VmSafe.CallOpts, left, right) -} - -// AssertGt0 is a free data retrieval call binding the contract method 0xd9a3c4d2. -// -// Solidity: function assertGt(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGt0(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGt0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGt0 is a free data retrieval call binding the contract method 0xd9a3c4d2. -// -// Solidity: function assertGt(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGt0(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGt0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGt0 is a free data retrieval call binding the contract method 0xd9a3c4d2. -// -// Solidity: function assertGt(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGt0(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGt0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGt1 is a free data retrieval call binding the contract method 0xdb07fcd2. -// -// Solidity: function assertGt(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertGt1(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGt1", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertGt1 is a free data retrieval call binding the contract method 0xdb07fcd2. -// -// Solidity: function assertGt(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertGt1(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGt1(&_VmSafe.CallOpts, left, right) -} - -// AssertGt1 is a free data retrieval call binding the contract method 0xdb07fcd2. -// -// Solidity: function assertGt(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGt1(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertGt1(&_VmSafe.CallOpts, left, right) -} - -// AssertGt2 is a free data retrieval call binding the contract method 0xf8d33b9b. -// -// Solidity: function assertGt(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGt2(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGt2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGt2 is a free data retrieval call binding the contract method 0xf8d33b9b. -// -// Solidity: function assertGt(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGt2(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGt2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGt2 is a free data retrieval call binding the contract method 0xf8d33b9b. -// -// Solidity: function assertGt(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGt2(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertGt2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertGtDecimal is a free data retrieval call binding the contract method 0x04a5c7ab. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGtDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGtDecimal", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal is a free data retrieval call binding the contract method 0x04a5c7ab. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGtDecimal(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGtDecimal(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal is a free data retrieval call binding the contract method 0x04a5c7ab. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGtDecimal(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGtDecimal(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal0 is a free data retrieval call binding the contract method 0x64949a8d. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertGtDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGtDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal0 is a free data retrieval call binding the contract method 0x64949a8d. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertGtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGtDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal0 is a free data retrieval call binding the contract method 0x64949a8d. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertGtDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertGtDecimal1 is a free data retrieval call binding the contract method 0x78611f0e. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertGtDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGtDecimal1", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal1 is a free data retrieval call binding the contract method 0x78611f0e. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertGtDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGtDecimal1(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertGtDecimal1 is a free data retrieval call binding the contract method 0x78611f0e. -// -// Solidity: function assertGtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGtDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGtDecimal1(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertGtDecimal2 is a free data retrieval call binding the contract method 0xeccd2437. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertGtDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertGtDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertGtDecimal2 is a free data retrieval call binding the contract method 0xeccd2437. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertGtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGtDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertGtDecimal2 is a free data retrieval call binding the contract method 0xeccd2437. -// -// Solidity: function assertGtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertGtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertGtDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLe is a free data retrieval call binding the contract method 0x4dfe692c. -// -// Solidity: function assertLe(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLe(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLe", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLe is a free data retrieval call binding the contract method 0x4dfe692c. -// -// Solidity: function assertLe(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLe(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLe(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLe is a free data retrieval call binding the contract method 0x4dfe692c. -// -// Solidity: function assertLe(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLe(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLe(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLe0 is a free data retrieval call binding the contract method 0x8466f415. -// -// Solidity: function assertLe(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertLe0(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLe0", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLe0 is a free data retrieval call binding the contract method 0x8466f415. -// -// Solidity: function assertLe(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertLe0(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLe0(&_VmSafe.CallOpts, left, right) -} - -// AssertLe0 is a free data retrieval call binding the contract method 0x8466f415. -// -// Solidity: function assertLe(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLe0(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLe0(&_VmSafe.CallOpts, left, right) -} - -// AssertLe1 is a free data retrieval call binding the contract method 0x95fd154e. -// -// Solidity: function assertLe(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertLe1(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLe1", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLe1 is a free data retrieval call binding the contract method 0x95fd154e. -// -// Solidity: function assertLe(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertLe1(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLe1(&_VmSafe.CallOpts, left, right) -} - -// AssertLe1 is a free data retrieval call binding the contract method 0x95fd154e. -// -// Solidity: function assertLe(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLe1(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLe1(&_VmSafe.CallOpts, left, right) -} - -// AssertLe2 is a free data retrieval call binding the contract method 0xd17d4b0d. -// -// Solidity: function assertLe(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLe2(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLe2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLe2 is a free data retrieval call binding the contract method 0xd17d4b0d. -// -// Solidity: function assertLe(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLe2(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLe2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLe2 is a free data retrieval call binding the contract method 0xd17d4b0d. -// -// Solidity: function assertLe(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLe2(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLe2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLeDecimal is a free data retrieval call binding the contract method 0x11d1364a. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertLeDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLeDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal is a free data retrieval call binding the contract method 0x11d1364a. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertLeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLeDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLeDecimal is a free data retrieval call binding the contract method 0x11d1364a. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLeDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLeDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLeDecimal0 is a free data retrieval call binding the contract method 0x7fefbbe0. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLeDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLeDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal0 is a free data retrieval call binding the contract method 0x7fefbbe0. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLeDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal0 is a free data retrieval call binding the contract method 0x7fefbbe0. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLeDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLeDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal1 is a free data retrieval call binding the contract method 0xaa5cf788. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLeDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLeDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal1 is a free data retrieval call binding the contract method 0xaa5cf788. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLeDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal1 is a free data retrieval call binding the contract method 0xaa5cf788. -// -// Solidity: function assertLeDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLeDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLeDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLeDecimal2 is a free data retrieval call binding the contract method 0xc304aab7. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertLeDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLeDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLeDecimal2 is a free data retrieval call binding the contract method 0xc304aab7. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertLeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLeDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLeDecimal2 is a free data retrieval call binding the contract method 0xc304aab7. -// -// Solidity: function assertLeDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLeDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLeDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLt is a free data retrieval call binding the contract method 0x3e914080. -// -// Solidity: function assertLt(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertLt(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLt", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLt is a free data retrieval call binding the contract method 0x3e914080. -// -// Solidity: function assertLt(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertLt(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLt(&_VmSafe.CallOpts, left, right) -} - -// AssertLt is a free data retrieval call binding the contract method 0x3e914080. -// -// Solidity: function assertLt(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLt(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLt(&_VmSafe.CallOpts, left, right) -} - -// AssertLt0 is a free data retrieval call binding the contract method 0x65d5c135. -// -// Solidity: function assertLt(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLt0(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLt0", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLt0 is a free data retrieval call binding the contract method 0x65d5c135. -// -// Solidity: function assertLt(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLt0(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLt0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLt0 is a free data retrieval call binding the contract method 0x65d5c135. -// -// Solidity: function assertLt(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLt0(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLt0(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLt1 is a free data retrieval call binding the contract method 0x9ff531e3. -// -// Solidity: function assertLt(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLt1(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLt1", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLt1 is a free data retrieval call binding the contract method 0x9ff531e3. -// -// Solidity: function assertLt(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLt1(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLt1(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLt1 is a free data retrieval call binding the contract method 0x9ff531e3. -// -// Solidity: function assertLt(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLt1(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertLt1(&_VmSafe.CallOpts, left, right, error) -} - -// AssertLt2 is a free data retrieval call binding the contract method 0xb12fc005. -// -// Solidity: function assertLt(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertLt2(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLt2", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertLt2 is a free data retrieval call binding the contract method 0xb12fc005. -// -// Solidity: function assertLt(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertLt2(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLt2(&_VmSafe.CallOpts, left, right) -} - -// AssertLt2 is a free data retrieval call binding the contract method 0xb12fc005. -// -// Solidity: function assertLt(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLt2(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertLt2(&_VmSafe.CallOpts, left, right) -} - -// AssertLtDecimal is a free data retrieval call binding the contract method 0x2077337e. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertLtDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLtDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal is a free data retrieval call binding the contract method 0x2077337e. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertLtDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLtDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLtDecimal is a free data retrieval call binding the contract method 0x2077337e. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLtDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLtDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLtDecimal0 is a free data retrieval call binding the contract method 0x40f0b4e0. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLtDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLtDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal0 is a free data retrieval call binding the contract method 0x40f0b4e0. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLtDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal0 is a free data retrieval call binding the contract method 0x40f0b4e0. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLtDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLtDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal1 is a free data retrieval call binding the contract method 0xa972d037. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertLtDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLtDecimal1", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal1 is a free data retrieval call binding the contract method 0xa972d037. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertLtDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLtDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal1 is a free data retrieval call binding the contract method 0xa972d037. -// -// Solidity: function assertLtDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLtDecimal1(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertLtDecimal1(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertLtDecimal2 is a free data retrieval call binding the contract method 0xdbe8d88b. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertLtDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertLtDecimal2", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertLtDecimal2 is a free data retrieval call binding the contract method 0xdbe8d88b. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertLtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLtDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertLtDecimal2 is a free data retrieval call binding the contract method 0xdbe8d88b. -// -// Solidity: function assertLtDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertLtDecimal2(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertLtDecimal2(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertNotEq is a free data retrieval call binding the contract method 0x0603ea68. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq(opts *bind.CallOpts, left [][32]byte, right [][32]byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq is a free data retrieval call binding the contract method 0x0603ea68. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq(left [][32]byte, right [][32]byte) error { - return _VmSafe.Contract.AssertNotEq(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq is a free data retrieval call binding the contract method 0x0603ea68. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq(left [][32]byte, right [][32]byte) error { - return _VmSafe.Contract.AssertNotEq(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq0 is a free data retrieval call binding the contract method 0x0b72f4ef. -// -// Solidity: function assertNotEq(int256[] left, int256[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq0(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq0", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq0 is a free data retrieval call binding the contract method 0x0b72f4ef. -// -// Solidity: function assertNotEq(int256[] left, int256[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq0(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertNotEq0(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq0 is a free data retrieval call binding the contract method 0x0b72f4ef. -// -// Solidity: function assertNotEq(int256[] left, int256[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq0(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertNotEq0(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq1 is a free data retrieval call binding the contract method 0x1091a261. -// -// Solidity: function assertNotEq(bool left, bool right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq1(opts *bind.CallOpts, left bool, right bool, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq1", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq1 is a free data retrieval call binding the contract method 0x1091a261. -// -// Solidity: function assertNotEq(bool left, bool right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq1(left bool, right bool, error string) error { - return _VmSafe.Contract.AssertNotEq1(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq1 is a free data retrieval call binding the contract method 0x1091a261. -// -// Solidity: function assertNotEq(bool left, bool right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq1(left bool, right bool, error string) error { - return _VmSafe.Contract.AssertNotEq1(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq10 is a free data retrieval call binding the contract method 0x6a8237b3. -// -// Solidity: function assertNotEq(string left, string right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq10(opts *bind.CallOpts, left string, right string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq10", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq10 is a free data retrieval call binding the contract method 0x6a8237b3. -// -// Solidity: function assertNotEq(string left, string right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq10(left string, right string) error { - return _VmSafe.Contract.AssertNotEq10(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq10 is a free data retrieval call binding the contract method 0x6a8237b3. -// -// Solidity: function assertNotEq(string left, string right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq10(left string, right string) error { - return _VmSafe.Contract.AssertNotEq10(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq11 is a free data retrieval call binding the contract method 0x72c7e0b5. -// -// Solidity: function assertNotEq(address[] left, address[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq11(opts *bind.CallOpts, left []common.Address, right []common.Address, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq11", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq11 is a free data retrieval call binding the contract method 0x72c7e0b5. -// -// Solidity: function assertNotEq(address[] left, address[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq11(left []common.Address, right []common.Address, error string) error { - return _VmSafe.Contract.AssertNotEq11(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq11 is a free data retrieval call binding the contract method 0x72c7e0b5. -// -// Solidity: function assertNotEq(address[] left, address[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq11(left []common.Address, right []common.Address, error string) error { - return _VmSafe.Contract.AssertNotEq11(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq12 is a free data retrieval call binding the contract method 0x78bdcea7. -// -// Solidity: function assertNotEq(string left, string right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq12(opts *bind.CallOpts, left string, right string, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq12", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq12 is a free data retrieval call binding the contract method 0x78bdcea7. -// -// Solidity: function assertNotEq(string left, string right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq12(left string, right string, error string) error { - return _VmSafe.Contract.AssertNotEq12(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq12 is a free data retrieval call binding the contract method 0x78bdcea7. -// -// Solidity: function assertNotEq(string left, string right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq12(left string, right string, error string) error { - return _VmSafe.Contract.AssertNotEq12(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq13 is a free data retrieval call binding the contract method 0x8775a591. -// -// Solidity: function assertNotEq(address left, address right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq13(opts *bind.CallOpts, left common.Address, right common.Address, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq13", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq13 is a free data retrieval call binding the contract method 0x8775a591. -// -// Solidity: function assertNotEq(address left, address right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq13(left common.Address, right common.Address, error string) error { - return _VmSafe.Contract.AssertNotEq13(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq13 is a free data retrieval call binding the contract method 0x8775a591. -// -// Solidity: function assertNotEq(address left, address right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq13(left common.Address, right common.Address, error string) error { - return _VmSafe.Contract.AssertNotEq13(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq14 is a free data retrieval call binding the contract method 0x898e83fc. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq14(opts *bind.CallOpts, left [32]byte, right [32]byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq14", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq14 is a free data retrieval call binding the contract method 0x898e83fc. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq14(left [32]byte, right [32]byte) error { - return _VmSafe.Contract.AssertNotEq14(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq14 is a free data retrieval call binding the contract method 0x898e83fc. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq14(left [32]byte, right [32]byte) error { - return _VmSafe.Contract.AssertNotEq14(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq15 is a free data retrieval call binding the contract method 0x9507540e. -// -// Solidity: function assertNotEq(bytes left, bytes right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq15(opts *bind.CallOpts, left []byte, right []byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq15", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq15 is a free data retrieval call binding the contract method 0x9507540e. -// -// Solidity: function assertNotEq(bytes left, bytes right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq15(left []byte, right []byte, error string) error { - return _VmSafe.Contract.AssertNotEq15(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq15 is a free data retrieval call binding the contract method 0x9507540e. -// -// Solidity: function assertNotEq(bytes left, bytes right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq15(left []byte, right []byte, error string) error { - return _VmSafe.Contract.AssertNotEq15(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq16 is a free data retrieval call binding the contract method 0x98f9bdbd. -// -// Solidity: function assertNotEq(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq16(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq16", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq16 is a free data retrieval call binding the contract method 0x98f9bdbd. -// -// Solidity: function assertNotEq(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq16(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq16(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq16 is a free data retrieval call binding the contract method 0x98f9bdbd. -// -// Solidity: function assertNotEq(uint256 left, uint256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq16(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq16(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq17 is a free data retrieval call binding the contract method 0x9a7fbd8f. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq17(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq17", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq17 is a free data retrieval call binding the contract method 0x9a7fbd8f. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq17(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq17(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq17 is a free data retrieval call binding the contract method 0x9a7fbd8f. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq17(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq17(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq18 is a free data retrieval call binding the contract method 0xb12e1694. -// -// Solidity: function assertNotEq(address left, address right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq18(opts *bind.CallOpts, left common.Address, right common.Address) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq18", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq18 is a free data retrieval call binding the contract method 0xb12e1694. -// -// Solidity: function assertNotEq(address left, address right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq18(left common.Address, right common.Address) error { - return _VmSafe.Contract.AssertNotEq18(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq18 is a free data retrieval call binding the contract method 0xb12e1694. -// -// Solidity: function assertNotEq(address left, address right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq18(left common.Address, right common.Address) error { - return _VmSafe.Contract.AssertNotEq18(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq19 is a free data retrieval call binding the contract method 0xb2332f51. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq19(opts *bind.CallOpts, left [32]byte, right [32]byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq19", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq19 is a free data retrieval call binding the contract method 0xb2332f51. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq19(left [32]byte, right [32]byte, error string) error { - return _VmSafe.Contract.AssertNotEq19(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq19 is a free data retrieval call binding the contract method 0xb2332f51. -// -// Solidity: function assertNotEq(bytes32 left, bytes32 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq19(left [32]byte, right [32]byte, error string) error { - return _VmSafe.Contract.AssertNotEq19(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq2 is a free data retrieval call binding the contract method 0x1dcd1f68. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq2(opts *bind.CallOpts, left [][]byte, right [][]byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq2", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq2 is a free data retrieval call binding the contract method 0x1dcd1f68. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq2(left [][]byte, right [][]byte, error string) error { - return _VmSafe.Contract.AssertNotEq2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq2 is a free data retrieval call binding the contract method 0x1dcd1f68. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq2(left [][]byte, right [][]byte, error string) error { - return _VmSafe.Contract.AssertNotEq2(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq20 is a free data retrieval call binding the contract method 0xb67187f3. -// -// Solidity: function assertNotEq(string[] left, string[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq20(opts *bind.CallOpts, left []string, right []string, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq20", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq20 is a free data retrieval call binding the contract method 0xb67187f3. -// -// Solidity: function assertNotEq(string[] left, string[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq20(left []string, right []string, error string) error { - return _VmSafe.Contract.AssertNotEq20(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq20 is a free data retrieval call binding the contract method 0xb67187f3. -// -// Solidity: function assertNotEq(string[] left, string[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq20(left []string, right []string, error string) error { - return _VmSafe.Contract.AssertNotEq20(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq21 is a free data retrieval call binding the contract method 0xb7909320. -// -// Solidity: function assertNotEq(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq21(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq21", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq21 is a free data retrieval call binding the contract method 0xb7909320. -// -// Solidity: function assertNotEq(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq21(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertNotEq21(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq21 is a free data retrieval call binding the contract method 0xb7909320. -// -// Solidity: function assertNotEq(uint256 left, uint256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq21(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertNotEq21(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq22 is a free data retrieval call binding the contract method 0xb873634c. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq22(opts *bind.CallOpts, left [][32]byte, right [][32]byte, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq22", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq22 is a free data retrieval call binding the contract method 0xb873634c. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq22(left [][32]byte, right [][32]byte, error string) error { - return _VmSafe.Contract.AssertNotEq22(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq22 is a free data retrieval call binding the contract method 0xb873634c. -// -// Solidity: function assertNotEq(bytes32[] left, bytes32[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq22(left [][32]byte, right [][32]byte, error string) error { - return _VmSafe.Contract.AssertNotEq22(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq23 is a free data retrieval call binding the contract method 0xbdfacbe8. -// -// Solidity: function assertNotEq(string[] left, string[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq23(opts *bind.CallOpts, left []string, right []string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq23", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq23 is a free data retrieval call binding the contract method 0xbdfacbe8. -// -// Solidity: function assertNotEq(string[] left, string[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq23(left []string, right []string) error { - return _VmSafe.Contract.AssertNotEq23(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq23 is a free data retrieval call binding the contract method 0xbdfacbe8. -// -// Solidity: function assertNotEq(string[] left, string[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq23(left []string, right []string) error { - return _VmSafe.Contract.AssertNotEq23(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq24 is a free data retrieval call binding the contract method 0xd3977322. -// -// Solidity: function assertNotEq(int256[] left, int256[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq24(opts *bind.CallOpts, left []*big.Int, right []*big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq24", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq24 is a free data retrieval call binding the contract method 0xd3977322. -// -// Solidity: function assertNotEq(int256[] left, int256[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq24(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq24(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq24 is a free data retrieval call binding the contract method 0xd3977322. -// -// Solidity: function assertNotEq(int256[] left, int256[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq24(left []*big.Int, right []*big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq24(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq25 is a free data retrieval call binding the contract method 0xedecd035. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq25(opts *bind.CallOpts, left [][]byte, right [][]byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq25", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq25 is a free data retrieval call binding the contract method 0xedecd035. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq25(left [][]byte, right [][]byte) error { - return _VmSafe.Contract.AssertNotEq25(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq25 is a free data retrieval call binding the contract method 0xedecd035. -// -// Solidity: function assertNotEq(bytes[] left, bytes[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq25(left [][]byte, right [][]byte) error { - return _VmSafe.Contract.AssertNotEq25(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq26 is a free data retrieval call binding the contract method 0xf4c004e3. -// -// Solidity: function assertNotEq(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq26(opts *bind.CallOpts, left *big.Int, right *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq26", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq26 is a free data retrieval call binding the contract method 0xf4c004e3. -// -// Solidity: function assertNotEq(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq26(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertNotEq26(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq26 is a free data retrieval call binding the contract method 0xf4c004e3. -// -// Solidity: function assertNotEq(int256 left, int256 right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq26(left *big.Int, right *big.Int) error { - return _VmSafe.Contract.AssertNotEq26(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq3 is a free data retrieval call binding the contract method 0x236e4d66. -// -// Solidity: function assertNotEq(bool left, bool right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq3(opts *bind.CallOpts, left bool, right bool) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq3", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq3 is a free data retrieval call binding the contract method 0x236e4d66. -// -// Solidity: function assertNotEq(bool left, bool right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq3(left bool, right bool) error { - return _VmSafe.Contract.AssertNotEq3(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq3 is a free data retrieval call binding the contract method 0x236e4d66. -// -// Solidity: function assertNotEq(bool left, bool right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq3(left bool, right bool) error { - return _VmSafe.Contract.AssertNotEq3(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq4 is a free data retrieval call binding the contract method 0x286fafea. -// -// Solidity: function assertNotEq(bool[] left, bool[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq4(opts *bind.CallOpts, left []bool, right []bool) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq4", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq4 is a free data retrieval call binding the contract method 0x286fafea. -// -// Solidity: function assertNotEq(bool[] left, bool[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq4(left []bool, right []bool) error { - return _VmSafe.Contract.AssertNotEq4(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq4 is a free data retrieval call binding the contract method 0x286fafea. -// -// Solidity: function assertNotEq(bool[] left, bool[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq4(left []bool, right []bool) error { - return _VmSafe.Contract.AssertNotEq4(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq5 is a free data retrieval call binding the contract method 0x3cf78e28. -// -// Solidity: function assertNotEq(bytes left, bytes right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq5(opts *bind.CallOpts, left []byte, right []byte) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq5", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq5 is a free data retrieval call binding the contract method 0x3cf78e28. -// -// Solidity: function assertNotEq(bytes left, bytes right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq5(left []byte, right []byte) error { - return _VmSafe.Contract.AssertNotEq5(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq5 is a free data retrieval call binding the contract method 0x3cf78e28. -// -// Solidity: function assertNotEq(bytes left, bytes right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq5(left []byte, right []byte) error { - return _VmSafe.Contract.AssertNotEq5(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq6 is a free data retrieval call binding the contract method 0x46d0b252. -// -// Solidity: function assertNotEq(address[] left, address[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq6(opts *bind.CallOpts, left []common.Address, right []common.Address) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq6", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq6 is a free data retrieval call binding the contract method 0x46d0b252. -// -// Solidity: function assertNotEq(address[] left, address[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq6(left []common.Address, right []common.Address) error { - return _VmSafe.Contract.AssertNotEq6(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq6 is a free data retrieval call binding the contract method 0x46d0b252. -// -// Solidity: function assertNotEq(address[] left, address[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq6(left []common.Address, right []common.Address) error { - return _VmSafe.Contract.AssertNotEq6(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq7 is a free data retrieval call binding the contract method 0x4724c5b9. -// -// Solidity: function assertNotEq(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq7(opts *bind.CallOpts, left *big.Int, right *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq7", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq7 is a free data retrieval call binding the contract method 0x4724c5b9. -// -// Solidity: function assertNotEq(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq7(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq7(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq7 is a free data retrieval call binding the contract method 0x4724c5b9. -// -// Solidity: function assertNotEq(int256 left, int256 right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq7(left *big.Int, right *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEq7(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq8 is a free data retrieval call binding the contract method 0x56f29cba. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq8(opts *bind.CallOpts, left []*big.Int, right []*big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq8", left, right) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq8 is a free data retrieval call binding the contract method 0x56f29cba. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq8(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertNotEq8(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq8 is a free data retrieval call binding the contract method 0x56f29cba. -// -// Solidity: function assertNotEq(uint256[] left, uint256[] right) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq8(left []*big.Int, right []*big.Int) error { - return _VmSafe.Contract.AssertNotEq8(&_VmSafe.CallOpts, left, right) -} - -// AssertNotEq9 is a free data retrieval call binding the contract method 0x62c6f9fb. -// -// Solidity: function assertNotEq(bool[] left, bool[] right, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEq9(opts *bind.CallOpts, left []bool, right []bool, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEq9", left, right, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEq9 is a free data retrieval call binding the contract method 0x62c6f9fb. -// -// Solidity: function assertNotEq(bool[] left, bool[] right, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEq9(left []bool, right []bool, error string) error { - return _VmSafe.Contract.AssertNotEq9(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEq9 is a free data retrieval call binding the contract method 0x62c6f9fb. -// -// Solidity: function assertNotEq(bool[] left, bool[] right, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEq9(left []bool, right []bool, error string) error { - return _VmSafe.Contract.AssertNotEq9(&_VmSafe.CallOpts, left, right, error) -} - -// AssertNotEqDecimal is a free data retrieval call binding the contract method 0x14e75680. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEqDecimal(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEqDecimal", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal is a free data retrieval call binding the contract method 0x14e75680. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertNotEqDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal is a free data retrieval call binding the contract method 0x14e75680. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEqDecimal(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertNotEqDecimal(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal0 is a free data retrieval call binding the contract method 0x33949f0b. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEqDecimal0(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEqDecimal0", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal0 is a free data retrieval call binding the contract method 0x33949f0b. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEqDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertNotEqDecimal0 is a free data retrieval call binding the contract method 0x33949f0b. -// -// Solidity: function assertNotEqDecimal(int256 left, int256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEqDecimal0(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEqDecimal0(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertNotEqDecimal1 is a free data retrieval call binding the contract method 0x669efca7. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEqDecimal1(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEqDecimal1", left, right, decimals) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal1 is a free data retrieval call binding the contract method 0x669efca7. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertNotEqDecimal1(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal1 is a free data retrieval call binding the contract method 0x669efca7. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEqDecimal1(left *big.Int, right *big.Int, decimals *big.Int) error { - return _VmSafe.Contract.AssertNotEqDecimal1(&_VmSafe.CallOpts, left, right, decimals) -} - -// AssertNotEqDecimal2 is a free data retrieval call binding the contract method 0xf5a55558. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertNotEqDecimal2(opts *bind.CallOpts, left *big.Int, right *big.Int, decimals *big.Int, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertNotEqDecimal2", left, right, decimals, error) - - if err != nil { - return err - } - - return err - -} - -// AssertNotEqDecimal2 is a free data retrieval call binding the contract method 0xf5a55558. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertNotEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEqDecimal2(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertNotEqDecimal2 is a free data retrieval call binding the contract method 0xf5a55558. -// -// Solidity: function assertNotEqDecimal(uint256 left, uint256 right, uint256 decimals, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertNotEqDecimal2(left *big.Int, right *big.Int, decimals *big.Int, error string) error { - return _VmSafe.Contract.AssertNotEqDecimal2(&_VmSafe.CallOpts, left, right, decimals, error) -} - -// AssertTrue is a free data retrieval call binding the contract method 0x0c9fd581. -// -// Solidity: function assertTrue(bool condition) pure returns() -func (_VmSafe *VmSafeCaller) AssertTrue(opts *bind.CallOpts, condition bool) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertTrue", condition) - - if err != nil { - return err - } - - return err - -} - -// AssertTrue is a free data retrieval call binding the contract method 0x0c9fd581. -// -// Solidity: function assertTrue(bool condition) pure returns() -func (_VmSafe *VmSafeSession) AssertTrue(condition bool) error { - return _VmSafe.Contract.AssertTrue(&_VmSafe.CallOpts, condition) -} - -// AssertTrue is a free data retrieval call binding the contract method 0x0c9fd581. -// -// Solidity: function assertTrue(bool condition) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertTrue(condition bool) error { - return _VmSafe.Contract.AssertTrue(&_VmSafe.CallOpts, condition) -} - -// AssertTrue0 is a free data retrieval call binding the contract method 0xa34edc03. -// -// Solidity: function assertTrue(bool condition, string error) pure returns() -func (_VmSafe *VmSafeCaller) AssertTrue0(opts *bind.CallOpts, condition bool, error string) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assertTrue0", condition, error) - - if err != nil { - return err - } - - return err - -} - -// AssertTrue0 is a free data retrieval call binding the contract method 0xa34edc03. -// -// Solidity: function assertTrue(bool condition, string error) pure returns() -func (_VmSafe *VmSafeSession) AssertTrue0(condition bool, error string) error { - return _VmSafe.Contract.AssertTrue0(&_VmSafe.CallOpts, condition, error) -} - -// AssertTrue0 is a free data retrieval call binding the contract method 0xa34edc03. -// -// Solidity: function assertTrue(bool condition, string error) pure returns() -func (_VmSafe *VmSafeCallerSession) AssertTrue0(condition bool, error string) error { - return _VmSafe.Contract.AssertTrue0(&_VmSafe.CallOpts, condition, error) -} - -// Assume is a free data retrieval call binding the contract method 0x4c63e562. -// -// Solidity: function assume(bool condition) pure returns() -func (_VmSafe *VmSafeCaller) Assume(opts *bind.CallOpts, condition bool) error { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "assume", condition) - - if err != nil { - return err - } - - return err - -} - -// Assume is a free data retrieval call binding the contract method 0x4c63e562. -// -// Solidity: function assume(bool condition) pure returns() -func (_VmSafe *VmSafeSession) Assume(condition bool) error { - return _VmSafe.Contract.Assume(&_VmSafe.CallOpts, condition) -} - -// Assume is a free data retrieval call binding the contract method 0x4c63e562. -// -// Solidity: function assume(bool condition) pure returns() -func (_VmSafe *VmSafeCallerSession) Assume(condition bool) error { - return _VmSafe.Contract.Assume(&_VmSafe.CallOpts, condition) -} - -// ComputeCreate2Address is a free data retrieval call binding the contract method 0x890c283b. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) pure returns(address) -func (_VmSafe *VmSafeCaller) ComputeCreate2Address(opts *bind.CallOpts, salt [32]byte, initCodeHash [32]byte) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "computeCreate2Address", salt, initCodeHash) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ComputeCreate2Address is a free data retrieval call binding the contract method 0x890c283b. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) pure returns(address) -func (_VmSafe *VmSafeSession) ComputeCreate2Address(salt [32]byte, initCodeHash [32]byte) (common.Address, error) { - return _VmSafe.Contract.ComputeCreate2Address(&_VmSafe.CallOpts, salt, initCodeHash) -} - -// ComputeCreate2Address is a free data retrieval call binding the contract method 0x890c283b. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash) pure returns(address) -func (_VmSafe *VmSafeCallerSession) ComputeCreate2Address(salt [32]byte, initCodeHash [32]byte) (common.Address, error) { - return _VmSafe.Contract.ComputeCreate2Address(&_VmSafe.CallOpts, salt, initCodeHash) -} - -// ComputeCreate2Address0 is a free data retrieval call binding the contract method 0xd323826a. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer) pure returns(address) -func (_VmSafe *VmSafeCaller) ComputeCreate2Address0(opts *bind.CallOpts, salt [32]byte, initCodeHash [32]byte, deployer common.Address) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "computeCreate2Address0", salt, initCodeHash, deployer) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ComputeCreate2Address0 is a free data retrieval call binding the contract method 0xd323826a. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer) pure returns(address) -func (_VmSafe *VmSafeSession) ComputeCreate2Address0(salt [32]byte, initCodeHash [32]byte, deployer common.Address) (common.Address, error) { - return _VmSafe.Contract.ComputeCreate2Address0(&_VmSafe.CallOpts, salt, initCodeHash, deployer) -} - -// ComputeCreate2Address0 is a free data retrieval call binding the contract method 0xd323826a. -// -// Solidity: function computeCreate2Address(bytes32 salt, bytes32 initCodeHash, address deployer) pure returns(address) -func (_VmSafe *VmSafeCallerSession) ComputeCreate2Address0(salt [32]byte, initCodeHash [32]byte, deployer common.Address) (common.Address, error) { - return _VmSafe.Contract.ComputeCreate2Address0(&_VmSafe.CallOpts, salt, initCodeHash, deployer) -} - -// ComputeCreateAddress is a free data retrieval call binding the contract method 0x74637a7a. -// -// Solidity: function computeCreateAddress(address deployer, uint256 nonce) pure returns(address) -func (_VmSafe *VmSafeCaller) ComputeCreateAddress(opts *bind.CallOpts, deployer common.Address, nonce *big.Int) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "computeCreateAddress", deployer, nonce) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ComputeCreateAddress is a free data retrieval call binding the contract method 0x74637a7a. -// -// Solidity: function computeCreateAddress(address deployer, uint256 nonce) pure returns(address) -func (_VmSafe *VmSafeSession) ComputeCreateAddress(deployer common.Address, nonce *big.Int) (common.Address, error) { - return _VmSafe.Contract.ComputeCreateAddress(&_VmSafe.CallOpts, deployer, nonce) -} - -// ComputeCreateAddress is a free data retrieval call binding the contract method 0x74637a7a. -// -// Solidity: function computeCreateAddress(address deployer, uint256 nonce) pure returns(address) -func (_VmSafe *VmSafeCallerSession) ComputeCreateAddress(deployer common.Address, nonce *big.Int) (common.Address, error) { - return _VmSafe.Contract.ComputeCreateAddress(&_VmSafe.CallOpts, deployer, nonce) -} - -// DeriveKey is a free data retrieval call binding the contract method 0x29233b1f. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index, string language) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCaller) DeriveKey(opts *bind.CallOpts, mnemonic string, derivationPath string, index uint32, language string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "deriveKey", mnemonic, derivationPath, index, language) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey is a free data retrieval call binding the contract method 0x29233b1f. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index, string language) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeSession) DeriveKey(mnemonic string, derivationPath string, index uint32, language string) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey(&_VmSafe.CallOpts, mnemonic, derivationPath, index, language) -} - -// DeriveKey is a free data retrieval call binding the contract method 0x29233b1f. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index, string language) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCallerSession) DeriveKey(mnemonic string, derivationPath string, index uint32, language string) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey(&_VmSafe.CallOpts, mnemonic, derivationPath, index, language) -} - -// DeriveKey0 is a free data retrieval call binding the contract method 0x32c8176d. -// -// Solidity: function deriveKey(string mnemonic, uint32 index, string language) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCaller) DeriveKey0(opts *bind.CallOpts, mnemonic string, index uint32, language string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "deriveKey0", mnemonic, index, language) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey0 is a free data retrieval call binding the contract method 0x32c8176d. -// -// Solidity: function deriveKey(string mnemonic, uint32 index, string language) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeSession) DeriveKey0(mnemonic string, index uint32, language string) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey0(&_VmSafe.CallOpts, mnemonic, index, language) -} - -// DeriveKey0 is a free data retrieval call binding the contract method 0x32c8176d. -// -// Solidity: function deriveKey(string mnemonic, uint32 index, string language) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCallerSession) DeriveKey0(mnemonic string, index uint32, language string) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey0(&_VmSafe.CallOpts, mnemonic, index, language) -} - -// DeriveKey1 is a free data retrieval call binding the contract method 0x6229498b. -// -// Solidity: function deriveKey(string mnemonic, uint32 index) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCaller) DeriveKey1(opts *bind.CallOpts, mnemonic string, index uint32) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "deriveKey1", mnemonic, index) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey1 is a free data retrieval call binding the contract method 0x6229498b. -// -// Solidity: function deriveKey(string mnemonic, uint32 index) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeSession) DeriveKey1(mnemonic string, index uint32) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey1(&_VmSafe.CallOpts, mnemonic, index) -} - -// DeriveKey1 is a free data retrieval call binding the contract method 0x6229498b. -// -// Solidity: function deriveKey(string mnemonic, uint32 index) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCallerSession) DeriveKey1(mnemonic string, index uint32) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey1(&_VmSafe.CallOpts, mnemonic, index) -} - -// DeriveKey2 is a free data retrieval call binding the contract method 0x6bcb2c1b. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCaller) DeriveKey2(opts *bind.CallOpts, mnemonic string, derivationPath string, index uint32) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "deriveKey2", mnemonic, derivationPath, index) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// DeriveKey2 is a free data retrieval call binding the contract method 0x6bcb2c1b. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeSession) DeriveKey2(mnemonic string, derivationPath string, index uint32) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey2(&_VmSafe.CallOpts, mnemonic, derivationPath, index) -} - -// DeriveKey2 is a free data retrieval call binding the contract method 0x6bcb2c1b. -// -// Solidity: function deriveKey(string mnemonic, string derivationPath, uint32 index) pure returns(uint256 privateKey) -func (_VmSafe *VmSafeCallerSession) DeriveKey2(mnemonic string, derivationPath string, index uint32) (*big.Int, error) { - return _VmSafe.Contract.DeriveKey2(&_VmSafe.CallOpts, mnemonic, derivationPath, index) -} - -// EnsNamehash is a free data retrieval call binding the contract method 0x8c374c65. -// -// Solidity: function ensNamehash(string name) pure returns(bytes32) -func (_VmSafe *VmSafeCaller) EnsNamehash(opts *bind.CallOpts, name string) ([32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "ensNamehash", name) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// EnsNamehash is a free data retrieval call binding the contract method 0x8c374c65. -// -// Solidity: function ensNamehash(string name) pure returns(bytes32) -func (_VmSafe *VmSafeSession) EnsNamehash(name string) ([32]byte, error) { - return _VmSafe.Contract.EnsNamehash(&_VmSafe.CallOpts, name) -} - -// EnsNamehash is a free data retrieval call binding the contract method 0x8c374c65. -// -// Solidity: function ensNamehash(string name) pure returns(bytes32) -func (_VmSafe *VmSafeCallerSession) EnsNamehash(name string) ([32]byte, error) { - return _VmSafe.Contract.EnsNamehash(&_VmSafe.CallOpts, name) -} - -// EnvAddress is a free data retrieval call binding the contract method 0x350d56bf. -// -// Solidity: function envAddress(string name) view returns(address value) -func (_VmSafe *VmSafeCaller) EnvAddress(opts *bind.CallOpts, name string) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envAddress", name) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EnvAddress is a free data retrieval call binding the contract method 0x350d56bf. -// -// Solidity: function envAddress(string name) view returns(address value) -func (_VmSafe *VmSafeSession) EnvAddress(name string) (common.Address, error) { - return _VmSafe.Contract.EnvAddress(&_VmSafe.CallOpts, name) -} - -// EnvAddress is a free data retrieval call binding the contract method 0x350d56bf. -// -// Solidity: function envAddress(string name) view returns(address value) -func (_VmSafe *VmSafeCallerSession) EnvAddress(name string) (common.Address, error) { - return _VmSafe.Contract.EnvAddress(&_VmSafe.CallOpts, name) -} - -// EnvAddress0 is a free data retrieval call binding the contract method 0xad31b9fa. -// -// Solidity: function envAddress(string name, string delim) view returns(address[] value) -func (_VmSafe *VmSafeCaller) EnvAddress0(opts *bind.CallOpts, name string, delim string) ([]common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envAddress0", name, delim) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// EnvAddress0 is a free data retrieval call binding the contract method 0xad31b9fa. -// -// Solidity: function envAddress(string name, string delim) view returns(address[] value) -func (_VmSafe *VmSafeSession) EnvAddress0(name string, delim string) ([]common.Address, error) { - return _VmSafe.Contract.EnvAddress0(&_VmSafe.CallOpts, name, delim) -} - -// EnvAddress0 is a free data retrieval call binding the contract method 0xad31b9fa. -// -// Solidity: function envAddress(string name, string delim) view returns(address[] value) -func (_VmSafe *VmSafeCallerSession) EnvAddress0(name string, delim string) ([]common.Address, error) { - return _VmSafe.Contract.EnvAddress0(&_VmSafe.CallOpts, name, delim) -} - -// EnvBool is a free data retrieval call binding the contract method 0x7ed1ec7d. -// -// Solidity: function envBool(string name) view returns(bool value) -func (_VmSafe *VmSafeCaller) EnvBool(opts *bind.CallOpts, name string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envBool", name) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// EnvBool is a free data retrieval call binding the contract method 0x7ed1ec7d. -// -// Solidity: function envBool(string name) view returns(bool value) -func (_VmSafe *VmSafeSession) EnvBool(name string) (bool, error) { - return _VmSafe.Contract.EnvBool(&_VmSafe.CallOpts, name) -} - -// EnvBool is a free data retrieval call binding the contract method 0x7ed1ec7d. -// -// Solidity: function envBool(string name) view returns(bool value) -func (_VmSafe *VmSafeCallerSession) EnvBool(name string) (bool, error) { - return _VmSafe.Contract.EnvBool(&_VmSafe.CallOpts, name) -} - -// EnvBool0 is a free data retrieval call binding the contract method 0xaaaddeaf. -// -// Solidity: function envBool(string name, string delim) view returns(bool[] value) -func (_VmSafe *VmSafeCaller) EnvBool0(opts *bind.CallOpts, name string, delim string) ([]bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envBool0", name, delim) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// EnvBool0 is a free data retrieval call binding the contract method 0xaaaddeaf. -// -// Solidity: function envBool(string name, string delim) view returns(bool[] value) -func (_VmSafe *VmSafeSession) EnvBool0(name string, delim string) ([]bool, error) { - return _VmSafe.Contract.EnvBool0(&_VmSafe.CallOpts, name, delim) -} - -// EnvBool0 is a free data retrieval call binding the contract method 0xaaaddeaf. -// -// Solidity: function envBool(string name, string delim) view returns(bool[] value) -func (_VmSafe *VmSafeCallerSession) EnvBool0(name string, delim string) ([]bool, error) { - return _VmSafe.Contract.EnvBool0(&_VmSafe.CallOpts, name, delim) -} - -// EnvBytes is a free data retrieval call binding the contract method 0x4d7baf06. -// -// Solidity: function envBytes(string name) view returns(bytes value) -func (_VmSafe *VmSafeCaller) EnvBytes(opts *bind.CallOpts, name string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envBytes", name) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// EnvBytes is a free data retrieval call binding the contract method 0x4d7baf06. -// -// Solidity: function envBytes(string name) view returns(bytes value) -func (_VmSafe *VmSafeSession) EnvBytes(name string) ([]byte, error) { - return _VmSafe.Contract.EnvBytes(&_VmSafe.CallOpts, name) -} - -// EnvBytes is a free data retrieval call binding the contract method 0x4d7baf06. -// -// Solidity: function envBytes(string name) view returns(bytes value) -func (_VmSafe *VmSafeCallerSession) EnvBytes(name string) ([]byte, error) { - return _VmSafe.Contract.EnvBytes(&_VmSafe.CallOpts, name) -} - -// EnvBytes0 is a free data retrieval call binding the contract method 0xddc2651b. -// -// Solidity: function envBytes(string name, string delim) view returns(bytes[] value) -func (_VmSafe *VmSafeCaller) EnvBytes0(opts *bind.CallOpts, name string, delim string) ([][]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envBytes0", name, delim) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// EnvBytes0 is a free data retrieval call binding the contract method 0xddc2651b. -// -// Solidity: function envBytes(string name, string delim) view returns(bytes[] value) -func (_VmSafe *VmSafeSession) EnvBytes0(name string, delim string) ([][]byte, error) { - return _VmSafe.Contract.EnvBytes0(&_VmSafe.CallOpts, name, delim) -} - -// EnvBytes0 is a free data retrieval call binding the contract method 0xddc2651b. -// -// Solidity: function envBytes(string name, string delim) view returns(bytes[] value) -func (_VmSafe *VmSafeCallerSession) EnvBytes0(name string, delim string) ([][]byte, error) { - return _VmSafe.Contract.EnvBytes0(&_VmSafe.CallOpts, name, delim) -} - -// EnvBytes32 is a free data retrieval call binding the contract method 0x5af231c1. -// -// Solidity: function envBytes32(string name, string delim) view returns(bytes32[] value) -func (_VmSafe *VmSafeCaller) EnvBytes32(opts *bind.CallOpts, name string, delim string) ([][32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envBytes32", name, delim) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// EnvBytes32 is a free data retrieval call binding the contract method 0x5af231c1. -// -// Solidity: function envBytes32(string name, string delim) view returns(bytes32[] value) -func (_VmSafe *VmSafeSession) EnvBytes32(name string, delim string) ([][32]byte, error) { - return _VmSafe.Contract.EnvBytes32(&_VmSafe.CallOpts, name, delim) -} - -// EnvBytes32 is a free data retrieval call binding the contract method 0x5af231c1. -// -// Solidity: function envBytes32(string name, string delim) view returns(bytes32[] value) -func (_VmSafe *VmSafeCallerSession) EnvBytes32(name string, delim string) ([][32]byte, error) { - return _VmSafe.Contract.EnvBytes32(&_VmSafe.CallOpts, name, delim) -} - -// EnvBytes320 is a free data retrieval call binding the contract method 0x97949042. -// -// Solidity: function envBytes32(string name) view returns(bytes32 value) -func (_VmSafe *VmSafeCaller) EnvBytes320(opts *bind.CallOpts, name string) ([32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envBytes320", name) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// EnvBytes320 is a free data retrieval call binding the contract method 0x97949042. -// -// Solidity: function envBytes32(string name) view returns(bytes32 value) -func (_VmSafe *VmSafeSession) EnvBytes320(name string) ([32]byte, error) { - return _VmSafe.Contract.EnvBytes320(&_VmSafe.CallOpts, name) -} - -// EnvBytes320 is a free data retrieval call binding the contract method 0x97949042. -// -// Solidity: function envBytes32(string name) view returns(bytes32 value) -func (_VmSafe *VmSafeCallerSession) EnvBytes320(name string) ([32]byte, error) { - return _VmSafe.Contract.EnvBytes320(&_VmSafe.CallOpts, name) -} - -// EnvExists is a free data retrieval call binding the contract method 0xce8365f9. -// -// Solidity: function envExists(string name) view returns(bool result) -func (_VmSafe *VmSafeCaller) EnvExists(opts *bind.CallOpts, name string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envExists", name) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// EnvExists is a free data retrieval call binding the contract method 0xce8365f9. -// -// Solidity: function envExists(string name) view returns(bool result) -func (_VmSafe *VmSafeSession) EnvExists(name string) (bool, error) { - return _VmSafe.Contract.EnvExists(&_VmSafe.CallOpts, name) -} - -// EnvExists is a free data retrieval call binding the contract method 0xce8365f9. -// -// Solidity: function envExists(string name) view returns(bool result) -func (_VmSafe *VmSafeCallerSession) EnvExists(name string) (bool, error) { - return _VmSafe.Contract.EnvExists(&_VmSafe.CallOpts, name) -} - -// EnvInt is a free data retrieval call binding the contract method 0x42181150. -// -// Solidity: function envInt(string name, string delim) view returns(int256[] value) -func (_VmSafe *VmSafeCaller) EnvInt(opts *bind.CallOpts, name string, delim string) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envInt", name, delim) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvInt is a free data retrieval call binding the contract method 0x42181150. -// -// Solidity: function envInt(string name, string delim) view returns(int256[] value) -func (_VmSafe *VmSafeSession) EnvInt(name string, delim string) ([]*big.Int, error) { - return _VmSafe.Contract.EnvInt(&_VmSafe.CallOpts, name, delim) -} - -// EnvInt is a free data retrieval call binding the contract method 0x42181150. -// -// Solidity: function envInt(string name, string delim) view returns(int256[] value) -func (_VmSafe *VmSafeCallerSession) EnvInt(name string, delim string) ([]*big.Int, error) { - return _VmSafe.Contract.EnvInt(&_VmSafe.CallOpts, name, delim) -} - -// EnvInt0 is a free data retrieval call binding the contract method 0x892a0c61. -// -// Solidity: function envInt(string name) view returns(int256 value) -func (_VmSafe *VmSafeCaller) EnvInt0(opts *bind.CallOpts, name string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envInt0", name) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvInt0 is a free data retrieval call binding the contract method 0x892a0c61. -// -// Solidity: function envInt(string name) view returns(int256 value) -func (_VmSafe *VmSafeSession) EnvInt0(name string) (*big.Int, error) { - return _VmSafe.Contract.EnvInt0(&_VmSafe.CallOpts, name) -} - -// EnvInt0 is a free data retrieval call binding the contract method 0x892a0c61. -// -// Solidity: function envInt(string name) view returns(int256 value) -func (_VmSafe *VmSafeCallerSession) EnvInt0(name string) (*big.Int, error) { - return _VmSafe.Contract.EnvInt0(&_VmSafe.CallOpts, name) -} - -// EnvOr is a free data retrieval call binding the contract method 0x2281f367. -// -// Solidity: function envOr(string name, string delim, bytes32[] defaultValue) view returns(bytes32[] value) -func (_VmSafe *VmSafeCaller) EnvOr(opts *bind.CallOpts, name string, delim string, defaultValue [][32]byte) ([][32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr", name, delim, defaultValue) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// EnvOr is a free data retrieval call binding the contract method 0x2281f367. -// -// Solidity: function envOr(string name, string delim, bytes32[] defaultValue) view returns(bytes32[] value) -func (_VmSafe *VmSafeSession) EnvOr(name string, delim string, defaultValue [][32]byte) ([][32]byte, error) { - return _VmSafe.Contract.EnvOr(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr is a free data retrieval call binding the contract method 0x2281f367. -// -// Solidity: function envOr(string name, string delim, bytes32[] defaultValue) view returns(bytes32[] value) -func (_VmSafe *VmSafeCallerSession) EnvOr(name string, delim string, defaultValue [][32]byte) ([][32]byte, error) { - return _VmSafe.Contract.EnvOr(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr0 is a free data retrieval call binding the contract method 0x4700d74b. -// -// Solidity: function envOr(string name, string delim, int256[] defaultValue) view returns(int256[] value) -func (_VmSafe *VmSafeCaller) EnvOr0(opts *bind.CallOpts, name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr0", name, delim, defaultValue) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvOr0 is a free data retrieval call binding the contract method 0x4700d74b. -// -// Solidity: function envOr(string name, string delim, int256[] defaultValue) view returns(int256[] value) -func (_VmSafe *VmSafeSession) EnvOr0(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _VmSafe.Contract.EnvOr0(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr0 is a free data retrieval call binding the contract method 0x4700d74b. -// -// Solidity: function envOr(string name, string delim, int256[] defaultValue) view returns(int256[] value) -func (_VmSafe *VmSafeCallerSession) EnvOr0(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _VmSafe.Contract.EnvOr0(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr1 is a free data retrieval call binding the contract method 0x4777f3cf. -// -// Solidity: function envOr(string name, bool defaultValue) view returns(bool value) -func (_VmSafe *VmSafeCaller) EnvOr1(opts *bind.CallOpts, name string, defaultValue bool) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr1", name, defaultValue) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// EnvOr1 is a free data retrieval call binding the contract method 0x4777f3cf. -// -// Solidity: function envOr(string name, bool defaultValue) view returns(bool value) -func (_VmSafe *VmSafeSession) EnvOr1(name string, defaultValue bool) (bool, error) { - return _VmSafe.Contract.EnvOr1(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr1 is a free data retrieval call binding the contract method 0x4777f3cf. -// -// Solidity: function envOr(string name, bool defaultValue) view returns(bool value) -func (_VmSafe *VmSafeCallerSession) EnvOr1(name string, defaultValue bool) (bool, error) { - return _VmSafe.Contract.EnvOr1(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr10 is a free data retrieval call binding the contract method 0xc74e9deb. -// -// Solidity: function envOr(string name, string delim, address[] defaultValue) view returns(address[] value) -func (_VmSafe *VmSafeCaller) EnvOr10(opts *bind.CallOpts, name string, delim string, defaultValue []common.Address) ([]common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr10", name, delim, defaultValue) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// EnvOr10 is a free data retrieval call binding the contract method 0xc74e9deb. -// -// Solidity: function envOr(string name, string delim, address[] defaultValue) view returns(address[] value) -func (_VmSafe *VmSafeSession) EnvOr10(name string, delim string, defaultValue []common.Address) ([]common.Address, error) { - return _VmSafe.Contract.EnvOr10(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr10 is a free data retrieval call binding the contract method 0xc74e9deb. -// -// Solidity: function envOr(string name, string delim, address[] defaultValue) view returns(address[] value) -func (_VmSafe *VmSafeCallerSession) EnvOr10(name string, delim string, defaultValue []common.Address) ([]common.Address, error) { - return _VmSafe.Contract.EnvOr10(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr11 is a free data retrieval call binding the contract method 0xd145736c. -// -// Solidity: function envOr(string name, string defaultValue) view returns(string value) -func (_VmSafe *VmSafeCaller) EnvOr11(opts *bind.CallOpts, name string, defaultValue string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr11", name, defaultValue) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// EnvOr11 is a free data retrieval call binding the contract method 0xd145736c. -// -// Solidity: function envOr(string name, string defaultValue) view returns(string value) -func (_VmSafe *VmSafeSession) EnvOr11(name string, defaultValue string) (string, error) { - return _VmSafe.Contract.EnvOr11(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr11 is a free data retrieval call binding the contract method 0xd145736c. -// -// Solidity: function envOr(string name, string defaultValue) view returns(string value) -func (_VmSafe *VmSafeCallerSession) EnvOr11(name string, defaultValue string) (string, error) { - return _VmSafe.Contract.EnvOr11(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr12 is a free data retrieval call binding the contract method 0xeb85e83b. -// -// Solidity: function envOr(string name, string delim, bool[] defaultValue) view returns(bool[] value) -func (_VmSafe *VmSafeCaller) EnvOr12(opts *bind.CallOpts, name string, delim string, defaultValue []bool) ([]bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr12", name, delim, defaultValue) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// EnvOr12 is a free data retrieval call binding the contract method 0xeb85e83b. -// -// Solidity: function envOr(string name, string delim, bool[] defaultValue) view returns(bool[] value) -func (_VmSafe *VmSafeSession) EnvOr12(name string, delim string, defaultValue []bool) ([]bool, error) { - return _VmSafe.Contract.EnvOr12(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr12 is a free data retrieval call binding the contract method 0xeb85e83b. -// -// Solidity: function envOr(string name, string delim, bool[] defaultValue) view returns(bool[] value) -func (_VmSafe *VmSafeCallerSession) EnvOr12(name string, delim string, defaultValue []bool) ([]bool, error) { - return _VmSafe.Contract.EnvOr12(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr2 is a free data retrieval call binding the contract method 0x561fe540. -// -// Solidity: function envOr(string name, address defaultValue) view returns(address value) -func (_VmSafe *VmSafeCaller) EnvOr2(opts *bind.CallOpts, name string, defaultValue common.Address) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr2", name, defaultValue) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// EnvOr2 is a free data retrieval call binding the contract method 0x561fe540. -// -// Solidity: function envOr(string name, address defaultValue) view returns(address value) -func (_VmSafe *VmSafeSession) EnvOr2(name string, defaultValue common.Address) (common.Address, error) { - return _VmSafe.Contract.EnvOr2(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr2 is a free data retrieval call binding the contract method 0x561fe540. -// -// Solidity: function envOr(string name, address defaultValue) view returns(address value) -func (_VmSafe *VmSafeCallerSession) EnvOr2(name string, defaultValue common.Address) (common.Address, error) { - return _VmSafe.Contract.EnvOr2(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr3 is a free data retrieval call binding the contract method 0x5e97348f. -// -// Solidity: function envOr(string name, uint256 defaultValue) view returns(uint256 value) -func (_VmSafe *VmSafeCaller) EnvOr3(opts *bind.CallOpts, name string, defaultValue *big.Int) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr3", name, defaultValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvOr3 is a free data retrieval call binding the contract method 0x5e97348f. -// -// Solidity: function envOr(string name, uint256 defaultValue) view returns(uint256 value) -func (_VmSafe *VmSafeSession) EnvOr3(name string, defaultValue *big.Int) (*big.Int, error) { - return _VmSafe.Contract.EnvOr3(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr3 is a free data retrieval call binding the contract method 0x5e97348f. -// -// Solidity: function envOr(string name, uint256 defaultValue) view returns(uint256 value) -func (_VmSafe *VmSafeCallerSession) EnvOr3(name string, defaultValue *big.Int) (*big.Int, error) { - return _VmSafe.Contract.EnvOr3(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr4 is a free data retrieval call binding the contract method 0x64bc3e64. -// -// Solidity: function envOr(string name, string delim, bytes[] defaultValue) view returns(bytes[] value) -func (_VmSafe *VmSafeCaller) EnvOr4(opts *bind.CallOpts, name string, delim string, defaultValue [][]byte) ([][]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr4", name, delim, defaultValue) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// EnvOr4 is a free data retrieval call binding the contract method 0x64bc3e64. -// -// Solidity: function envOr(string name, string delim, bytes[] defaultValue) view returns(bytes[] value) -func (_VmSafe *VmSafeSession) EnvOr4(name string, delim string, defaultValue [][]byte) ([][]byte, error) { - return _VmSafe.Contract.EnvOr4(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr4 is a free data retrieval call binding the contract method 0x64bc3e64. -// -// Solidity: function envOr(string name, string delim, bytes[] defaultValue) view returns(bytes[] value) -func (_VmSafe *VmSafeCallerSession) EnvOr4(name string, delim string, defaultValue [][]byte) ([][]byte, error) { - return _VmSafe.Contract.EnvOr4(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr5 is a free data retrieval call binding the contract method 0x74318528. -// -// Solidity: function envOr(string name, string delim, uint256[] defaultValue) view returns(uint256[] value) -func (_VmSafe *VmSafeCaller) EnvOr5(opts *bind.CallOpts, name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr5", name, delim, defaultValue) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvOr5 is a free data retrieval call binding the contract method 0x74318528. -// -// Solidity: function envOr(string name, string delim, uint256[] defaultValue) view returns(uint256[] value) -func (_VmSafe *VmSafeSession) EnvOr5(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _VmSafe.Contract.EnvOr5(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr5 is a free data retrieval call binding the contract method 0x74318528. -// -// Solidity: function envOr(string name, string delim, uint256[] defaultValue) view returns(uint256[] value) -func (_VmSafe *VmSafeCallerSession) EnvOr5(name string, delim string, defaultValue []*big.Int) ([]*big.Int, error) { - return _VmSafe.Contract.EnvOr5(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr6 is a free data retrieval call binding the contract method 0x859216bc. -// -// Solidity: function envOr(string name, string delim, string[] defaultValue) view returns(string[] value) -func (_VmSafe *VmSafeCaller) EnvOr6(opts *bind.CallOpts, name string, delim string, defaultValue []string) ([]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr6", name, delim, defaultValue) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// EnvOr6 is a free data retrieval call binding the contract method 0x859216bc. -// -// Solidity: function envOr(string name, string delim, string[] defaultValue) view returns(string[] value) -func (_VmSafe *VmSafeSession) EnvOr6(name string, delim string, defaultValue []string) ([]string, error) { - return _VmSafe.Contract.EnvOr6(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr6 is a free data retrieval call binding the contract method 0x859216bc. -// -// Solidity: function envOr(string name, string delim, string[] defaultValue) view returns(string[] value) -func (_VmSafe *VmSafeCallerSession) EnvOr6(name string, delim string, defaultValue []string) ([]string, error) { - return _VmSafe.Contract.EnvOr6(&_VmSafe.CallOpts, name, delim, defaultValue) -} - -// EnvOr7 is a free data retrieval call binding the contract method 0xb3e47705. -// -// Solidity: function envOr(string name, bytes defaultValue) view returns(bytes value) -func (_VmSafe *VmSafeCaller) EnvOr7(opts *bind.CallOpts, name string, defaultValue []byte) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr7", name, defaultValue) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// EnvOr7 is a free data retrieval call binding the contract method 0xb3e47705. -// -// Solidity: function envOr(string name, bytes defaultValue) view returns(bytes value) -func (_VmSafe *VmSafeSession) EnvOr7(name string, defaultValue []byte) ([]byte, error) { - return _VmSafe.Contract.EnvOr7(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr7 is a free data retrieval call binding the contract method 0xb3e47705. -// -// Solidity: function envOr(string name, bytes defaultValue) view returns(bytes value) -func (_VmSafe *VmSafeCallerSession) EnvOr7(name string, defaultValue []byte) ([]byte, error) { - return _VmSafe.Contract.EnvOr7(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr8 is a free data retrieval call binding the contract method 0xb4a85892. -// -// Solidity: function envOr(string name, bytes32 defaultValue) view returns(bytes32 value) -func (_VmSafe *VmSafeCaller) EnvOr8(opts *bind.CallOpts, name string, defaultValue [32]byte) ([32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr8", name, defaultValue) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// EnvOr8 is a free data retrieval call binding the contract method 0xb4a85892. -// -// Solidity: function envOr(string name, bytes32 defaultValue) view returns(bytes32 value) -func (_VmSafe *VmSafeSession) EnvOr8(name string, defaultValue [32]byte) ([32]byte, error) { - return _VmSafe.Contract.EnvOr8(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr8 is a free data retrieval call binding the contract method 0xb4a85892. -// -// Solidity: function envOr(string name, bytes32 defaultValue) view returns(bytes32 value) -func (_VmSafe *VmSafeCallerSession) EnvOr8(name string, defaultValue [32]byte) ([32]byte, error) { - return _VmSafe.Contract.EnvOr8(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr9 is a free data retrieval call binding the contract method 0xbbcb713e. -// -// Solidity: function envOr(string name, int256 defaultValue) view returns(int256 value) -func (_VmSafe *VmSafeCaller) EnvOr9(opts *bind.CallOpts, name string, defaultValue *big.Int) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envOr9", name, defaultValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvOr9 is a free data retrieval call binding the contract method 0xbbcb713e. -// -// Solidity: function envOr(string name, int256 defaultValue) view returns(int256 value) -func (_VmSafe *VmSafeSession) EnvOr9(name string, defaultValue *big.Int) (*big.Int, error) { - return _VmSafe.Contract.EnvOr9(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvOr9 is a free data retrieval call binding the contract method 0xbbcb713e. -// -// Solidity: function envOr(string name, int256 defaultValue) view returns(int256 value) -func (_VmSafe *VmSafeCallerSession) EnvOr9(name string, defaultValue *big.Int) (*big.Int, error) { - return _VmSafe.Contract.EnvOr9(&_VmSafe.CallOpts, name, defaultValue) -} - -// EnvString is a free data retrieval call binding the contract method 0x14b02bc9. -// -// Solidity: function envString(string name, string delim) view returns(string[] value) -func (_VmSafe *VmSafeCaller) EnvString(opts *bind.CallOpts, name string, delim string) ([]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envString", name, delim) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// EnvString is a free data retrieval call binding the contract method 0x14b02bc9. -// -// Solidity: function envString(string name, string delim) view returns(string[] value) -func (_VmSafe *VmSafeSession) EnvString(name string, delim string) ([]string, error) { - return _VmSafe.Contract.EnvString(&_VmSafe.CallOpts, name, delim) -} - -// EnvString is a free data retrieval call binding the contract method 0x14b02bc9. -// -// Solidity: function envString(string name, string delim) view returns(string[] value) -func (_VmSafe *VmSafeCallerSession) EnvString(name string, delim string) ([]string, error) { - return _VmSafe.Contract.EnvString(&_VmSafe.CallOpts, name, delim) -} - -// EnvString0 is a free data retrieval call binding the contract method 0xf877cb19. -// -// Solidity: function envString(string name) view returns(string value) -func (_VmSafe *VmSafeCaller) EnvString0(opts *bind.CallOpts, name string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envString0", name) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// EnvString0 is a free data retrieval call binding the contract method 0xf877cb19. -// -// Solidity: function envString(string name) view returns(string value) -func (_VmSafe *VmSafeSession) EnvString0(name string) (string, error) { - return _VmSafe.Contract.EnvString0(&_VmSafe.CallOpts, name) -} - -// EnvString0 is a free data retrieval call binding the contract method 0xf877cb19. -// -// Solidity: function envString(string name) view returns(string value) -func (_VmSafe *VmSafeCallerSession) EnvString0(name string) (string, error) { - return _VmSafe.Contract.EnvString0(&_VmSafe.CallOpts, name) -} - -// EnvUint is a free data retrieval call binding the contract method 0xc1978d1f. -// -// Solidity: function envUint(string name) view returns(uint256 value) -func (_VmSafe *VmSafeCaller) EnvUint(opts *bind.CallOpts, name string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envUint", name) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// EnvUint is a free data retrieval call binding the contract method 0xc1978d1f. -// -// Solidity: function envUint(string name) view returns(uint256 value) -func (_VmSafe *VmSafeSession) EnvUint(name string) (*big.Int, error) { - return _VmSafe.Contract.EnvUint(&_VmSafe.CallOpts, name) -} - -// EnvUint is a free data retrieval call binding the contract method 0xc1978d1f. -// -// Solidity: function envUint(string name) view returns(uint256 value) -func (_VmSafe *VmSafeCallerSession) EnvUint(name string) (*big.Int, error) { - return _VmSafe.Contract.EnvUint(&_VmSafe.CallOpts, name) -} - -// EnvUint0 is a free data retrieval call binding the contract method 0xf3dec099. -// -// Solidity: function envUint(string name, string delim) view returns(uint256[] value) -func (_VmSafe *VmSafeCaller) EnvUint0(opts *bind.CallOpts, name string, delim string) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "envUint0", name, delim) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// EnvUint0 is a free data retrieval call binding the contract method 0xf3dec099. -// -// Solidity: function envUint(string name, string delim) view returns(uint256[] value) -func (_VmSafe *VmSafeSession) EnvUint0(name string, delim string) ([]*big.Int, error) { - return _VmSafe.Contract.EnvUint0(&_VmSafe.CallOpts, name, delim) -} - -// EnvUint0 is a free data retrieval call binding the contract method 0xf3dec099. -// -// Solidity: function envUint(string name, string delim) view returns(uint256[] value) -func (_VmSafe *VmSafeCallerSession) EnvUint0(name string, delim string) ([]*big.Int, error) { - return _VmSafe.Contract.EnvUint0(&_VmSafe.CallOpts, name, delim) -} - -// FsMetadata is a free data retrieval call binding the contract method 0xaf368a08. -// -// Solidity: function fsMetadata(string path) view returns((bool,bool,uint256,bool,uint256,uint256,uint256) metadata) -func (_VmSafe *VmSafeCaller) FsMetadata(opts *bind.CallOpts, path string) (VmSafeFsMetadata, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "fsMetadata", path) - - if err != nil { - return *new(VmSafeFsMetadata), err - } - - out0 := *abi.ConvertType(out[0], new(VmSafeFsMetadata)).(*VmSafeFsMetadata) - - return out0, err - -} - -// FsMetadata is a free data retrieval call binding the contract method 0xaf368a08. -// -// Solidity: function fsMetadata(string path) view returns((bool,bool,uint256,bool,uint256,uint256,uint256) metadata) -func (_VmSafe *VmSafeSession) FsMetadata(path string) (VmSafeFsMetadata, error) { - return _VmSafe.Contract.FsMetadata(&_VmSafe.CallOpts, path) -} - -// FsMetadata is a free data retrieval call binding the contract method 0xaf368a08. -// -// Solidity: function fsMetadata(string path) view returns((bool,bool,uint256,bool,uint256,uint256,uint256) metadata) -func (_VmSafe *VmSafeCallerSession) FsMetadata(path string) (VmSafeFsMetadata, error) { - return _VmSafe.Contract.FsMetadata(&_VmSafe.CallOpts, path) -} - -// GetBlobBaseFee is a free data retrieval call binding the contract method 0x1f6d6ef7. -// -// Solidity: function getBlobBaseFee() view returns(uint256 blobBaseFee) -func (_VmSafe *VmSafeCaller) GetBlobBaseFee(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "getBlobBaseFee") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBlobBaseFee is a free data retrieval call binding the contract method 0x1f6d6ef7. -// -// Solidity: function getBlobBaseFee() view returns(uint256 blobBaseFee) -func (_VmSafe *VmSafeSession) GetBlobBaseFee() (*big.Int, error) { - return _VmSafe.Contract.GetBlobBaseFee(&_VmSafe.CallOpts) -} - -// GetBlobBaseFee is a free data retrieval call binding the contract method 0x1f6d6ef7. -// -// Solidity: function getBlobBaseFee() view returns(uint256 blobBaseFee) -func (_VmSafe *VmSafeCallerSession) GetBlobBaseFee() (*big.Int, error) { - return _VmSafe.Contract.GetBlobBaseFee(&_VmSafe.CallOpts) -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 height) -func (_VmSafe *VmSafeCaller) GetBlockNumber(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "getBlockNumber") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 height) -func (_VmSafe *VmSafeSession) GetBlockNumber() (*big.Int, error) { - return _VmSafe.Contract.GetBlockNumber(&_VmSafe.CallOpts) -} - -// GetBlockNumber is a free data retrieval call binding the contract method 0x42cbb15c. -// -// Solidity: function getBlockNumber() view returns(uint256 height) -func (_VmSafe *VmSafeCallerSession) GetBlockNumber() (*big.Int, error) { - return _VmSafe.Contract.GetBlockNumber(&_VmSafe.CallOpts) -} - -// GetBlockTimestamp is a free data retrieval call binding the contract method 0x796b89b9. -// -// Solidity: function getBlockTimestamp() view returns(uint256 timestamp) -func (_VmSafe *VmSafeCaller) GetBlockTimestamp(opts *bind.CallOpts) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "getBlockTimestamp") - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// GetBlockTimestamp is a free data retrieval call binding the contract method 0x796b89b9. -// -// Solidity: function getBlockTimestamp() view returns(uint256 timestamp) -func (_VmSafe *VmSafeSession) GetBlockTimestamp() (*big.Int, error) { - return _VmSafe.Contract.GetBlockTimestamp(&_VmSafe.CallOpts) -} - -// GetBlockTimestamp is a free data retrieval call binding the contract method 0x796b89b9. -// -// Solidity: function getBlockTimestamp() view returns(uint256 timestamp) -func (_VmSafe *VmSafeCallerSession) GetBlockTimestamp() (*big.Int, error) { - return _VmSafe.Contract.GetBlockTimestamp(&_VmSafe.CallOpts) -} - -// GetCode is a free data retrieval call binding the contract method 0x8d1cc925. -// -// Solidity: function getCode(string artifactPath) view returns(bytes creationBytecode) -func (_VmSafe *VmSafeCaller) GetCode(opts *bind.CallOpts, artifactPath string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "getCode", artifactPath) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// GetCode is a free data retrieval call binding the contract method 0x8d1cc925. -// -// Solidity: function getCode(string artifactPath) view returns(bytes creationBytecode) -func (_VmSafe *VmSafeSession) GetCode(artifactPath string) ([]byte, error) { - return _VmSafe.Contract.GetCode(&_VmSafe.CallOpts, artifactPath) -} - -// GetCode is a free data retrieval call binding the contract method 0x8d1cc925. -// -// Solidity: function getCode(string artifactPath) view returns(bytes creationBytecode) -func (_VmSafe *VmSafeCallerSession) GetCode(artifactPath string) ([]byte, error) { - return _VmSafe.Contract.GetCode(&_VmSafe.CallOpts, artifactPath) -} - -// GetDeployedCode is a free data retrieval call binding the contract method 0x3ebf73b4. -// -// Solidity: function getDeployedCode(string artifactPath) view returns(bytes runtimeBytecode) -func (_VmSafe *VmSafeCaller) GetDeployedCode(opts *bind.CallOpts, artifactPath string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "getDeployedCode", artifactPath) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// GetDeployedCode is a free data retrieval call binding the contract method 0x3ebf73b4. -// -// Solidity: function getDeployedCode(string artifactPath) view returns(bytes runtimeBytecode) -func (_VmSafe *VmSafeSession) GetDeployedCode(artifactPath string) ([]byte, error) { - return _VmSafe.Contract.GetDeployedCode(&_VmSafe.CallOpts, artifactPath) -} - -// GetDeployedCode is a free data retrieval call binding the contract method 0x3ebf73b4. -// -// Solidity: function getDeployedCode(string artifactPath) view returns(bytes runtimeBytecode) -func (_VmSafe *VmSafeCallerSession) GetDeployedCode(artifactPath string) ([]byte, error) { - return _VmSafe.Contract.GetDeployedCode(&_VmSafe.CallOpts, artifactPath) -} - -// GetLabel is a free data retrieval call binding the contract method 0x28a249b0. -// -// Solidity: function getLabel(address account) view returns(string currentLabel) -func (_VmSafe *VmSafeCaller) GetLabel(opts *bind.CallOpts, account common.Address) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "getLabel", account) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// GetLabel is a free data retrieval call binding the contract method 0x28a249b0. -// -// Solidity: function getLabel(address account) view returns(string currentLabel) -func (_VmSafe *VmSafeSession) GetLabel(account common.Address) (string, error) { - return _VmSafe.Contract.GetLabel(&_VmSafe.CallOpts, account) -} - -// GetLabel is a free data retrieval call binding the contract method 0x28a249b0. -// -// Solidity: function getLabel(address account) view returns(string currentLabel) -func (_VmSafe *VmSafeCallerSession) GetLabel(account common.Address) (string, error) { - return _VmSafe.Contract.GetLabel(&_VmSafe.CallOpts, account) -} - -// GetNonce is a free data retrieval call binding the contract method 0x2d0335ab. -// -// Solidity: function getNonce(address account) view returns(uint64 nonce) -func (_VmSafe *VmSafeCaller) GetNonce(opts *bind.CallOpts, account common.Address) (uint64, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "getNonce", account) - - if err != nil { - return *new(uint64), err - } - - out0 := *abi.ConvertType(out[0], new(uint64)).(*uint64) - - return out0, err - -} - -// GetNonce is a free data retrieval call binding the contract method 0x2d0335ab. -// -// Solidity: function getNonce(address account) view returns(uint64 nonce) -func (_VmSafe *VmSafeSession) GetNonce(account common.Address) (uint64, error) { - return _VmSafe.Contract.GetNonce(&_VmSafe.CallOpts, account) -} - -// GetNonce is a free data retrieval call binding the contract method 0x2d0335ab. -// -// Solidity: function getNonce(address account) view returns(uint64 nonce) -func (_VmSafe *VmSafeCallerSession) GetNonce(account common.Address) (uint64, error) { - return _VmSafe.Contract.GetNonce(&_VmSafe.CallOpts, account) -} - -// IndexOf is a free data retrieval call binding the contract method 0x8a0807b7. -// -// Solidity: function indexOf(string input, string key) pure returns(uint256) -func (_VmSafe *VmSafeCaller) IndexOf(opts *bind.CallOpts, input string, key string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "indexOf", input, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// IndexOf is a free data retrieval call binding the contract method 0x8a0807b7. -// -// Solidity: function indexOf(string input, string key) pure returns(uint256) -func (_VmSafe *VmSafeSession) IndexOf(input string, key string) (*big.Int, error) { - return _VmSafe.Contract.IndexOf(&_VmSafe.CallOpts, input, key) -} - -// IndexOf is a free data retrieval call binding the contract method 0x8a0807b7. -// -// Solidity: function indexOf(string input, string key) pure returns(uint256) -func (_VmSafe *VmSafeCallerSession) IndexOf(input string, key string) (*big.Int, error) { - return _VmSafe.Contract.IndexOf(&_VmSafe.CallOpts, input, key) -} - -// IsContext is a free data retrieval call binding the contract method 0x64af255d. -// -// Solidity: function isContext(uint8 context) view returns(bool result) -func (_VmSafe *VmSafeCaller) IsContext(opts *bind.CallOpts, context uint8) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "isContext", context) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// IsContext is a free data retrieval call binding the contract method 0x64af255d. -// -// Solidity: function isContext(uint8 context) view returns(bool result) -func (_VmSafe *VmSafeSession) IsContext(context uint8) (bool, error) { - return _VmSafe.Contract.IsContext(&_VmSafe.CallOpts, context) -} - -// IsContext is a free data retrieval call binding the contract method 0x64af255d. -// -// Solidity: function isContext(uint8 context) view returns(bool result) -func (_VmSafe *VmSafeCallerSession) IsContext(context uint8) (bool, error) { - return _VmSafe.Contract.IsContext(&_VmSafe.CallOpts, context) -} - -// KeyExists is a free data retrieval call binding the contract method 0x528a683c. -// -// Solidity: function keyExists(string json, string key) view returns(bool) -func (_VmSafe *VmSafeCaller) KeyExists(opts *bind.CallOpts, json string, key string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "keyExists", json, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// KeyExists is a free data retrieval call binding the contract method 0x528a683c. -// -// Solidity: function keyExists(string json, string key) view returns(bool) -func (_VmSafe *VmSafeSession) KeyExists(json string, key string) (bool, error) { - return _VmSafe.Contract.KeyExists(&_VmSafe.CallOpts, json, key) -} - -// KeyExists is a free data retrieval call binding the contract method 0x528a683c. -// -// Solidity: function keyExists(string json, string key) view returns(bool) -func (_VmSafe *VmSafeCallerSession) KeyExists(json string, key string) (bool, error) { - return _VmSafe.Contract.KeyExists(&_VmSafe.CallOpts, json, key) -} - -// KeyExistsJson is a free data retrieval call binding the contract method 0xdb4235f6. -// -// Solidity: function keyExistsJson(string json, string key) view returns(bool) -func (_VmSafe *VmSafeCaller) KeyExistsJson(opts *bind.CallOpts, json string, key string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "keyExistsJson", json, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// KeyExistsJson is a free data retrieval call binding the contract method 0xdb4235f6. -// -// Solidity: function keyExistsJson(string json, string key) view returns(bool) -func (_VmSafe *VmSafeSession) KeyExistsJson(json string, key string) (bool, error) { - return _VmSafe.Contract.KeyExistsJson(&_VmSafe.CallOpts, json, key) -} - -// KeyExistsJson is a free data retrieval call binding the contract method 0xdb4235f6. -// -// Solidity: function keyExistsJson(string json, string key) view returns(bool) -func (_VmSafe *VmSafeCallerSession) KeyExistsJson(json string, key string) (bool, error) { - return _VmSafe.Contract.KeyExistsJson(&_VmSafe.CallOpts, json, key) -} - -// KeyExistsToml is a free data retrieval call binding the contract method 0x600903ad. -// -// Solidity: function keyExistsToml(string toml, string key) view returns(bool) -func (_VmSafe *VmSafeCaller) KeyExistsToml(opts *bind.CallOpts, toml string, key string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "keyExistsToml", toml, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// KeyExistsToml is a free data retrieval call binding the contract method 0x600903ad. -// -// Solidity: function keyExistsToml(string toml, string key) view returns(bool) -func (_VmSafe *VmSafeSession) KeyExistsToml(toml string, key string) (bool, error) { - return _VmSafe.Contract.KeyExistsToml(&_VmSafe.CallOpts, toml, key) -} - -// KeyExistsToml is a free data retrieval call binding the contract method 0x600903ad. -// -// Solidity: function keyExistsToml(string toml, string key) view returns(bool) -func (_VmSafe *VmSafeCallerSession) KeyExistsToml(toml string, key string) (bool, error) { - return _VmSafe.Contract.KeyExistsToml(&_VmSafe.CallOpts, toml, key) -} - -// LastCallGas is a free data retrieval call binding the contract method 0x2b589b28. -// -// Solidity: function lastCallGas() view returns((uint64,uint64,uint64,int64,uint64) gas) -func (_VmSafe *VmSafeCaller) LastCallGas(opts *bind.CallOpts) (VmSafeGas, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "lastCallGas") - - if err != nil { - return *new(VmSafeGas), err - } - - out0 := *abi.ConvertType(out[0], new(VmSafeGas)).(*VmSafeGas) - - return out0, err - -} - -// LastCallGas is a free data retrieval call binding the contract method 0x2b589b28. -// -// Solidity: function lastCallGas() view returns((uint64,uint64,uint64,int64,uint64) gas) -func (_VmSafe *VmSafeSession) LastCallGas() (VmSafeGas, error) { - return _VmSafe.Contract.LastCallGas(&_VmSafe.CallOpts) -} - -// LastCallGas is a free data retrieval call binding the contract method 0x2b589b28. -// -// Solidity: function lastCallGas() view returns((uint64,uint64,uint64,int64,uint64) gas) -func (_VmSafe *VmSafeCallerSession) LastCallGas() (VmSafeGas, error) { - return _VmSafe.Contract.LastCallGas(&_VmSafe.CallOpts) -} - -// Load is a free data retrieval call binding the contract method 0x667f9d70. -// -// Solidity: function load(address target, bytes32 slot) view returns(bytes32 data) -func (_VmSafe *VmSafeCaller) Load(opts *bind.CallOpts, target common.Address, slot [32]byte) ([32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "load", target, slot) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// Load is a free data retrieval call binding the contract method 0x667f9d70. -// -// Solidity: function load(address target, bytes32 slot) view returns(bytes32 data) -func (_VmSafe *VmSafeSession) Load(target common.Address, slot [32]byte) ([32]byte, error) { - return _VmSafe.Contract.Load(&_VmSafe.CallOpts, target, slot) -} - -// Load is a free data retrieval call binding the contract method 0x667f9d70. -// -// Solidity: function load(address target, bytes32 slot) view returns(bytes32 data) -func (_VmSafe *VmSafeCallerSession) Load(target common.Address, slot [32]byte) ([32]byte, error) { - return _VmSafe.Contract.Load(&_VmSafe.CallOpts, target, slot) -} - -// ParseAddress is a free data retrieval call binding the contract method 0xc6ce059d. -// -// Solidity: function parseAddress(string stringifiedValue) pure returns(address parsedValue) -func (_VmSafe *VmSafeCaller) ParseAddress(opts *bind.CallOpts, stringifiedValue string) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseAddress", stringifiedValue) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ParseAddress is a free data retrieval call binding the contract method 0xc6ce059d. -// -// Solidity: function parseAddress(string stringifiedValue) pure returns(address parsedValue) -func (_VmSafe *VmSafeSession) ParseAddress(stringifiedValue string) (common.Address, error) { - return _VmSafe.Contract.ParseAddress(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseAddress is a free data retrieval call binding the contract method 0xc6ce059d. -// -// Solidity: function parseAddress(string stringifiedValue) pure returns(address parsedValue) -func (_VmSafe *VmSafeCallerSession) ParseAddress(stringifiedValue string) (common.Address, error) { - return _VmSafe.Contract.ParseAddress(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseBool is a free data retrieval call binding the contract method 0x974ef924. -// -// Solidity: function parseBool(string stringifiedValue) pure returns(bool parsedValue) -func (_VmSafe *VmSafeCaller) ParseBool(opts *bind.CallOpts, stringifiedValue string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseBool", stringifiedValue) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ParseBool is a free data retrieval call binding the contract method 0x974ef924. -// -// Solidity: function parseBool(string stringifiedValue) pure returns(bool parsedValue) -func (_VmSafe *VmSafeSession) ParseBool(stringifiedValue string) (bool, error) { - return _VmSafe.Contract.ParseBool(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseBool is a free data retrieval call binding the contract method 0x974ef924. -// -// Solidity: function parseBool(string stringifiedValue) pure returns(bool parsedValue) -func (_VmSafe *VmSafeCallerSession) ParseBool(stringifiedValue string) (bool, error) { - return _VmSafe.Contract.ParseBool(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseBytes is a free data retrieval call binding the contract method 0x8f5d232d. -// -// Solidity: function parseBytes(string stringifiedValue) pure returns(bytes parsedValue) -func (_VmSafe *VmSafeCaller) ParseBytes(opts *bind.CallOpts, stringifiedValue string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseBytes", stringifiedValue) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseBytes is a free data retrieval call binding the contract method 0x8f5d232d. -// -// Solidity: function parseBytes(string stringifiedValue) pure returns(bytes parsedValue) -func (_VmSafe *VmSafeSession) ParseBytes(stringifiedValue string) ([]byte, error) { - return _VmSafe.Contract.ParseBytes(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseBytes is a free data retrieval call binding the contract method 0x8f5d232d. -// -// Solidity: function parseBytes(string stringifiedValue) pure returns(bytes parsedValue) -func (_VmSafe *VmSafeCallerSession) ParseBytes(stringifiedValue string) ([]byte, error) { - return _VmSafe.Contract.ParseBytes(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseBytes32 is a free data retrieval call binding the contract method 0x087e6e81. -// -// Solidity: function parseBytes32(string stringifiedValue) pure returns(bytes32 parsedValue) -func (_VmSafe *VmSafeCaller) ParseBytes32(opts *bind.CallOpts, stringifiedValue string) ([32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseBytes32", stringifiedValue) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ParseBytes32 is a free data retrieval call binding the contract method 0x087e6e81. -// -// Solidity: function parseBytes32(string stringifiedValue) pure returns(bytes32 parsedValue) -func (_VmSafe *VmSafeSession) ParseBytes32(stringifiedValue string) ([32]byte, error) { - return _VmSafe.Contract.ParseBytes32(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseBytes32 is a free data retrieval call binding the contract method 0x087e6e81. -// -// Solidity: function parseBytes32(string stringifiedValue) pure returns(bytes32 parsedValue) -func (_VmSafe *VmSafeCallerSession) ParseBytes32(stringifiedValue string) ([32]byte, error) { - return _VmSafe.Contract.ParseBytes32(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseInt is a free data retrieval call binding the contract method 0x42346c5e. -// -// Solidity: function parseInt(string stringifiedValue) pure returns(int256 parsedValue) -func (_VmSafe *VmSafeCaller) ParseInt(opts *bind.CallOpts, stringifiedValue string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseInt", stringifiedValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseInt is a free data retrieval call binding the contract method 0x42346c5e. -// -// Solidity: function parseInt(string stringifiedValue) pure returns(int256 parsedValue) -func (_VmSafe *VmSafeSession) ParseInt(stringifiedValue string) (*big.Int, error) { - return _VmSafe.Contract.ParseInt(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseInt is a free data retrieval call binding the contract method 0x42346c5e. -// -// Solidity: function parseInt(string stringifiedValue) pure returns(int256 parsedValue) -func (_VmSafe *VmSafeCallerSession) ParseInt(stringifiedValue string) (*big.Int, error) { - return _VmSafe.Contract.ParseInt(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseJson is a free data retrieval call binding the contract method 0x6a82600a. -// -// Solidity: function parseJson(string json) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCaller) ParseJson(opts *bind.CallOpts, json string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJson", json) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseJson is a free data retrieval call binding the contract method 0x6a82600a. -// -// Solidity: function parseJson(string json) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeSession) ParseJson(json string) ([]byte, error) { - return _VmSafe.Contract.ParseJson(&_VmSafe.CallOpts, json) -} - -// ParseJson is a free data retrieval call binding the contract method 0x6a82600a. -// -// Solidity: function parseJson(string json) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCallerSession) ParseJson(json string) ([]byte, error) { - return _VmSafe.Contract.ParseJson(&_VmSafe.CallOpts, json) -} - -// ParseJson0 is a free data retrieval call binding the contract method 0x85940ef1. -// -// Solidity: function parseJson(string json, string key) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCaller) ParseJson0(opts *bind.CallOpts, json string, key string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJson0", json, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseJson0 is a free data retrieval call binding the contract method 0x85940ef1. -// -// Solidity: function parseJson(string json, string key) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeSession) ParseJson0(json string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseJson0(&_VmSafe.CallOpts, json, key) -} - -// ParseJson0 is a free data retrieval call binding the contract method 0x85940ef1. -// -// Solidity: function parseJson(string json, string key) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCallerSession) ParseJson0(json string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseJson0(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonAddress is a free data retrieval call binding the contract method 0x1e19e657. -// -// Solidity: function parseJsonAddress(string json, string key) pure returns(address) -func (_VmSafe *VmSafeCaller) ParseJsonAddress(opts *bind.CallOpts, json string, key string) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonAddress", json, key) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ParseJsonAddress is a free data retrieval call binding the contract method 0x1e19e657. -// -// Solidity: function parseJsonAddress(string json, string key) pure returns(address) -func (_VmSafe *VmSafeSession) ParseJsonAddress(json string, key string) (common.Address, error) { - return _VmSafe.Contract.ParseJsonAddress(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonAddress is a free data retrieval call binding the contract method 0x1e19e657. -// -// Solidity: function parseJsonAddress(string json, string key) pure returns(address) -func (_VmSafe *VmSafeCallerSession) ParseJsonAddress(json string, key string) (common.Address, error) { - return _VmSafe.Contract.ParseJsonAddress(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonAddressArray is a free data retrieval call binding the contract method 0x2fce7883. -// -// Solidity: function parseJsonAddressArray(string json, string key) pure returns(address[]) -func (_VmSafe *VmSafeCaller) ParseJsonAddressArray(opts *bind.CallOpts, json string, key string) ([]common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonAddressArray", json, key) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ParseJsonAddressArray is a free data retrieval call binding the contract method 0x2fce7883. -// -// Solidity: function parseJsonAddressArray(string json, string key) pure returns(address[]) -func (_VmSafe *VmSafeSession) ParseJsonAddressArray(json string, key string) ([]common.Address, error) { - return _VmSafe.Contract.ParseJsonAddressArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonAddressArray is a free data retrieval call binding the contract method 0x2fce7883. -// -// Solidity: function parseJsonAddressArray(string json, string key) pure returns(address[]) -func (_VmSafe *VmSafeCallerSession) ParseJsonAddressArray(json string, key string) ([]common.Address, error) { - return _VmSafe.Contract.ParseJsonAddressArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBool is a free data retrieval call binding the contract method 0x9f86dc91. -// -// Solidity: function parseJsonBool(string json, string key) pure returns(bool) -func (_VmSafe *VmSafeCaller) ParseJsonBool(opts *bind.CallOpts, json string, key string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonBool", json, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ParseJsonBool is a free data retrieval call binding the contract method 0x9f86dc91. -// -// Solidity: function parseJsonBool(string json, string key) pure returns(bool) -func (_VmSafe *VmSafeSession) ParseJsonBool(json string, key string) (bool, error) { - return _VmSafe.Contract.ParseJsonBool(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBool is a free data retrieval call binding the contract method 0x9f86dc91. -// -// Solidity: function parseJsonBool(string json, string key) pure returns(bool) -func (_VmSafe *VmSafeCallerSession) ParseJsonBool(json string, key string) (bool, error) { - return _VmSafe.Contract.ParseJsonBool(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBoolArray is a free data retrieval call binding the contract method 0x91f3b94f. -// -// Solidity: function parseJsonBoolArray(string json, string key) pure returns(bool[]) -func (_VmSafe *VmSafeCaller) ParseJsonBoolArray(opts *bind.CallOpts, json string, key string) ([]bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonBoolArray", json, key) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// ParseJsonBoolArray is a free data retrieval call binding the contract method 0x91f3b94f. -// -// Solidity: function parseJsonBoolArray(string json, string key) pure returns(bool[]) -func (_VmSafe *VmSafeSession) ParseJsonBoolArray(json string, key string) ([]bool, error) { - return _VmSafe.Contract.ParseJsonBoolArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBoolArray is a free data retrieval call binding the contract method 0x91f3b94f. -// -// Solidity: function parseJsonBoolArray(string json, string key) pure returns(bool[]) -func (_VmSafe *VmSafeCallerSession) ParseJsonBoolArray(json string, key string) ([]bool, error) { - return _VmSafe.Contract.ParseJsonBoolArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytes is a free data retrieval call binding the contract method 0xfd921be8. -// -// Solidity: function parseJsonBytes(string json, string key) pure returns(bytes) -func (_VmSafe *VmSafeCaller) ParseJsonBytes(opts *bind.CallOpts, json string, key string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonBytes", json, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseJsonBytes is a free data retrieval call binding the contract method 0xfd921be8. -// -// Solidity: function parseJsonBytes(string json, string key) pure returns(bytes) -func (_VmSafe *VmSafeSession) ParseJsonBytes(json string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseJsonBytes(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytes is a free data retrieval call binding the contract method 0xfd921be8. -// -// Solidity: function parseJsonBytes(string json, string key) pure returns(bytes) -func (_VmSafe *VmSafeCallerSession) ParseJsonBytes(json string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseJsonBytes(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytes32 is a free data retrieval call binding the contract method 0x1777e59d. -// -// Solidity: function parseJsonBytes32(string json, string key) pure returns(bytes32) -func (_VmSafe *VmSafeCaller) ParseJsonBytes32(opts *bind.CallOpts, json string, key string) ([32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonBytes32", json, key) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ParseJsonBytes32 is a free data retrieval call binding the contract method 0x1777e59d. -// -// Solidity: function parseJsonBytes32(string json, string key) pure returns(bytes32) -func (_VmSafe *VmSafeSession) ParseJsonBytes32(json string, key string) ([32]byte, error) { - return _VmSafe.Contract.ParseJsonBytes32(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytes32 is a free data retrieval call binding the contract method 0x1777e59d. -// -// Solidity: function parseJsonBytes32(string json, string key) pure returns(bytes32) -func (_VmSafe *VmSafeCallerSession) ParseJsonBytes32(json string, key string) ([32]byte, error) { - return _VmSafe.Contract.ParseJsonBytes32(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytes32Array is a free data retrieval call binding the contract method 0x91c75bc3. -// -// Solidity: function parseJsonBytes32Array(string json, string key) pure returns(bytes32[]) -func (_VmSafe *VmSafeCaller) ParseJsonBytes32Array(opts *bind.CallOpts, json string, key string) ([][32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonBytes32Array", json, key) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// ParseJsonBytes32Array is a free data retrieval call binding the contract method 0x91c75bc3. -// -// Solidity: function parseJsonBytes32Array(string json, string key) pure returns(bytes32[]) -func (_VmSafe *VmSafeSession) ParseJsonBytes32Array(json string, key string) ([][32]byte, error) { - return _VmSafe.Contract.ParseJsonBytes32Array(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytes32Array is a free data retrieval call binding the contract method 0x91c75bc3. -// -// Solidity: function parseJsonBytes32Array(string json, string key) pure returns(bytes32[]) -func (_VmSafe *VmSafeCallerSession) ParseJsonBytes32Array(json string, key string) ([][32]byte, error) { - return _VmSafe.Contract.ParseJsonBytes32Array(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytesArray is a free data retrieval call binding the contract method 0x6631aa99. -// -// Solidity: function parseJsonBytesArray(string json, string key) pure returns(bytes[]) -func (_VmSafe *VmSafeCaller) ParseJsonBytesArray(opts *bind.CallOpts, json string, key string) ([][]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonBytesArray", json, key) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// ParseJsonBytesArray is a free data retrieval call binding the contract method 0x6631aa99. -// -// Solidity: function parseJsonBytesArray(string json, string key) pure returns(bytes[]) -func (_VmSafe *VmSafeSession) ParseJsonBytesArray(json string, key string) ([][]byte, error) { - return _VmSafe.Contract.ParseJsonBytesArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonBytesArray is a free data retrieval call binding the contract method 0x6631aa99. -// -// Solidity: function parseJsonBytesArray(string json, string key) pure returns(bytes[]) -func (_VmSafe *VmSafeCallerSession) ParseJsonBytesArray(json string, key string) ([][]byte, error) { - return _VmSafe.Contract.ParseJsonBytesArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonInt is a free data retrieval call binding the contract method 0x7b048ccd. -// -// Solidity: function parseJsonInt(string json, string key) pure returns(int256) -func (_VmSafe *VmSafeCaller) ParseJsonInt(opts *bind.CallOpts, json string, key string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonInt", json, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseJsonInt is a free data retrieval call binding the contract method 0x7b048ccd. -// -// Solidity: function parseJsonInt(string json, string key) pure returns(int256) -func (_VmSafe *VmSafeSession) ParseJsonInt(json string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseJsonInt(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonInt is a free data retrieval call binding the contract method 0x7b048ccd. -// -// Solidity: function parseJsonInt(string json, string key) pure returns(int256) -func (_VmSafe *VmSafeCallerSession) ParseJsonInt(json string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseJsonInt(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonIntArray is a free data retrieval call binding the contract method 0x9983c28a. -// -// Solidity: function parseJsonIntArray(string json, string key) pure returns(int256[]) -func (_VmSafe *VmSafeCaller) ParseJsonIntArray(opts *bind.CallOpts, json string, key string) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonIntArray", json, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseJsonIntArray is a free data retrieval call binding the contract method 0x9983c28a. -// -// Solidity: function parseJsonIntArray(string json, string key) pure returns(int256[]) -func (_VmSafe *VmSafeSession) ParseJsonIntArray(json string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseJsonIntArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonIntArray is a free data retrieval call binding the contract method 0x9983c28a. -// -// Solidity: function parseJsonIntArray(string json, string key) pure returns(int256[]) -func (_VmSafe *VmSafeCallerSession) ParseJsonIntArray(json string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseJsonIntArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonKeys is a free data retrieval call binding the contract method 0x213e4198. -// -// Solidity: function parseJsonKeys(string json, string key) pure returns(string[] keys) -func (_VmSafe *VmSafeCaller) ParseJsonKeys(opts *bind.CallOpts, json string, key string) ([]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonKeys", json, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseJsonKeys is a free data retrieval call binding the contract method 0x213e4198. -// -// Solidity: function parseJsonKeys(string json, string key) pure returns(string[] keys) -func (_VmSafe *VmSafeSession) ParseJsonKeys(json string, key string) ([]string, error) { - return _VmSafe.Contract.ParseJsonKeys(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonKeys is a free data retrieval call binding the contract method 0x213e4198. -// -// Solidity: function parseJsonKeys(string json, string key) pure returns(string[] keys) -func (_VmSafe *VmSafeCallerSession) ParseJsonKeys(json string, key string) ([]string, error) { - return _VmSafe.Contract.ParseJsonKeys(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonString is a free data retrieval call binding the contract method 0x49c4fac8. -// -// Solidity: function parseJsonString(string json, string key) pure returns(string) -func (_VmSafe *VmSafeCaller) ParseJsonString(opts *bind.CallOpts, json string, key string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonString", json, key) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ParseJsonString is a free data retrieval call binding the contract method 0x49c4fac8. -// -// Solidity: function parseJsonString(string json, string key) pure returns(string) -func (_VmSafe *VmSafeSession) ParseJsonString(json string, key string) (string, error) { - return _VmSafe.Contract.ParseJsonString(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonString is a free data retrieval call binding the contract method 0x49c4fac8. -// -// Solidity: function parseJsonString(string json, string key) pure returns(string) -func (_VmSafe *VmSafeCallerSession) ParseJsonString(json string, key string) (string, error) { - return _VmSafe.Contract.ParseJsonString(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonStringArray is a free data retrieval call binding the contract method 0x498fdcf4. -// -// Solidity: function parseJsonStringArray(string json, string key) pure returns(string[]) -func (_VmSafe *VmSafeCaller) ParseJsonStringArray(opts *bind.CallOpts, json string, key string) ([]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonStringArray", json, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseJsonStringArray is a free data retrieval call binding the contract method 0x498fdcf4. -// -// Solidity: function parseJsonStringArray(string json, string key) pure returns(string[]) -func (_VmSafe *VmSafeSession) ParseJsonStringArray(json string, key string) ([]string, error) { - return _VmSafe.Contract.ParseJsonStringArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonStringArray is a free data retrieval call binding the contract method 0x498fdcf4. -// -// Solidity: function parseJsonStringArray(string json, string key) pure returns(string[]) -func (_VmSafe *VmSafeCallerSession) ParseJsonStringArray(json string, key string) ([]string, error) { - return _VmSafe.Contract.ParseJsonStringArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonUint is a free data retrieval call binding the contract method 0xaddde2b6. -// -// Solidity: function parseJsonUint(string json, string key) pure returns(uint256) -func (_VmSafe *VmSafeCaller) ParseJsonUint(opts *bind.CallOpts, json string, key string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonUint", json, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseJsonUint is a free data retrieval call binding the contract method 0xaddde2b6. -// -// Solidity: function parseJsonUint(string json, string key) pure returns(uint256) -func (_VmSafe *VmSafeSession) ParseJsonUint(json string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseJsonUint(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonUint is a free data retrieval call binding the contract method 0xaddde2b6. -// -// Solidity: function parseJsonUint(string json, string key) pure returns(uint256) -func (_VmSafe *VmSafeCallerSession) ParseJsonUint(json string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseJsonUint(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonUintArray is a free data retrieval call binding the contract method 0x522074ab. -// -// Solidity: function parseJsonUintArray(string json, string key) pure returns(uint256[]) -func (_VmSafe *VmSafeCaller) ParseJsonUintArray(opts *bind.CallOpts, json string, key string) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseJsonUintArray", json, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseJsonUintArray is a free data retrieval call binding the contract method 0x522074ab. -// -// Solidity: function parseJsonUintArray(string json, string key) pure returns(uint256[]) -func (_VmSafe *VmSafeSession) ParseJsonUintArray(json string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseJsonUintArray(&_VmSafe.CallOpts, json, key) -} - -// ParseJsonUintArray is a free data retrieval call binding the contract method 0x522074ab. -// -// Solidity: function parseJsonUintArray(string json, string key) pure returns(uint256[]) -func (_VmSafe *VmSafeCallerSession) ParseJsonUintArray(json string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseJsonUintArray(&_VmSafe.CallOpts, json, key) -} - -// ParseToml is a free data retrieval call binding the contract method 0x37736e08. -// -// Solidity: function parseToml(string toml, string key) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCaller) ParseToml(opts *bind.CallOpts, toml string, key string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseToml", toml, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseToml is a free data retrieval call binding the contract method 0x37736e08. -// -// Solidity: function parseToml(string toml, string key) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeSession) ParseToml(toml string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseToml(&_VmSafe.CallOpts, toml, key) -} - -// ParseToml is a free data retrieval call binding the contract method 0x37736e08. -// -// Solidity: function parseToml(string toml, string key) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCallerSession) ParseToml(toml string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseToml(&_VmSafe.CallOpts, toml, key) -} - -// ParseToml0 is a free data retrieval call binding the contract method 0x592151f0. -// -// Solidity: function parseToml(string toml) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCaller) ParseToml0(opts *bind.CallOpts, toml string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseToml0", toml) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseToml0 is a free data retrieval call binding the contract method 0x592151f0. -// -// Solidity: function parseToml(string toml) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeSession) ParseToml0(toml string) ([]byte, error) { - return _VmSafe.Contract.ParseToml0(&_VmSafe.CallOpts, toml) -} - -// ParseToml0 is a free data retrieval call binding the contract method 0x592151f0. -// -// Solidity: function parseToml(string toml) pure returns(bytes abiEncodedData) -func (_VmSafe *VmSafeCallerSession) ParseToml0(toml string) ([]byte, error) { - return _VmSafe.Contract.ParseToml0(&_VmSafe.CallOpts, toml) -} - -// ParseTomlAddress is a free data retrieval call binding the contract method 0x65e7c844. -// -// Solidity: function parseTomlAddress(string toml, string key) pure returns(address) -func (_VmSafe *VmSafeCaller) ParseTomlAddress(opts *bind.CallOpts, toml string, key string) (common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlAddress", toml, key) - - if err != nil { - return *new(common.Address), err - } - - out0 := *abi.ConvertType(out[0], new(common.Address)).(*common.Address) - - return out0, err - -} - -// ParseTomlAddress is a free data retrieval call binding the contract method 0x65e7c844. -// -// Solidity: function parseTomlAddress(string toml, string key) pure returns(address) -func (_VmSafe *VmSafeSession) ParseTomlAddress(toml string, key string) (common.Address, error) { - return _VmSafe.Contract.ParseTomlAddress(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlAddress is a free data retrieval call binding the contract method 0x65e7c844. -// -// Solidity: function parseTomlAddress(string toml, string key) pure returns(address) -func (_VmSafe *VmSafeCallerSession) ParseTomlAddress(toml string, key string) (common.Address, error) { - return _VmSafe.Contract.ParseTomlAddress(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlAddressArray is a free data retrieval call binding the contract method 0x65c428e7. -// -// Solidity: function parseTomlAddressArray(string toml, string key) pure returns(address[]) -func (_VmSafe *VmSafeCaller) ParseTomlAddressArray(opts *bind.CallOpts, toml string, key string) ([]common.Address, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlAddressArray", toml, key) - - if err != nil { - return *new([]common.Address), err - } - - out0 := *abi.ConvertType(out[0], new([]common.Address)).(*[]common.Address) - - return out0, err - -} - -// ParseTomlAddressArray is a free data retrieval call binding the contract method 0x65c428e7. -// -// Solidity: function parseTomlAddressArray(string toml, string key) pure returns(address[]) -func (_VmSafe *VmSafeSession) ParseTomlAddressArray(toml string, key string) ([]common.Address, error) { - return _VmSafe.Contract.ParseTomlAddressArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlAddressArray is a free data retrieval call binding the contract method 0x65c428e7. -// -// Solidity: function parseTomlAddressArray(string toml, string key) pure returns(address[]) -func (_VmSafe *VmSafeCallerSession) ParseTomlAddressArray(toml string, key string) ([]common.Address, error) { - return _VmSafe.Contract.ParseTomlAddressArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBool is a free data retrieval call binding the contract method 0xd30dced6. -// -// Solidity: function parseTomlBool(string toml, string key) pure returns(bool) -func (_VmSafe *VmSafeCaller) ParseTomlBool(opts *bind.CallOpts, toml string, key string) (bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlBool", toml, key) - - if err != nil { - return *new(bool), err - } - - out0 := *abi.ConvertType(out[0], new(bool)).(*bool) - - return out0, err - -} - -// ParseTomlBool is a free data retrieval call binding the contract method 0xd30dced6. -// -// Solidity: function parseTomlBool(string toml, string key) pure returns(bool) -func (_VmSafe *VmSafeSession) ParseTomlBool(toml string, key string) (bool, error) { - return _VmSafe.Contract.ParseTomlBool(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBool is a free data retrieval call binding the contract method 0xd30dced6. -// -// Solidity: function parseTomlBool(string toml, string key) pure returns(bool) -func (_VmSafe *VmSafeCallerSession) ParseTomlBool(toml string, key string) (bool, error) { - return _VmSafe.Contract.ParseTomlBool(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBoolArray is a free data retrieval call binding the contract method 0x127cfe9a. -// -// Solidity: function parseTomlBoolArray(string toml, string key) pure returns(bool[]) -func (_VmSafe *VmSafeCaller) ParseTomlBoolArray(opts *bind.CallOpts, toml string, key string) ([]bool, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlBoolArray", toml, key) - - if err != nil { - return *new([]bool), err - } - - out0 := *abi.ConvertType(out[0], new([]bool)).(*[]bool) - - return out0, err - -} - -// ParseTomlBoolArray is a free data retrieval call binding the contract method 0x127cfe9a. -// -// Solidity: function parseTomlBoolArray(string toml, string key) pure returns(bool[]) -func (_VmSafe *VmSafeSession) ParseTomlBoolArray(toml string, key string) ([]bool, error) { - return _VmSafe.Contract.ParseTomlBoolArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBoolArray is a free data retrieval call binding the contract method 0x127cfe9a. -// -// Solidity: function parseTomlBoolArray(string toml, string key) pure returns(bool[]) -func (_VmSafe *VmSafeCallerSession) ParseTomlBoolArray(toml string, key string) ([]bool, error) { - return _VmSafe.Contract.ParseTomlBoolArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytes is a free data retrieval call binding the contract method 0xd77bfdb9. -// -// Solidity: function parseTomlBytes(string toml, string key) pure returns(bytes) -func (_VmSafe *VmSafeCaller) ParseTomlBytes(opts *bind.CallOpts, toml string, key string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlBytes", toml, key) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ParseTomlBytes is a free data retrieval call binding the contract method 0xd77bfdb9. -// -// Solidity: function parseTomlBytes(string toml, string key) pure returns(bytes) -func (_VmSafe *VmSafeSession) ParseTomlBytes(toml string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseTomlBytes(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytes is a free data retrieval call binding the contract method 0xd77bfdb9. -// -// Solidity: function parseTomlBytes(string toml, string key) pure returns(bytes) -func (_VmSafe *VmSafeCallerSession) ParseTomlBytes(toml string, key string) ([]byte, error) { - return _VmSafe.Contract.ParseTomlBytes(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytes32 is a free data retrieval call binding the contract method 0x8e214810. -// -// Solidity: function parseTomlBytes32(string toml, string key) pure returns(bytes32) -func (_VmSafe *VmSafeCaller) ParseTomlBytes32(opts *bind.CallOpts, toml string, key string) ([32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlBytes32", toml, key) - - if err != nil { - return *new([32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - - return out0, err - -} - -// ParseTomlBytes32 is a free data retrieval call binding the contract method 0x8e214810. -// -// Solidity: function parseTomlBytes32(string toml, string key) pure returns(bytes32) -func (_VmSafe *VmSafeSession) ParseTomlBytes32(toml string, key string) ([32]byte, error) { - return _VmSafe.Contract.ParseTomlBytes32(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytes32 is a free data retrieval call binding the contract method 0x8e214810. -// -// Solidity: function parseTomlBytes32(string toml, string key) pure returns(bytes32) -func (_VmSafe *VmSafeCallerSession) ParseTomlBytes32(toml string, key string) ([32]byte, error) { - return _VmSafe.Contract.ParseTomlBytes32(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytes32Array is a free data retrieval call binding the contract method 0x3e716f81. -// -// Solidity: function parseTomlBytes32Array(string toml, string key) pure returns(bytes32[]) -func (_VmSafe *VmSafeCaller) ParseTomlBytes32Array(opts *bind.CallOpts, toml string, key string) ([][32]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlBytes32Array", toml, key) - - if err != nil { - return *new([][32]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][32]byte)).(*[][32]byte) - - return out0, err - -} - -// ParseTomlBytes32Array is a free data retrieval call binding the contract method 0x3e716f81. -// -// Solidity: function parseTomlBytes32Array(string toml, string key) pure returns(bytes32[]) -func (_VmSafe *VmSafeSession) ParseTomlBytes32Array(toml string, key string) ([][32]byte, error) { - return _VmSafe.Contract.ParseTomlBytes32Array(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytes32Array is a free data retrieval call binding the contract method 0x3e716f81. -// -// Solidity: function parseTomlBytes32Array(string toml, string key) pure returns(bytes32[]) -func (_VmSafe *VmSafeCallerSession) ParseTomlBytes32Array(toml string, key string) ([][32]byte, error) { - return _VmSafe.Contract.ParseTomlBytes32Array(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytesArray is a free data retrieval call binding the contract method 0xb197c247. -// -// Solidity: function parseTomlBytesArray(string toml, string key) pure returns(bytes[]) -func (_VmSafe *VmSafeCaller) ParseTomlBytesArray(opts *bind.CallOpts, toml string, key string) ([][]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlBytesArray", toml, key) - - if err != nil { - return *new([][]byte), err - } - - out0 := *abi.ConvertType(out[0], new([][]byte)).(*[][]byte) - - return out0, err - -} - -// ParseTomlBytesArray is a free data retrieval call binding the contract method 0xb197c247. -// -// Solidity: function parseTomlBytesArray(string toml, string key) pure returns(bytes[]) -func (_VmSafe *VmSafeSession) ParseTomlBytesArray(toml string, key string) ([][]byte, error) { - return _VmSafe.Contract.ParseTomlBytesArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlBytesArray is a free data retrieval call binding the contract method 0xb197c247. -// -// Solidity: function parseTomlBytesArray(string toml, string key) pure returns(bytes[]) -func (_VmSafe *VmSafeCallerSession) ParseTomlBytesArray(toml string, key string) ([][]byte, error) { - return _VmSafe.Contract.ParseTomlBytesArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlInt is a free data retrieval call binding the contract method 0xc1350739. -// -// Solidity: function parseTomlInt(string toml, string key) pure returns(int256) -func (_VmSafe *VmSafeCaller) ParseTomlInt(opts *bind.CallOpts, toml string, key string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlInt", toml, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseTomlInt is a free data retrieval call binding the contract method 0xc1350739. -// -// Solidity: function parseTomlInt(string toml, string key) pure returns(int256) -func (_VmSafe *VmSafeSession) ParseTomlInt(toml string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseTomlInt(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlInt is a free data retrieval call binding the contract method 0xc1350739. -// -// Solidity: function parseTomlInt(string toml, string key) pure returns(int256) -func (_VmSafe *VmSafeCallerSession) ParseTomlInt(toml string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseTomlInt(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlIntArray is a free data retrieval call binding the contract method 0xd3522ae6. -// -// Solidity: function parseTomlIntArray(string toml, string key) pure returns(int256[]) -func (_VmSafe *VmSafeCaller) ParseTomlIntArray(opts *bind.CallOpts, toml string, key string) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlIntArray", toml, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseTomlIntArray is a free data retrieval call binding the contract method 0xd3522ae6. -// -// Solidity: function parseTomlIntArray(string toml, string key) pure returns(int256[]) -func (_VmSafe *VmSafeSession) ParseTomlIntArray(toml string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseTomlIntArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlIntArray is a free data retrieval call binding the contract method 0xd3522ae6. -// -// Solidity: function parseTomlIntArray(string toml, string key) pure returns(int256[]) -func (_VmSafe *VmSafeCallerSession) ParseTomlIntArray(toml string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseTomlIntArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlKeys is a free data retrieval call binding the contract method 0x812a44b2. -// -// Solidity: function parseTomlKeys(string toml, string key) pure returns(string[] keys) -func (_VmSafe *VmSafeCaller) ParseTomlKeys(opts *bind.CallOpts, toml string, key string) ([]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlKeys", toml, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseTomlKeys is a free data retrieval call binding the contract method 0x812a44b2. -// -// Solidity: function parseTomlKeys(string toml, string key) pure returns(string[] keys) -func (_VmSafe *VmSafeSession) ParseTomlKeys(toml string, key string) ([]string, error) { - return _VmSafe.Contract.ParseTomlKeys(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlKeys is a free data retrieval call binding the contract method 0x812a44b2. -// -// Solidity: function parseTomlKeys(string toml, string key) pure returns(string[] keys) -func (_VmSafe *VmSafeCallerSession) ParseTomlKeys(toml string, key string) ([]string, error) { - return _VmSafe.Contract.ParseTomlKeys(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlString is a free data retrieval call binding the contract method 0x8bb8dd43. -// -// Solidity: function parseTomlString(string toml, string key) pure returns(string) -func (_VmSafe *VmSafeCaller) ParseTomlString(opts *bind.CallOpts, toml string, key string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlString", toml, key) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ParseTomlString is a free data retrieval call binding the contract method 0x8bb8dd43. -// -// Solidity: function parseTomlString(string toml, string key) pure returns(string) -func (_VmSafe *VmSafeSession) ParseTomlString(toml string, key string) (string, error) { - return _VmSafe.Contract.ParseTomlString(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlString is a free data retrieval call binding the contract method 0x8bb8dd43. -// -// Solidity: function parseTomlString(string toml, string key) pure returns(string) -func (_VmSafe *VmSafeCallerSession) ParseTomlString(toml string, key string) (string, error) { - return _VmSafe.Contract.ParseTomlString(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlStringArray is a free data retrieval call binding the contract method 0x9f629281. -// -// Solidity: function parseTomlStringArray(string toml, string key) pure returns(string[]) -func (_VmSafe *VmSafeCaller) ParseTomlStringArray(opts *bind.CallOpts, toml string, key string) ([]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlStringArray", toml, key) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// ParseTomlStringArray is a free data retrieval call binding the contract method 0x9f629281. -// -// Solidity: function parseTomlStringArray(string toml, string key) pure returns(string[]) -func (_VmSafe *VmSafeSession) ParseTomlStringArray(toml string, key string) ([]string, error) { - return _VmSafe.Contract.ParseTomlStringArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlStringArray is a free data retrieval call binding the contract method 0x9f629281. -// -// Solidity: function parseTomlStringArray(string toml, string key) pure returns(string[]) -func (_VmSafe *VmSafeCallerSession) ParseTomlStringArray(toml string, key string) ([]string, error) { - return _VmSafe.Contract.ParseTomlStringArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlUint is a free data retrieval call binding the contract method 0xcc7b0487. -// -// Solidity: function parseTomlUint(string toml, string key) pure returns(uint256) -func (_VmSafe *VmSafeCaller) ParseTomlUint(opts *bind.CallOpts, toml string, key string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlUint", toml, key) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseTomlUint is a free data retrieval call binding the contract method 0xcc7b0487. -// -// Solidity: function parseTomlUint(string toml, string key) pure returns(uint256) -func (_VmSafe *VmSafeSession) ParseTomlUint(toml string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseTomlUint(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlUint is a free data retrieval call binding the contract method 0xcc7b0487. -// -// Solidity: function parseTomlUint(string toml, string key) pure returns(uint256) -func (_VmSafe *VmSafeCallerSession) ParseTomlUint(toml string, key string) (*big.Int, error) { - return _VmSafe.Contract.ParseTomlUint(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlUintArray is a free data retrieval call binding the contract method 0xb5df27c8. -// -// Solidity: function parseTomlUintArray(string toml, string key) pure returns(uint256[]) -func (_VmSafe *VmSafeCaller) ParseTomlUintArray(opts *bind.CallOpts, toml string, key string) ([]*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseTomlUintArray", toml, key) - - if err != nil { - return *new([]*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new([]*big.Int)).(*[]*big.Int) - - return out0, err - -} - -// ParseTomlUintArray is a free data retrieval call binding the contract method 0xb5df27c8. -// -// Solidity: function parseTomlUintArray(string toml, string key) pure returns(uint256[]) -func (_VmSafe *VmSafeSession) ParseTomlUintArray(toml string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseTomlUintArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseTomlUintArray is a free data retrieval call binding the contract method 0xb5df27c8. -// -// Solidity: function parseTomlUintArray(string toml, string key) pure returns(uint256[]) -func (_VmSafe *VmSafeCallerSession) ParseTomlUintArray(toml string, key string) ([]*big.Int, error) { - return _VmSafe.Contract.ParseTomlUintArray(&_VmSafe.CallOpts, toml, key) -} - -// ParseUint is a free data retrieval call binding the contract method 0xfa91454d. -// -// Solidity: function parseUint(string stringifiedValue) pure returns(uint256 parsedValue) -func (_VmSafe *VmSafeCaller) ParseUint(opts *bind.CallOpts, stringifiedValue string) (*big.Int, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "parseUint", stringifiedValue) - - if err != nil { - return *new(*big.Int), err - } - - out0 := *abi.ConvertType(out[0], new(*big.Int)).(**big.Int) - - return out0, err - -} - -// ParseUint is a free data retrieval call binding the contract method 0xfa91454d. -// -// Solidity: function parseUint(string stringifiedValue) pure returns(uint256 parsedValue) -func (_VmSafe *VmSafeSession) ParseUint(stringifiedValue string) (*big.Int, error) { - return _VmSafe.Contract.ParseUint(&_VmSafe.CallOpts, stringifiedValue) -} - -// ParseUint is a free data retrieval call binding the contract method 0xfa91454d. -// -// Solidity: function parseUint(string stringifiedValue) pure returns(uint256 parsedValue) -func (_VmSafe *VmSafeCallerSession) ParseUint(stringifiedValue string) (*big.Int, error) { - return _VmSafe.Contract.ParseUint(&_VmSafe.CallOpts, stringifiedValue) -} - -// ProjectRoot is a free data retrieval call binding the contract method 0xd930a0e6. -// -// Solidity: function projectRoot() view returns(string path) -func (_VmSafe *VmSafeCaller) ProjectRoot(opts *bind.CallOpts) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "projectRoot") - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ProjectRoot is a free data retrieval call binding the contract method 0xd930a0e6. -// -// Solidity: function projectRoot() view returns(string path) -func (_VmSafe *VmSafeSession) ProjectRoot() (string, error) { - return _VmSafe.Contract.ProjectRoot(&_VmSafe.CallOpts) -} - -// ProjectRoot is a free data retrieval call binding the contract method 0xd930a0e6. -// -// Solidity: function projectRoot() view returns(string path) -func (_VmSafe *VmSafeCallerSession) ProjectRoot() (string, error) { - return _VmSafe.Contract.ProjectRoot(&_VmSafe.CallOpts) -} - -// ReadDir is a free data retrieval call binding the contract method 0x1497876c. -// -// Solidity: function readDir(string path, uint64 maxDepth) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeCaller) ReadDir(opts *bind.CallOpts, path string, maxDepth uint64) ([]VmSafeDirEntry, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "readDir", path, maxDepth) - - if err != nil { - return *new([]VmSafeDirEntry), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeDirEntry)).(*[]VmSafeDirEntry) - - return out0, err - -} - -// ReadDir is a free data retrieval call binding the contract method 0x1497876c. -// -// Solidity: function readDir(string path, uint64 maxDepth) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeSession) ReadDir(path string, maxDepth uint64) ([]VmSafeDirEntry, error) { - return _VmSafe.Contract.ReadDir(&_VmSafe.CallOpts, path, maxDepth) -} - -// ReadDir is a free data retrieval call binding the contract method 0x1497876c. -// -// Solidity: function readDir(string path, uint64 maxDepth) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeCallerSession) ReadDir(path string, maxDepth uint64) ([]VmSafeDirEntry, error) { - return _VmSafe.Contract.ReadDir(&_VmSafe.CallOpts, path, maxDepth) -} - -// ReadDir0 is a free data retrieval call binding the contract method 0x8102d70d. -// -// Solidity: function readDir(string path, uint64 maxDepth, bool followLinks) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeCaller) ReadDir0(opts *bind.CallOpts, path string, maxDepth uint64, followLinks bool) ([]VmSafeDirEntry, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "readDir0", path, maxDepth, followLinks) - - if err != nil { - return *new([]VmSafeDirEntry), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeDirEntry)).(*[]VmSafeDirEntry) - - return out0, err - -} - -// ReadDir0 is a free data retrieval call binding the contract method 0x8102d70d. -// -// Solidity: function readDir(string path, uint64 maxDepth, bool followLinks) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeSession) ReadDir0(path string, maxDepth uint64, followLinks bool) ([]VmSafeDirEntry, error) { - return _VmSafe.Contract.ReadDir0(&_VmSafe.CallOpts, path, maxDepth, followLinks) -} - -// ReadDir0 is a free data retrieval call binding the contract method 0x8102d70d. -// -// Solidity: function readDir(string path, uint64 maxDepth, bool followLinks) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeCallerSession) ReadDir0(path string, maxDepth uint64, followLinks bool) ([]VmSafeDirEntry, error) { - return _VmSafe.Contract.ReadDir0(&_VmSafe.CallOpts, path, maxDepth, followLinks) -} - -// ReadDir1 is a free data retrieval call binding the contract method 0xc4bc59e0. -// -// Solidity: function readDir(string path) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeCaller) ReadDir1(opts *bind.CallOpts, path string) ([]VmSafeDirEntry, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "readDir1", path) - - if err != nil { - return *new([]VmSafeDirEntry), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeDirEntry)).(*[]VmSafeDirEntry) - - return out0, err - -} - -// ReadDir1 is a free data retrieval call binding the contract method 0xc4bc59e0. -// -// Solidity: function readDir(string path) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeSession) ReadDir1(path string) ([]VmSafeDirEntry, error) { - return _VmSafe.Contract.ReadDir1(&_VmSafe.CallOpts, path) -} - -// ReadDir1 is a free data retrieval call binding the contract method 0xc4bc59e0. -// -// Solidity: function readDir(string path) view returns((string,string,uint64,bool,bool)[] entries) -func (_VmSafe *VmSafeCallerSession) ReadDir1(path string) ([]VmSafeDirEntry, error) { - return _VmSafe.Contract.ReadDir1(&_VmSafe.CallOpts, path) -} - -// ReadFile is a free data retrieval call binding the contract method 0x60f9bb11. -// -// Solidity: function readFile(string path) view returns(string data) -func (_VmSafe *VmSafeCaller) ReadFile(opts *bind.CallOpts, path string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "readFile", path) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ReadFile is a free data retrieval call binding the contract method 0x60f9bb11. -// -// Solidity: function readFile(string path) view returns(string data) -func (_VmSafe *VmSafeSession) ReadFile(path string) (string, error) { - return _VmSafe.Contract.ReadFile(&_VmSafe.CallOpts, path) -} - -// ReadFile is a free data retrieval call binding the contract method 0x60f9bb11. -// -// Solidity: function readFile(string path) view returns(string data) -func (_VmSafe *VmSafeCallerSession) ReadFile(path string) (string, error) { - return _VmSafe.Contract.ReadFile(&_VmSafe.CallOpts, path) -} - -// ReadFileBinary is a free data retrieval call binding the contract method 0x16ed7bc4. -// -// Solidity: function readFileBinary(string path) view returns(bytes data) -func (_VmSafe *VmSafeCaller) ReadFileBinary(opts *bind.CallOpts, path string) ([]byte, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "readFileBinary", path) - - if err != nil { - return *new([]byte), err - } - - out0 := *abi.ConvertType(out[0], new([]byte)).(*[]byte) - - return out0, err - -} - -// ReadFileBinary is a free data retrieval call binding the contract method 0x16ed7bc4. -// -// Solidity: function readFileBinary(string path) view returns(bytes data) -func (_VmSafe *VmSafeSession) ReadFileBinary(path string) ([]byte, error) { - return _VmSafe.Contract.ReadFileBinary(&_VmSafe.CallOpts, path) -} - -// ReadFileBinary is a free data retrieval call binding the contract method 0x16ed7bc4. -// -// Solidity: function readFileBinary(string path) view returns(bytes data) -func (_VmSafe *VmSafeCallerSession) ReadFileBinary(path string) ([]byte, error) { - return _VmSafe.Contract.ReadFileBinary(&_VmSafe.CallOpts, path) -} - -// ReadLine is a free data retrieval call binding the contract method 0x70f55728. -// -// Solidity: function readLine(string path) view returns(string line) -func (_VmSafe *VmSafeCaller) ReadLine(opts *bind.CallOpts, path string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "readLine", path) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ReadLine is a free data retrieval call binding the contract method 0x70f55728. -// -// Solidity: function readLine(string path) view returns(string line) -func (_VmSafe *VmSafeSession) ReadLine(path string) (string, error) { - return _VmSafe.Contract.ReadLine(&_VmSafe.CallOpts, path) -} - -// ReadLine is a free data retrieval call binding the contract method 0x70f55728. -// -// Solidity: function readLine(string path) view returns(string line) -func (_VmSafe *VmSafeCallerSession) ReadLine(path string) (string, error) { - return _VmSafe.Contract.ReadLine(&_VmSafe.CallOpts, path) -} - -// ReadLink is a free data retrieval call binding the contract method 0x9f5684a2. -// -// Solidity: function readLink(string linkPath) view returns(string targetPath) -func (_VmSafe *VmSafeCaller) ReadLink(opts *bind.CallOpts, linkPath string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "readLink", linkPath) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ReadLink is a free data retrieval call binding the contract method 0x9f5684a2. -// -// Solidity: function readLink(string linkPath) view returns(string targetPath) -func (_VmSafe *VmSafeSession) ReadLink(linkPath string) (string, error) { - return _VmSafe.Contract.ReadLink(&_VmSafe.CallOpts, linkPath) -} - -// ReadLink is a free data retrieval call binding the contract method 0x9f5684a2. -// -// Solidity: function readLink(string linkPath) view returns(string targetPath) -func (_VmSafe *VmSafeCallerSession) ReadLink(linkPath string) (string, error) { - return _VmSafe.Contract.ReadLink(&_VmSafe.CallOpts, linkPath) -} - -// Replace is a free data retrieval call binding the contract method 0xe00ad03e. -// -// Solidity: function replace(string input, string from, string to) pure returns(string output) -func (_VmSafe *VmSafeCaller) Replace(opts *bind.CallOpts, input string, from string, to string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "replace", input, from, to) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Replace is a free data retrieval call binding the contract method 0xe00ad03e. -// -// Solidity: function replace(string input, string from, string to) pure returns(string output) -func (_VmSafe *VmSafeSession) Replace(input string, from string, to string) (string, error) { - return _VmSafe.Contract.Replace(&_VmSafe.CallOpts, input, from, to) -} - -// Replace is a free data retrieval call binding the contract method 0xe00ad03e. -// -// Solidity: function replace(string input, string from, string to) pure returns(string output) -func (_VmSafe *VmSafeCallerSession) Replace(input string, from string, to string) (string, error) { - return _VmSafe.Contract.Replace(&_VmSafe.CallOpts, input, from, to) -} - -// RpcUrl is a free data retrieval call binding the contract method 0x975a6ce9. -// -// Solidity: function rpcUrl(string rpcAlias) view returns(string json) -func (_VmSafe *VmSafeCaller) RpcUrl(opts *bind.CallOpts, rpcAlias string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "rpcUrl", rpcAlias) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// RpcUrl is a free data retrieval call binding the contract method 0x975a6ce9. -// -// Solidity: function rpcUrl(string rpcAlias) view returns(string json) -func (_VmSafe *VmSafeSession) RpcUrl(rpcAlias string) (string, error) { - return _VmSafe.Contract.RpcUrl(&_VmSafe.CallOpts, rpcAlias) -} - -// RpcUrl is a free data retrieval call binding the contract method 0x975a6ce9. -// -// Solidity: function rpcUrl(string rpcAlias) view returns(string json) -func (_VmSafe *VmSafeCallerSession) RpcUrl(rpcAlias string) (string, error) { - return _VmSafe.Contract.RpcUrl(&_VmSafe.CallOpts, rpcAlias) -} - -// RpcUrlStructs is a free data retrieval call binding the contract method 0x9d2ad72a. -// -// Solidity: function rpcUrlStructs() view returns((string,string)[] urls) -func (_VmSafe *VmSafeCaller) RpcUrlStructs(opts *bind.CallOpts) ([]VmSafeRpc, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "rpcUrlStructs") - - if err != nil { - return *new([]VmSafeRpc), err - } - - out0 := *abi.ConvertType(out[0], new([]VmSafeRpc)).(*[]VmSafeRpc) - - return out0, err - -} - -// RpcUrlStructs is a free data retrieval call binding the contract method 0x9d2ad72a. -// -// Solidity: function rpcUrlStructs() view returns((string,string)[] urls) -func (_VmSafe *VmSafeSession) RpcUrlStructs() ([]VmSafeRpc, error) { - return _VmSafe.Contract.RpcUrlStructs(&_VmSafe.CallOpts) -} - -// RpcUrlStructs is a free data retrieval call binding the contract method 0x9d2ad72a. -// -// Solidity: function rpcUrlStructs() view returns((string,string)[] urls) -func (_VmSafe *VmSafeCallerSession) RpcUrlStructs() ([]VmSafeRpc, error) { - return _VmSafe.Contract.RpcUrlStructs(&_VmSafe.CallOpts) -} - -// RpcUrls is a free data retrieval call binding the contract method 0xa85a8418. -// -// Solidity: function rpcUrls() view returns(string[2][] urls) -func (_VmSafe *VmSafeCaller) RpcUrls(opts *bind.CallOpts) ([][2]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "rpcUrls") - - if err != nil { - return *new([][2]string), err - } - - out0 := *abi.ConvertType(out[0], new([][2]string)).(*[][2]string) - - return out0, err - -} - -// RpcUrls is a free data retrieval call binding the contract method 0xa85a8418. -// -// Solidity: function rpcUrls() view returns(string[2][] urls) -func (_VmSafe *VmSafeSession) RpcUrls() ([][2]string, error) { - return _VmSafe.Contract.RpcUrls(&_VmSafe.CallOpts) -} - -// RpcUrls is a free data retrieval call binding the contract method 0xa85a8418. -// -// Solidity: function rpcUrls() view returns(string[2][] urls) -func (_VmSafe *VmSafeCallerSession) RpcUrls() ([][2]string, error) { - return _VmSafe.Contract.RpcUrls(&_VmSafe.CallOpts) -} - -// Sign is a free data retrieval call binding the contract method 0x799cd333. -// -// Solidity: function sign(bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCaller) Sign(opts *bind.CallOpts, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "sign", digest) - - outstruct := new(struct { - V uint8 - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// Sign is a free data retrieval call binding the contract method 0x799cd333. -// -// Solidity: function sign(bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeSession) Sign(digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.Sign(&_VmSafe.CallOpts, digest) -} - -// Sign is a free data retrieval call binding the contract method 0x799cd333. -// -// Solidity: function sign(bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCallerSession) Sign(digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.Sign(&_VmSafe.CallOpts, digest) -} - -// Sign0 is a free data retrieval call binding the contract method 0x8c1aa205. -// -// Solidity: function sign(address signer, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCaller) Sign0(opts *bind.CallOpts, signer common.Address, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "sign0", signer, digest) - - outstruct := new(struct { - V uint8 - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// Sign0 is a free data retrieval call binding the contract method 0x8c1aa205. -// -// Solidity: function sign(address signer, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeSession) Sign0(signer common.Address, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.Sign0(&_VmSafe.CallOpts, signer, digest) -} - -// Sign0 is a free data retrieval call binding the contract method 0x8c1aa205. -// -// Solidity: function sign(address signer, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCallerSession) Sign0(signer common.Address, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.Sign0(&_VmSafe.CallOpts, signer, digest) -} - -// Sign2 is a free data retrieval call binding the contract method 0xe341eaa4. -// -// Solidity: function sign(uint256 privateKey, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCaller) Sign2(opts *bind.CallOpts, privateKey *big.Int, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "sign2", privateKey, digest) - - outstruct := new(struct { - V uint8 - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.V = *abi.ConvertType(out[0], new(uint8)).(*uint8) - outstruct.R = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[2], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// Sign2 is a free data retrieval call binding the contract method 0xe341eaa4. -// -// Solidity: function sign(uint256 privateKey, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeSession) Sign2(privateKey *big.Int, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.Sign2(&_VmSafe.CallOpts, privateKey, digest) -} - -// Sign2 is a free data retrieval call binding the contract method 0xe341eaa4. -// -// Solidity: function sign(uint256 privateKey, bytes32 digest) pure returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCallerSession) Sign2(privateKey *big.Int, digest [32]byte) (struct { - V uint8 - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.Sign2(&_VmSafe.CallOpts, privateKey, digest) -} - -// SignP256 is a free data retrieval call binding the contract method 0x83211b40. -// -// Solidity: function signP256(uint256 privateKey, bytes32 digest) pure returns(bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCaller) SignP256(opts *bind.CallOpts, privateKey *big.Int, digest [32]byte) (struct { - R [32]byte - S [32]byte -}, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "signP256", privateKey, digest) - - outstruct := new(struct { - R [32]byte - S [32]byte - }) - if err != nil { - return *outstruct, err - } - - outstruct.R = *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) - outstruct.S = *abi.ConvertType(out[1], new([32]byte)).(*[32]byte) - - return *outstruct, err - -} - -// SignP256 is a free data retrieval call binding the contract method 0x83211b40. -// -// Solidity: function signP256(uint256 privateKey, bytes32 digest) pure returns(bytes32 r, bytes32 s) -func (_VmSafe *VmSafeSession) SignP256(privateKey *big.Int, digest [32]byte) (struct { - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.SignP256(&_VmSafe.CallOpts, privateKey, digest) -} - -// SignP256 is a free data retrieval call binding the contract method 0x83211b40. -// -// Solidity: function signP256(uint256 privateKey, bytes32 digest) pure returns(bytes32 r, bytes32 s) -func (_VmSafe *VmSafeCallerSession) SignP256(privateKey *big.Int, digest [32]byte) (struct { - R [32]byte - S [32]byte -}, error) { - return _VmSafe.Contract.SignP256(&_VmSafe.CallOpts, privateKey, digest) -} - -// Split is a free data retrieval call binding the contract method 0x8bb75533. -// -// Solidity: function split(string input, string delimiter) pure returns(string[] outputs) -func (_VmSafe *VmSafeCaller) Split(opts *bind.CallOpts, input string, delimiter string) ([]string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "split", input, delimiter) - - if err != nil { - return *new([]string), err - } - - out0 := *abi.ConvertType(out[0], new([]string)).(*[]string) - - return out0, err - -} - -// Split is a free data retrieval call binding the contract method 0x8bb75533. -// -// Solidity: function split(string input, string delimiter) pure returns(string[] outputs) -func (_VmSafe *VmSafeSession) Split(input string, delimiter string) ([]string, error) { - return _VmSafe.Contract.Split(&_VmSafe.CallOpts, input, delimiter) -} - -// Split is a free data retrieval call binding the contract method 0x8bb75533. -// -// Solidity: function split(string input, string delimiter) pure returns(string[] outputs) -func (_VmSafe *VmSafeCallerSession) Split(input string, delimiter string) ([]string, error) { - return _VmSafe.Contract.Split(&_VmSafe.CallOpts, input, delimiter) -} - -// ToBase64 is a free data retrieval call binding the contract method 0x3f8be2c8. -// -// Solidity: function toBase64(string data) pure returns(string) -func (_VmSafe *VmSafeCaller) ToBase64(opts *bind.CallOpts, data string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toBase64", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase64 is a free data retrieval call binding the contract method 0x3f8be2c8. -// -// Solidity: function toBase64(string data) pure returns(string) -func (_VmSafe *VmSafeSession) ToBase64(data string) (string, error) { - return _VmSafe.Contract.ToBase64(&_VmSafe.CallOpts, data) -} - -// ToBase64 is a free data retrieval call binding the contract method 0x3f8be2c8. -// -// Solidity: function toBase64(string data) pure returns(string) -func (_VmSafe *VmSafeCallerSession) ToBase64(data string) (string, error) { - return _VmSafe.Contract.ToBase64(&_VmSafe.CallOpts, data) -} - -// ToBase640 is a free data retrieval call binding the contract method 0xa5cbfe65. -// -// Solidity: function toBase64(bytes data) pure returns(string) -func (_VmSafe *VmSafeCaller) ToBase640(opts *bind.CallOpts, data []byte) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toBase640", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase640 is a free data retrieval call binding the contract method 0xa5cbfe65. -// -// Solidity: function toBase64(bytes data) pure returns(string) -func (_VmSafe *VmSafeSession) ToBase640(data []byte) (string, error) { - return _VmSafe.Contract.ToBase640(&_VmSafe.CallOpts, data) -} - -// ToBase640 is a free data retrieval call binding the contract method 0xa5cbfe65. -// -// Solidity: function toBase64(bytes data) pure returns(string) -func (_VmSafe *VmSafeCallerSession) ToBase640(data []byte) (string, error) { - return _VmSafe.Contract.ToBase640(&_VmSafe.CallOpts, data) -} - -// ToBase64URL is a free data retrieval call binding the contract method 0xae3165b3. -// -// Solidity: function toBase64URL(string data) pure returns(string) -func (_VmSafe *VmSafeCaller) ToBase64URL(opts *bind.CallOpts, data string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toBase64URL", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase64URL is a free data retrieval call binding the contract method 0xae3165b3. -// -// Solidity: function toBase64URL(string data) pure returns(string) -func (_VmSafe *VmSafeSession) ToBase64URL(data string) (string, error) { - return _VmSafe.Contract.ToBase64URL(&_VmSafe.CallOpts, data) -} - -// ToBase64URL is a free data retrieval call binding the contract method 0xae3165b3. -// -// Solidity: function toBase64URL(string data) pure returns(string) -func (_VmSafe *VmSafeCallerSession) ToBase64URL(data string) (string, error) { - return _VmSafe.Contract.ToBase64URL(&_VmSafe.CallOpts, data) -} - -// ToBase64URL0 is a free data retrieval call binding the contract method 0xc8bd0e4a. -// -// Solidity: function toBase64URL(bytes data) pure returns(string) -func (_VmSafe *VmSafeCaller) ToBase64URL0(opts *bind.CallOpts, data []byte) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toBase64URL0", data) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToBase64URL0 is a free data retrieval call binding the contract method 0xc8bd0e4a. -// -// Solidity: function toBase64URL(bytes data) pure returns(string) -func (_VmSafe *VmSafeSession) ToBase64URL0(data []byte) (string, error) { - return _VmSafe.Contract.ToBase64URL0(&_VmSafe.CallOpts, data) -} - -// ToBase64URL0 is a free data retrieval call binding the contract method 0xc8bd0e4a. -// -// Solidity: function toBase64URL(bytes data) pure returns(string) -func (_VmSafe *VmSafeCallerSession) ToBase64URL0(data []byte) (string, error) { - return _VmSafe.Contract.ToBase64URL0(&_VmSafe.CallOpts, data) -} - -// ToLowercase is a free data retrieval call binding the contract method 0x50bb0884. -// -// Solidity: function toLowercase(string input) pure returns(string output) -func (_VmSafe *VmSafeCaller) ToLowercase(opts *bind.CallOpts, input string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toLowercase", input) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToLowercase is a free data retrieval call binding the contract method 0x50bb0884. -// -// Solidity: function toLowercase(string input) pure returns(string output) -func (_VmSafe *VmSafeSession) ToLowercase(input string) (string, error) { - return _VmSafe.Contract.ToLowercase(&_VmSafe.CallOpts, input) -} - -// ToLowercase is a free data retrieval call binding the contract method 0x50bb0884. -// -// Solidity: function toLowercase(string input) pure returns(string output) -func (_VmSafe *VmSafeCallerSession) ToLowercase(input string) (string, error) { - return _VmSafe.Contract.ToLowercase(&_VmSafe.CallOpts, input) -} - -// ToString is a free data retrieval call binding the contract method 0x56ca623e. -// -// Solidity: function toString(address value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCaller) ToString(opts *bind.CallOpts, value common.Address) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toString", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString is a free data retrieval call binding the contract method 0x56ca623e. -// -// Solidity: function toString(address value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeSession) ToString(value common.Address) (string, error) { - return _VmSafe.Contract.ToString(&_VmSafe.CallOpts, value) -} - -// ToString is a free data retrieval call binding the contract method 0x56ca623e. -// -// Solidity: function toString(address value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCallerSession) ToString(value common.Address) (string, error) { - return _VmSafe.Contract.ToString(&_VmSafe.CallOpts, value) -} - -// ToString0 is a free data retrieval call binding the contract method 0x6900a3ae. -// -// Solidity: function toString(uint256 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCaller) ToString0(opts *bind.CallOpts, value *big.Int) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toString0", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString0 is a free data retrieval call binding the contract method 0x6900a3ae. -// -// Solidity: function toString(uint256 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeSession) ToString0(value *big.Int) (string, error) { - return _VmSafe.Contract.ToString0(&_VmSafe.CallOpts, value) -} - -// ToString0 is a free data retrieval call binding the contract method 0x6900a3ae. -// -// Solidity: function toString(uint256 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCallerSession) ToString0(value *big.Int) (string, error) { - return _VmSafe.Contract.ToString0(&_VmSafe.CallOpts, value) -} - -// ToString1 is a free data retrieval call binding the contract method 0x71aad10d. -// -// Solidity: function toString(bytes value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCaller) ToString1(opts *bind.CallOpts, value []byte) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toString1", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString1 is a free data retrieval call binding the contract method 0x71aad10d. -// -// Solidity: function toString(bytes value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeSession) ToString1(value []byte) (string, error) { - return _VmSafe.Contract.ToString1(&_VmSafe.CallOpts, value) -} - -// ToString1 is a free data retrieval call binding the contract method 0x71aad10d. -// -// Solidity: function toString(bytes value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCallerSession) ToString1(value []byte) (string, error) { - return _VmSafe.Contract.ToString1(&_VmSafe.CallOpts, value) -} - -// ToString2 is a free data retrieval call binding the contract method 0x71dce7da. -// -// Solidity: function toString(bool value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCaller) ToString2(opts *bind.CallOpts, value bool) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toString2", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString2 is a free data retrieval call binding the contract method 0x71dce7da. -// -// Solidity: function toString(bool value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeSession) ToString2(value bool) (string, error) { - return _VmSafe.Contract.ToString2(&_VmSafe.CallOpts, value) -} - -// ToString2 is a free data retrieval call binding the contract method 0x71dce7da. -// -// Solidity: function toString(bool value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCallerSession) ToString2(value bool) (string, error) { - return _VmSafe.Contract.ToString2(&_VmSafe.CallOpts, value) -} - -// ToString3 is a free data retrieval call binding the contract method 0xa322c40e. -// -// Solidity: function toString(int256 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCaller) ToString3(opts *bind.CallOpts, value *big.Int) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toString3", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString3 is a free data retrieval call binding the contract method 0xa322c40e. -// -// Solidity: function toString(int256 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeSession) ToString3(value *big.Int) (string, error) { - return _VmSafe.Contract.ToString3(&_VmSafe.CallOpts, value) -} - -// ToString3 is a free data retrieval call binding the contract method 0xa322c40e. -// -// Solidity: function toString(int256 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCallerSession) ToString3(value *big.Int) (string, error) { - return _VmSafe.Contract.ToString3(&_VmSafe.CallOpts, value) -} - -// ToString4 is a free data retrieval call binding the contract method 0xb11a19e8. -// -// Solidity: function toString(bytes32 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCaller) ToString4(opts *bind.CallOpts, value [32]byte) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toString4", value) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToString4 is a free data retrieval call binding the contract method 0xb11a19e8. -// -// Solidity: function toString(bytes32 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeSession) ToString4(value [32]byte) (string, error) { - return _VmSafe.Contract.ToString4(&_VmSafe.CallOpts, value) -} - -// ToString4 is a free data retrieval call binding the contract method 0xb11a19e8. -// -// Solidity: function toString(bytes32 value) pure returns(string stringifiedValue) -func (_VmSafe *VmSafeCallerSession) ToString4(value [32]byte) (string, error) { - return _VmSafe.Contract.ToString4(&_VmSafe.CallOpts, value) -} - -// ToUppercase is a free data retrieval call binding the contract method 0x074ae3d7. -// -// Solidity: function toUppercase(string input) pure returns(string output) -func (_VmSafe *VmSafeCaller) ToUppercase(opts *bind.CallOpts, input string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "toUppercase", input) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// ToUppercase is a free data retrieval call binding the contract method 0x074ae3d7. -// -// Solidity: function toUppercase(string input) pure returns(string output) -func (_VmSafe *VmSafeSession) ToUppercase(input string) (string, error) { - return _VmSafe.Contract.ToUppercase(&_VmSafe.CallOpts, input) -} - -// ToUppercase is a free data retrieval call binding the contract method 0x074ae3d7. -// -// Solidity: function toUppercase(string input) pure returns(string output) -func (_VmSafe *VmSafeCallerSession) ToUppercase(input string) (string, error) { - return _VmSafe.Contract.ToUppercase(&_VmSafe.CallOpts, input) -} - -// Trim is a free data retrieval call binding the contract method 0xb2dad155. -// -// Solidity: function trim(string input) pure returns(string output) -func (_VmSafe *VmSafeCaller) Trim(opts *bind.CallOpts, input string) (string, error) { - var out []interface{} - err := _VmSafe.contract.Call(opts, &out, "trim", input) - - if err != nil { - return *new(string), err - } - - out0 := *abi.ConvertType(out[0], new(string)).(*string) - - return out0, err - -} - -// Trim is a free data retrieval call binding the contract method 0xb2dad155. -// -// Solidity: function trim(string input) pure returns(string output) -func (_VmSafe *VmSafeSession) Trim(input string) (string, error) { - return _VmSafe.Contract.Trim(&_VmSafe.CallOpts, input) -} - -// Trim is a free data retrieval call binding the contract method 0xb2dad155. -// -// Solidity: function trim(string input) pure returns(string output) -func (_VmSafe *VmSafeCallerSession) Trim(input string) (string, error) { - return _VmSafe.Contract.Trim(&_VmSafe.CallOpts, input) -} - -// Accesses is a paid mutator transaction binding the contract method 0x65bc9481. -// -// Solidity: function accesses(address target) returns(bytes32[] readSlots, bytes32[] writeSlots) -func (_VmSafe *VmSafeTransactor) Accesses(opts *bind.TransactOpts, target common.Address) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "accesses", target) -} - -// Accesses is a paid mutator transaction binding the contract method 0x65bc9481. -// -// Solidity: function accesses(address target) returns(bytes32[] readSlots, bytes32[] writeSlots) -func (_VmSafe *VmSafeSession) Accesses(target common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.Accesses(&_VmSafe.TransactOpts, target) -} - -// Accesses is a paid mutator transaction binding the contract method 0x65bc9481. -// -// Solidity: function accesses(address target) returns(bytes32[] readSlots, bytes32[] writeSlots) -func (_VmSafe *VmSafeTransactorSession) Accesses(target common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.Accesses(&_VmSafe.TransactOpts, target) -} - -// Breakpoint is a paid mutator transaction binding the contract method 0xf0259e92. -// -// Solidity: function breakpoint(string char) returns() -func (_VmSafe *VmSafeTransactor) Breakpoint(opts *bind.TransactOpts, char string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "breakpoint", char) -} - -// Breakpoint is a paid mutator transaction binding the contract method 0xf0259e92. -// -// Solidity: function breakpoint(string char) returns() -func (_VmSafe *VmSafeSession) Breakpoint(char string) (*types.Transaction, error) { - return _VmSafe.Contract.Breakpoint(&_VmSafe.TransactOpts, char) -} - -// Breakpoint is a paid mutator transaction binding the contract method 0xf0259e92. -// -// Solidity: function breakpoint(string char) returns() -func (_VmSafe *VmSafeTransactorSession) Breakpoint(char string) (*types.Transaction, error) { - return _VmSafe.Contract.Breakpoint(&_VmSafe.TransactOpts, char) -} - -// Breakpoint0 is a paid mutator transaction binding the contract method 0xf7d39a8d. -// -// Solidity: function breakpoint(string char, bool value) returns() -func (_VmSafe *VmSafeTransactor) Breakpoint0(opts *bind.TransactOpts, char string, value bool) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "breakpoint0", char, value) -} - -// Breakpoint0 is a paid mutator transaction binding the contract method 0xf7d39a8d. -// -// Solidity: function breakpoint(string char, bool value) returns() -func (_VmSafe *VmSafeSession) Breakpoint0(char string, value bool) (*types.Transaction, error) { - return _VmSafe.Contract.Breakpoint0(&_VmSafe.TransactOpts, char, value) -} - -// Breakpoint0 is a paid mutator transaction binding the contract method 0xf7d39a8d. -// -// Solidity: function breakpoint(string char, bool value) returns() -func (_VmSafe *VmSafeTransactorSession) Breakpoint0(char string, value bool) (*types.Transaction, error) { - return _VmSafe.Contract.Breakpoint0(&_VmSafe.TransactOpts, char, value) -} - -// Broadcast is a paid mutator transaction binding the contract method 0xafc98040. -// -// Solidity: function broadcast() returns() -func (_VmSafe *VmSafeTransactor) Broadcast(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "broadcast") -} - -// Broadcast is a paid mutator transaction binding the contract method 0xafc98040. -// -// Solidity: function broadcast() returns() -func (_VmSafe *VmSafeSession) Broadcast() (*types.Transaction, error) { - return _VmSafe.Contract.Broadcast(&_VmSafe.TransactOpts) -} - -// Broadcast is a paid mutator transaction binding the contract method 0xafc98040. -// -// Solidity: function broadcast() returns() -func (_VmSafe *VmSafeTransactorSession) Broadcast() (*types.Transaction, error) { - return _VmSafe.Contract.Broadcast(&_VmSafe.TransactOpts) -} - -// Broadcast0 is a paid mutator transaction binding the contract method 0xe6962cdb. -// -// Solidity: function broadcast(address signer) returns() -func (_VmSafe *VmSafeTransactor) Broadcast0(opts *bind.TransactOpts, signer common.Address) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "broadcast0", signer) -} - -// Broadcast0 is a paid mutator transaction binding the contract method 0xe6962cdb. -// -// Solidity: function broadcast(address signer) returns() -func (_VmSafe *VmSafeSession) Broadcast0(signer common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.Broadcast0(&_VmSafe.TransactOpts, signer) -} - -// Broadcast0 is a paid mutator transaction binding the contract method 0xe6962cdb. -// -// Solidity: function broadcast(address signer) returns() -func (_VmSafe *VmSafeTransactorSession) Broadcast0(signer common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.Broadcast0(&_VmSafe.TransactOpts, signer) -} - -// Broadcast1 is a paid mutator transaction binding the contract method 0xf67a965b. -// -// Solidity: function broadcast(uint256 privateKey) returns() -func (_VmSafe *VmSafeTransactor) Broadcast1(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "broadcast1", privateKey) -} - -// Broadcast1 is a paid mutator transaction binding the contract method 0xf67a965b. -// -// Solidity: function broadcast(uint256 privateKey) returns() -func (_VmSafe *VmSafeSession) Broadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.Broadcast1(&_VmSafe.TransactOpts, privateKey) -} - -// Broadcast1 is a paid mutator transaction binding the contract method 0xf67a965b. -// -// Solidity: function broadcast(uint256 privateKey) returns() -func (_VmSafe *VmSafeTransactorSession) Broadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.Broadcast1(&_VmSafe.TransactOpts, privateKey) -} - -// CloseFile is a paid mutator transaction binding the contract method 0x48c3241f. -// -// Solidity: function closeFile(string path) returns() -func (_VmSafe *VmSafeTransactor) CloseFile(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "closeFile", path) -} - -// CloseFile is a paid mutator transaction binding the contract method 0x48c3241f. -// -// Solidity: function closeFile(string path) returns() -func (_VmSafe *VmSafeSession) CloseFile(path string) (*types.Transaction, error) { - return _VmSafe.Contract.CloseFile(&_VmSafe.TransactOpts, path) -} - -// CloseFile is a paid mutator transaction binding the contract method 0x48c3241f. -// -// Solidity: function closeFile(string path) returns() -func (_VmSafe *VmSafeTransactorSession) CloseFile(path string) (*types.Transaction, error) { - return _VmSafe.Contract.CloseFile(&_VmSafe.TransactOpts, path) -} - -// CopyFile is a paid mutator transaction binding the contract method 0xa54a87d8. -// -// Solidity: function copyFile(string from, string to) returns(uint64 copied) -func (_VmSafe *VmSafeTransactor) CopyFile(opts *bind.TransactOpts, from string, to string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "copyFile", from, to) -} - -// CopyFile is a paid mutator transaction binding the contract method 0xa54a87d8. -// -// Solidity: function copyFile(string from, string to) returns(uint64 copied) -func (_VmSafe *VmSafeSession) CopyFile(from string, to string) (*types.Transaction, error) { - return _VmSafe.Contract.CopyFile(&_VmSafe.TransactOpts, from, to) -} - -// CopyFile is a paid mutator transaction binding the contract method 0xa54a87d8. -// -// Solidity: function copyFile(string from, string to) returns(uint64 copied) -func (_VmSafe *VmSafeTransactorSession) CopyFile(from string, to string) (*types.Transaction, error) { - return _VmSafe.Contract.CopyFile(&_VmSafe.TransactOpts, from, to) -} - -// CreateDir is a paid mutator transaction binding the contract method 0x168b64d3. -// -// Solidity: function createDir(string path, bool recursive) returns() -func (_VmSafe *VmSafeTransactor) CreateDir(opts *bind.TransactOpts, path string, recursive bool) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "createDir", path, recursive) -} - -// CreateDir is a paid mutator transaction binding the contract method 0x168b64d3. -// -// Solidity: function createDir(string path, bool recursive) returns() -func (_VmSafe *VmSafeSession) CreateDir(path string, recursive bool) (*types.Transaction, error) { - return _VmSafe.Contract.CreateDir(&_VmSafe.TransactOpts, path, recursive) -} - -// CreateDir is a paid mutator transaction binding the contract method 0x168b64d3. -// -// Solidity: function createDir(string path, bool recursive) returns() -func (_VmSafe *VmSafeTransactorSession) CreateDir(path string, recursive bool) (*types.Transaction, error) { - return _VmSafe.Contract.CreateDir(&_VmSafe.TransactOpts, path, recursive) -} - -// CreateWallet is a paid mutator transaction binding the contract method 0x7404f1d2. -// -// Solidity: function createWallet(string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeTransactor) CreateWallet(opts *bind.TransactOpts, walletLabel string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "createWallet", walletLabel) -} - -// CreateWallet is a paid mutator transaction binding the contract method 0x7404f1d2. -// -// Solidity: function createWallet(string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeSession) CreateWallet(walletLabel string) (*types.Transaction, error) { - return _VmSafe.Contract.CreateWallet(&_VmSafe.TransactOpts, walletLabel) -} - -// CreateWallet is a paid mutator transaction binding the contract method 0x7404f1d2. -// -// Solidity: function createWallet(string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeTransactorSession) CreateWallet(walletLabel string) (*types.Transaction, error) { - return _VmSafe.Contract.CreateWallet(&_VmSafe.TransactOpts, walletLabel) -} - -// CreateWallet0 is a paid mutator transaction binding the contract method 0x7a675bb6. -// -// Solidity: function createWallet(uint256 privateKey) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeTransactor) CreateWallet0(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "createWallet0", privateKey) -} - -// CreateWallet0 is a paid mutator transaction binding the contract method 0x7a675bb6. -// -// Solidity: function createWallet(uint256 privateKey) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeSession) CreateWallet0(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.CreateWallet0(&_VmSafe.TransactOpts, privateKey) -} - -// CreateWallet0 is a paid mutator transaction binding the contract method 0x7a675bb6. -// -// Solidity: function createWallet(uint256 privateKey) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeTransactorSession) CreateWallet0(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.CreateWallet0(&_VmSafe.TransactOpts, privateKey) -} - -// CreateWallet1 is a paid mutator transaction binding the contract method 0xed7c5462. -// -// Solidity: function createWallet(uint256 privateKey, string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeTransactor) CreateWallet1(opts *bind.TransactOpts, privateKey *big.Int, walletLabel string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "createWallet1", privateKey, walletLabel) -} - -// CreateWallet1 is a paid mutator transaction binding the contract method 0xed7c5462. -// -// Solidity: function createWallet(uint256 privateKey, string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeSession) CreateWallet1(privateKey *big.Int, walletLabel string) (*types.Transaction, error) { - return _VmSafe.Contract.CreateWallet1(&_VmSafe.TransactOpts, privateKey, walletLabel) -} - -// CreateWallet1 is a paid mutator transaction binding the contract method 0xed7c5462. -// -// Solidity: function createWallet(uint256 privateKey, string walletLabel) returns((address,uint256,uint256,uint256) wallet) -func (_VmSafe *VmSafeTransactorSession) CreateWallet1(privateKey *big.Int, walletLabel string) (*types.Transaction, error) { - return _VmSafe.Contract.CreateWallet1(&_VmSafe.TransactOpts, privateKey, walletLabel) -} - -// EthGetLogs is a paid mutator transaction binding the contract method 0x35e1349b. -// -// Solidity: function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] topics) returns((address,bytes32[],bytes,bytes32,uint64,bytes32,uint64,uint256,bool)[] logs) -func (_VmSafe *VmSafeTransactor) EthGetLogs(opts *bind.TransactOpts, fromBlock *big.Int, toBlock *big.Int, target common.Address, topics [][32]byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "eth_getLogs", fromBlock, toBlock, target, topics) -} - -// EthGetLogs is a paid mutator transaction binding the contract method 0x35e1349b. -// -// Solidity: function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] topics) returns((address,bytes32[],bytes,bytes32,uint64,bytes32,uint64,uint256,bool)[] logs) -func (_VmSafe *VmSafeSession) EthGetLogs(fromBlock *big.Int, toBlock *big.Int, target common.Address, topics [][32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.EthGetLogs(&_VmSafe.TransactOpts, fromBlock, toBlock, target, topics) -} - -// EthGetLogs is a paid mutator transaction binding the contract method 0x35e1349b. -// -// Solidity: function eth_getLogs(uint256 fromBlock, uint256 toBlock, address target, bytes32[] topics) returns((address,bytes32[],bytes,bytes32,uint64,bytes32,uint64,uint256,bool)[] logs) -func (_VmSafe *VmSafeTransactorSession) EthGetLogs(fromBlock *big.Int, toBlock *big.Int, target common.Address, topics [][32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.EthGetLogs(&_VmSafe.TransactOpts, fromBlock, toBlock, target, topics) -} - -// Exists is a paid mutator transaction binding the contract method 0x261a323e. -// -// Solidity: function exists(string path) returns(bool result) -func (_VmSafe *VmSafeTransactor) Exists(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "exists", path) -} - -// Exists is a paid mutator transaction binding the contract method 0x261a323e. -// -// Solidity: function exists(string path) returns(bool result) -func (_VmSafe *VmSafeSession) Exists(path string) (*types.Transaction, error) { - return _VmSafe.Contract.Exists(&_VmSafe.TransactOpts, path) -} - -// Exists is a paid mutator transaction binding the contract method 0x261a323e. -// -// Solidity: function exists(string path) returns(bool result) -func (_VmSafe *VmSafeTransactorSession) Exists(path string) (*types.Transaction, error) { - return _VmSafe.Contract.Exists(&_VmSafe.TransactOpts, path) -} - -// Ffi is a paid mutator transaction binding the contract method 0x89160467. -// -// Solidity: function ffi(string[] commandInput) returns(bytes result) -func (_VmSafe *VmSafeTransactor) Ffi(opts *bind.TransactOpts, commandInput []string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "ffi", commandInput) -} - -// Ffi is a paid mutator transaction binding the contract method 0x89160467. -// -// Solidity: function ffi(string[] commandInput) returns(bytes result) -func (_VmSafe *VmSafeSession) Ffi(commandInput []string) (*types.Transaction, error) { - return _VmSafe.Contract.Ffi(&_VmSafe.TransactOpts, commandInput) -} - -// Ffi is a paid mutator transaction binding the contract method 0x89160467. -// -// Solidity: function ffi(string[] commandInput) returns(bytes result) -func (_VmSafe *VmSafeTransactorSession) Ffi(commandInput []string) (*types.Transaction, error) { - return _VmSafe.Contract.Ffi(&_VmSafe.TransactOpts, commandInput) -} - -// GetMappingKeyAndParentOf is a paid mutator transaction binding the contract method 0x876e24e6. -// -// Solidity: function getMappingKeyAndParentOf(address target, bytes32 elementSlot) returns(bool found, bytes32 key, bytes32 parent) -func (_VmSafe *VmSafeTransactor) GetMappingKeyAndParentOf(opts *bind.TransactOpts, target common.Address, elementSlot [32]byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "getMappingKeyAndParentOf", target, elementSlot) -} - -// GetMappingKeyAndParentOf is a paid mutator transaction binding the contract method 0x876e24e6. -// -// Solidity: function getMappingKeyAndParentOf(address target, bytes32 elementSlot) returns(bool found, bytes32 key, bytes32 parent) -func (_VmSafe *VmSafeSession) GetMappingKeyAndParentOf(target common.Address, elementSlot [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.GetMappingKeyAndParentOf(&_VmSafe.TransactOpts, target, elementSlot) -} - -// GetMappingKeyAndParentOf is a paid mutator transaction binding the contract method 0x876e24e6. -// -// Solidity: function getMappingKeyAndParentOf(address target, bytes32 elementSlot) returns(bool found, bytes32 key, bytes32 parent) -func (_VmSafe *VmSafeTransactorSession) GetMappingKeyAndParentOf(target common.Address, elementSlot [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.GetMappingKeyAndParentOf(&_VmSafe.TransactOpts, target, elementSlot) -} - -// GetMappingLength is a paid mutator transaction binding the contract method 0x2f2fd63f. -// -// Solidity: function getMappingLength(address target, bytes32 mappingSlot) returns(uint256 length) -func (_VmSafe *VmSafeTransactor) GetMappingLength(opts *bind.TransactOpts, target common.Address, mappingSlot [32]byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "getMappingLength", target, mappingSlot) -} - -// GetMappingLength is a paid mutator transaction binding the contract method 0x2f2fd63f. -// -// Solidity: function getMappingLength(address target, bytes32 mappingSlot) returns(uint256 length) -func (_VmSafe *VmSafeSession) GetMappingLength(target common.Address, mappingSlot [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.GetMappingLength(&_VmSafe.TransactOpts, target, mappingSlot) -} - -// GetMappingLength is a paid mutator transaction binding the contract method 0x2f2fd63f. -// -// Solidity: function getMappingLength(address target, bytes32 mappingSlot) returns(uint256 length) -func (_VmSafe *VmSafeTransactorSession) GetMappingLength(target common.Address, mappingSlot [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.GetMappingLength(&_VmSafe.TransactOpts, target, mappingSlot) -} - -// GetMappingSlotAt is a paid mutator transaction binding the contract method 0xebc73ab4. -// -// Solidity: function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) returns(bytes32 value) -func (_VmSafe *VmSafeTransactor) GetMappingSlotAt(opts *bind.TransactOpts, target common.Address, mappingSlot [32]byte, idx *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "getMappingSlotAt", target, mappingSlot, idx) -} - -// GetMappingSlotAt is a paid mutator transaction binding the contract method 0xebc73ab4. -// -// Solidity: function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) returns(bytes32 value) -func (_VmSafe *VmSafeSession) GetMappingSlotAt(target common.Address, mappingSlot [32]byte, idx *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.GetMappingSlotAt(&_VmSafe.TransactOpts, target, mappingSlot, idx) -} - -// GetMappingSlotAt is a paid mutator transaction binding the contract method 0xebc73ab4. -// -// Solidity: function getMappingSlotAt(address target, bytes32 mappingSlot, uint256 idx) returns(bytes32 value) -func (_VmSafe *VmSafeTransactorSession) GetMappingSlotAt(target common.Address, mappingSlot [32]byte, idx *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.GetMappingSlotAt(&_VmSafe.TransactOpts, target, mappingSlot, idx) -} - -// GetNonce0 is a paid mutator transaction binding the contract method 0xa5748aad. -// -// Solidity: function getNonce((address,uint256,uint256,uint256) wallet) returns(uint64 nonce) -func (_VmSafe *VmSafeTransactor) GetNonce0(opts *bind.TransactOpts, wallet VmSafeWallet) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "getNonce0", wallet) -} - -// GetNonce0 is a paid mutator transaction binding the contract method 0xa5748aad. -// -// Solidity: function getNonce((address,uint256,uint256,uint256) wallet) returns(uint64 nonce) -func (_VmSafe *VmSafeSession) GetNonce0(wallet VmSafeWallet) (*types.Transaction, error) { - return _VmSafe.Contract.GetNonce0(&_VmSafe.TransactOpts, wallet) -} - -// GetNonce0 is a paid mutator transaction binding the contract method 0xa5748aad. -// -// Solidity: function getNonce((address,uint256,uint256,uint256) wallet) returns(uint64 nonce) -func (_VmSafe *VmSafeTransactorSession) GetNonce0(wallet VmSafeWallet) (*types.Transaction, error) { - return _VmSafe.Contract.GetNonce0(&_VmSafe.TransactOpts, wallet) -} - -// GetRecordedLogs is a paid mutator transaction binding the contract method 0x191553a4. -// -// Solidity: function getRecordedLogs() returns((bytes32[],bytes,address)[] logs) -func (_VmSafe *VmSafeTransactor) GetRecordedLogs(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "getRecordedLogs") -} - -// GetRecordedLogs is a paid mutator transaction binding the contract method 0x191553a4. -// -// Solidity: function getRecordedLogs() returns((bytes32[],bytes,address)[] logs) -func (_VmSafe *VmSafeSession) GetRecordedLogs() (*types.Transaction, error) { - return _VmSafe.Contract.GetRecordedLogs(&_VmSafe.TransactOpts) -} - -// GetRecordedLogs is a paid mutator transaction binding the contract method 0x191553a4. -// -// Solidity: function getRecordedLogs() returns((bytes32[],bytes,address)[] logs) -func (_VmSafe *VmSafeTransactorSession) GetRecordedLogs() (*types.Transaction, error) { - return _VmSafe.Contract.GetRecordedLogs(&_VmSafe.TransactOpts) -} - -// IsDir is a paid mutator transaction binding the contract method 0x7d15d019. -// -// Solidity: function isDir(string path) returns(bool result) -func (_VmSafe *VmSafeTransactor) IsDir(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "isDir", path) -} - -// IsDir is a paid mutator transaction binding the contract method 0x7d15d019. -// -// Solidity: function isDir(string path) returns(bool result) -func (_VmSafe *VmSafeSession) IsDir(path string) (*types.Transaction, error) { - return _VmSafe.Contract.IsDir(&_VmSafe.TransactOpts, path) -} - -// IsDir is a paid mutator transaction binding the contract method 0x7d15d019. -// -// Solidity: function isDir(string path) returns(bool result) -func (_VmSafe *VmSafeTransactorSession) IsDir(path string) (*types.Transaction, error) { - return _VmSafe.Contract.IsDir(&_VmSafe.TransactOpts, path) -} - -// IsFile is a paid mutator transaction binding the contract method 0xe0eb04d4. -// -// Solidity: function isFile(string path) returns(bool result) -func (_VmSafe *VmSafeTransactor) IsFile(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "isFile", path) -} - -// IsFile is a paid mutator transaction binding the contract method 0xe0eb04d4. -// -// Solidity: function isFile(string path) returns(bool result) -func (_VmSafe *VmSafeSession) IsFile(path string) (*types.Transaction, error) { - return _VmSafe.Contract.IsFile(&_VmSafe.TransactOpts, path) -} - -// IsFile is a paid mutator transaction binding the contract method 0xe0eb04d4. -// -// Solidity: function isFile(string path) returns(bool result) -func (_VmSafe *VmSafeTransactorSession) IsFile(path string) (*types.Transaction, error) { - return _VmSafe.Contract.IsFile(&_VmSafe.TransactOpts, path) -} - -// Label is a paid mutator transaction binding the contract method 0xc657c718. -// -// Solidity: function label(address account, string newLabel) returns() -func (_VmSafe *VmSafeTransactor) Label(opts *bind.TransactOpts, account common.Address, newLabel string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "label", account, newLabel) -} - -// Label is a paid mutator transaction binding the contract method 0xc657c718. -// -// Solidity: function label(address account, string newLabel) returns() -func (_VmSafe *VmSafeSession) Label(account common.Address, newLabel string) (*types.Transaction, error) { - return _VmSafe.Contract.Label(&_VmSafe.TransactOpts, account, newLabel) -} - -// Label is a paid mutator transaction binding the contract method 0xc657c718. -// -// Solidity: function label(address account, string newLabel) returns() -func (_VmSafe *VmSafeTransactorSession) Label(account common.Address, newLabel string) (*types.Transaction, error) { - return _VmSafe.Contract.Label(&_VmSafe.TransactOpts, account, newLabel) -} - -// PauseGasMetering is a paid mutator transaction binding the contract method 0xd1a5b36f. -// -// Solidity: function pauseGasMetering() returns() -func (_VmSafe *VmSafeTransactor) PauseGasMetering(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "pauseGasMetering") -} - -// PauseGasMetering is a paid mutator transaction binding the contract method 0xd1a5b36f. -// -// Solidity: function pauseGasMetering() returns() -func (_VmSafe *VmSafeSession) PauseGasMetering() (*types.Transaction, error) { - return _VmSafe.Contract.PauseGasMetering(&_VmSafe.TransactOpts) -} - -// PauseGasMetering is a paid mutator transaction binding the contract method 0xd1a5b36f. -// -// Solidity: function pauseGasMetering() returns() -func (_VmSafe *VmSafeTransactorSession) PauseGasMetering() (*types.Transaction, error) { - return _VmSafe.Contract.PauseGasMetering(&_VmSafe.TransactOpts) -} - -// Prompt is a paid mutator transaction binding the contract method 0x47eaf474. -// -// Solidity: function prompt(string promptText) returns(string input) -func (_VmSafe *VmSafeTransactor) Prompt(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "prompt", promptText) -} - -// Prompt is a paid mutator transaction binding the contract method 0x47eaf474. -// -// Solidity: function prompt(string promptText) returns(string input) -func (_VmSafe *VmSafeSession) Prompt(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.Prompt(&_VmSafe.TransactOpts, promptText) -} - -// Prompt is a paid mutator transaction binding the contract method 0x47eaf474. -// -// Solidity: function prompt(string promptText) returns(string input) -func (_VmSafe *VmSafeTransactorSession) Prompt(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.Prompt(&_VmSafe.TransactOpts, promptText) -} - -// PromptAddress is a paid mutator transaction binding the contract method 0x62ee05f4. -// -// Solidity: function promptAddress(string promptText) returns(address) -func (_VmSafe *VmSafeTransactor) PromptAddress(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "promptAddress", promptText) -} - -// PromptAddress is a paid mutator transaction binding the contract method 0x62ee05f4. -// -// Solidity: function promptAddress(string promptText) returns(address) -func (_VmSafe *VmSafeSession) PromptAddress(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptAddress(&_VmSafe.TransactOpts, promptText) -} - -// PromptAddress is a paid mutator transaction binding the contract method 0x62ee05f4. -// -// Solidity: function promptAddress(string promptText) returns(address) -func (_VmSafe *VmSafeTransactorSession) PromptAddress(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptAddress(&_VmSafe.TransactOpts, promptText) -} - -// PromptSecret is a paid mutator transaction binding the contract method 0x1e279d41. -// -// Solidity: function promptSecret(string promptText) returns(string input) -func (_VmSafe *VmSafeTransactor) PromptSecret(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "promptSecret", promptText) -} - -// PromptSecret is a paid mutator transaction binding the contract method 0x1e279d41. -// -// Solidity: function promptSecret(string promptText) returns(string input) -func (_VmSafe *VmSafeSession) PromptSecret(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptSecret(&_VmSafe.TransactOpts, promptText) -} - -// PromptSecret is a paid mutator transaction binding the contract method 0x1e279d41. -// -// Solidity: function promptSecret(string promptText) returns(string input) -func (_VmSafe *VmSafeTransactorSession) PromptSecret(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptSecret(&_VmSafe.TransactOpts, promptText) -} - -// PromptSecretUint is a paid mutator transaction binding the contract method 0x69ca02b7. -// -// Solidity: function promptSecretUint(string promptText) returns(uint256) -func (_VmSafe *VmSafeTransactor) PromptSecretUint(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "promptSecretUint", promptText) -} - -// PromptSecretUint is a paid mutator transaction binding the contract method 0x69ca02b7. -// -// Solidity: function promptSecretUint(string promptText) returns(uint256) -func (_VmSafe *VmSafeSession) PromptSecretUint(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptSecretUint(&_VmSafe.TransactOpts, promptText) -} - -// PromptSecretUint is a paid mutator transaction binding the contract method 0x69ca02b7. -// -// Solidity: function promptSecretUint(string promptText) returns(uint256) -func (_VmSafe *VmSafeTransactorSession) PromptSecretUint(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptSecretUint(&_VmSafe.TransactOpts, promptText) -} - -// PromptUint is a paid mutator transaction binding the contract method 0x652fd489. -// -// Solidity: function promptUint(string promptText) returns(uint256) -func (_VmSafe *VmSafeTransactor) PromptUint(opts *bind.TransactOpts, promptText string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "promptUint", promptText) -} - -// PromptUint is a paid mutator transaction binding the contract method 0x652fd489. -// -// Solidity: function promptUint(string promptText) returns(uint256) -func (_VmSafe *VmSafeSession) PromptUint(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptUint(&_VmSafe.TransactOpts, promptText) -} - -// PromptUint is a paid mutator transaction binding the contract method 0x652fd489. -// -// Solidity: function promptUint(string promptText) returns(uint256) -func (_VmSafe *VmSafeTransactorSession) PromptUint(promptText string) (*types.Transaction, error) { - return _VmSafe.Contract.PromptUint(&_VmSafe.TransactOpts, promptText) -} - -// RandomAddress is a paid mutator transaction binding the contract method 0xd5bee9f5. -// -// Solidity: function randomAddress() returns(address) -func (_VmSafe *VmSafeTransactor) RandomAddress(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "randomAddress") -} - -// RandomAddress is a paid mutator transaction binding the contract method 0xd5bee9f5. -// -// Solidity: function randomAddress() returns(address) -func (_VmSafe *VmSafeSession) RandomAddress() (*types.Transaction, error) { - return _VmSafe.Contract.RandomAddress(&_VmSafe.TransactOpts) -} - -// RandomAddress is a paid mutator transaction binding the contract method 0xd5bee9f5. -// -// Solidity: function randomAddress() returns(address) -func (_VmSafe *VmSafeTransactorSession) RandomAddress() (*types.Transaction, error) { - return _VmSafe.Contract.RandomAddress(&_VmSafe.TransactOpts) -} - -// RandomUint is a paid mutator transaction binding the contract method 0x25124730. -// -// Solidity: function randomUint() returns(uint256) -func (_VmSafe *VmSafeTransactor) RandomUint(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "randomUint") -} - -// RandomUint is a paid mutator transaction binding the contract method 0x25124730. -// -// Solidity: function randomUint() returns(uint256) -func (_VmSafe *VmSafeSession) RandomUint() (*types.Transaction, error) { - return _VmSafe.Contract.RandomUint(&_VmSafe.TransactOpts) -} - -// RandomUint is a paid mutator transaction binding the contract method 0x25124730. -// -// Solidity: function randomUint() returns(uint256) -func (_VmSafe *VmSafeTransactorSession) RandomUint() (*types.Transaction, error) { - return _VmSafe.Contract.RandomUint(&_VmSafe.TransactOpts) -} - -// RandomUint0 is a paid mutator transaction binding the contract method 0xd61b051b. -// -// Solidity: function randomUint(uint256 min, uint256 max) returns(uint256) -func (_VmSafe *VmSafeTransactor) RandomUint0(opts *bind.TransactOpts, min *big.Int, max *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "randomUint0", min, max) -} - -// RandomUint0 is a paid mutator transaction binding the contract method 0xd61b051b. -// -// Solidity: function randomUint(uint256 min, uint256 max) returns(uint256) -func (_VmSafe *VmSafeSession) RandomUint0(min *big.Int, max *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.RandomUint0(&_VmSafe.TransactOpts, min, max) -} - -// RandomUint0 is a paid mutator transaction binding the contract method 0xd61b051b. -// -// Solidity: function randomUint(uint256 min, uint256 max) returns(uint256) -func (_VmSafe *VmSafeTransactorSession) RandomUint0(min *big.Int, max *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.RandomUint0(&_VmSafe.TransactOpts, min, max) -} - -// Record is a paid mutator transaction binding the contract method 0x266cf109. -// -// Solidity: function record() returns() -func (_VmSafe *VmSafeTransactor) Record(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "record") -} - -// Record is a paid mutator transaction binding the contract method 0x266cf109. -// -// Solidity: function record() returns() -func (_VmSafe *VmSafeSession) Record() (*types.Transaction, error) { - return _VmSafe.Contract.Record(&_VmSafe.TransactOpts) -} - -// Record is a paid mutator transaction binding the contract method 0x266cf109. -// -// Solidity: function record() returns() -func (_VmSafe *VmSafeTransactorSession) Record() (*types.Transaction, error) { - return _VmSafe.Contract.Record(&_VmSafe.TransactOpts) -} - -// RecordLogs is a paid mutator transaction binding the contract method 0x41af2f52. -// -// Solidity: function recordLogs() returns() -func (_VmSafe *VmSafeTransactor) RecordLogs(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "recordLogs") -} - -// RecordLogs is a paid mutator transaction binding the contract method 0x41af2f52. -// -// Solidity: function recordLogs() returns() -func (_VmSafe *VmSafeSession) RecordLogs() (*types.Transaction, error) { - return _VmSafe.Contract.RecordLogs(&_VmSafe.TransactOpts) -} - -// RecordLogs is a paid mutator transaction binding the contract method 0x41af2f52. -// -// Solidity: function recordLogs() returns() -func (_VmSafe *VmSafeTransactorSession) RecordLogs() (*types.Transaction, error) { - return _VmSafe.Contract.RecordLogs(&_VmSafe.TransactOpts) -} - -// RememberKey is a paid mutator transaction binding the contract method 0x22100064. -// -// Solidity: function rememberKey(uint256 privateKey) returns(address keyAddr) -func (_VmSafe *VmSafeTransactor) RememberKey(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "rememberKey", privateKey) -} - -// RememberKey is a paid mutator transaction binding the contract method 0x22100064. -// -// Solidity: function rememberKey(uint256 privateKey) returns(address keyAddr) -func (_VmSafe *VmSafeSession) RememberKey(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.RememberKey(&_VmSafe.TransactOpts, privateKey) -} - -// RememberKey is a paid mutator transaction binding the contract method 0x22100064. -// -// Solidity: function rememberKey(uint256 privateKey) returns(address keyAddr) -func (_VmSafe *VmSafeTransactorSession) RememberKey(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.RememberKey(&_VmSafe.TransactOpts, privateKey) -} - -// RemoveDir is a paid mutator transaction binding the contract method 0x45c62011. -// -// Solidity: function removeDir(string path, bool recursive) returns() -func (_VmSafe *VmSafeTransactor) RemoveDir(opts *bind.TransactOpts, path string, recursive bool) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "removeDir", path, recursive) -} - -// RemoveDir is a paid mutator transaction binding the contract method 0x45c62011. -// -// Solidity: function removeDir(string path, bool recursive) returns() -func (_VmSafe *VmSafeSession) RemoveDir(path string, recursive bool) (*types.Transaction, error) { - return _VmSafe.Contract.RemoveDir(&_VmSafe.TransactOpts, path, recursive) -} - -// RemoveDir is a paid mutator transaction binding the contract method 0x45c62011. -// -// Solidity: function removeDir(string path, bool recursive) returns() -func (_VmSafe *VmSafeTransactorSession) RemoveDir(path string, recursive bool) (*types.Transaction, error) { - return _VmSafe.Contract.RemoveDir(&_VmSafe.TransactOpts, path, recursive) -} - -// RemoveFile is a paid mutator transaction binding the contract method 0xf1afe04d. -// -// Solidity: function removeFile(string path) returns() -func (_VmSafe *VmSafeTransactor) RemoveFile(opts *bind.TransactOpts, path string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "removeFile", path) -} - -// RemoveFile is a paid mutator transaction binding the contract method 0xf1afe04d. -// -// Solidity: function removeFile(string path) returns() -func (_VmSafe *VmSafeSession) RemoveFile(path string) (*types.Transaction, error) { - return _VmSafe.Contract.RemoveFile(&_VmSafe.TransactOpts, path) -} - -// RemoveFile is a paid mutator transaction binding the contract method 0xf1afe04d. -// -// Solidity: function removeFile(string path) returns() -func (_VmSafe *VmSafeTransactorSession) RemoveFile(path string) (*types.Transaction, error) { - return _VmSafe.Contract.RemoveFile(&_VmSafe.TransactOpts, path) -} - -// ResumeGasMetering is a paid mutator transaction binding the contract method 0x2bcd50e0. -// -// Solidity: function resumeGasMetering() returns() -func (_VmSafe *VmSafeTransactor) ResumeGasMetering(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "resumeGasMetering") -} - -// ResumeGasMetering is a paid mutator transaction binding the contract method 0x2bcd50e0. -// -// Solidity: function resumeGasMetering() returns() -func (_VmSafe *VmSafeSession) ResumeGasMetering() (*types.Transaction, error) { - return _VmSafe.Contract.ResumeGasMetering(&_VmSafe.TransactOpts) -} - -// ResumeGasMetering is a paid mutator transaction binding the contract method 0x2bcd50e0. -// -// Solidity: function resumeGasMetering() returns() -func (_VmSafe *VmSafeTransactorSession) ResumeGasMetering() (*types.Transaction, error) { - return _VmSafe.Contract.ResumeGasMetering(&_VmSafe.TransactOpts) -} - -// Rpc is a paid mutator transaction binding the contract method 0x1206c8a8. -// -// Solidity: function rpc(string method, string params) returns(bytes data) -func (_VmSafe *VmSafeTransactor) Rpc(opts *bind.TransactOpts, method string, params string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "rpc", method, params) -} - -// Rpc is a paid mutator transaction binding the contract method 0x1206c8a8. -// -// Solidity: function rpc(string method, string params) returns(bytes data) -func (_VmSafe *VmSafeSession) Rpc(method string, params string) (*types.Transaction, error) { - return _VmSafe.Contract.Rpc(&_VmSafe.TransactOpts, method, params) -} - -// Rpc is a paid mutator transaction binding the contract method 0x1206c8a8. -// -// Solidity: function rpc(string method, string params) returns(bytes data) -func (_VmSafe *VmSafeTransactorSession) Rpc(method string, params string) (*types.Transaction, error) { - return _VmSafe.Contract.Rpc(&_VmSafe.TransactOpts, method, params) -} - -// SerializeAddress is a paid mutator transaction binding the contract method 0x1e356e1a. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address[] values) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeAddress(opts *bind.TransactOpts, objectKey string, valueKey string, values []common.Address) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeAddress", objectKey, valueKey, values) -} - -// SerializeAddress is a paid mutator transaction binding the contract method 0x1e356e1a. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address[] values) returns(string json) -func (_VmSafe *VmSafeSession) SerializeAddress(objectKey string, valueKey string, values []common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeAddress(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeAddress is a paid mutator transaction binding the contract method 0x1e356e1a. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address[] values) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeAddress(objectKey string, valueKey string, values []common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeAddress(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeAddress0 is a paid mutator transaction binding the contract method 0x972c6062. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeAddress0(opts *bind.TransactOpts, objectKey string, valueKey string, value common.Address) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeAddress0", objectKey, valueKey, value) -} - -// SerializeAddress0 is a paid mutator transaction binding the contract method 0x972c6062. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeAddress0(objectKey string, valueKey string, value common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeAddress0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeAddress0 is a paid mutator transaction binding the contract method 0x972c6062. -// -// Solidity: function serializeAddress(string objectKey, string valueKey, address value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeAddress0(objectKey string, valueKey string, value common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeAddress0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBool is a paid mutator transaction binding the contract method 0x92925aa1. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool[] values) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeBool(opts *bind.TransactOpts, objectKey string, valueKey string, values []bool) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeBool", objectKey, valueKey, values) -} - -// SerializeBool is a paid mutator transaction binding the contract method 0x92925aa1. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool[] values) returns(string json) -func (_VmSafe *VmSafeSession) SerializeBool(objectKey string, valueKey string, values []bool) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBool(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBool is a paid mutator transaction binding the contract method 0x92925aa1. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool[] values) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeBool(objectKey string, valueKey string, values []bool) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBool(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBool0 is a paid mutator transaction binding the contract method 0xac22e971. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeBool0(opts *bind.TransactOpts, objectKey string, valueKey string, value bool) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeBool0", objectKey, valueKey, value) -} - -// SerializeBool0 is a paid mutator transaction binding the contract method 0xac22e971. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeBool0(objectKey string, valueKey string, value bool) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBool0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBool0 is a paid mutator transaction binding the contract method 0xac22e971. -// -// Solidity: function serializeBool(string objectKey, string valueKey, bool value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeBool0(objectKey string, valueKey string, value bool) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBool0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes is a paid mutator transaction binding the contract method 0x9884b232. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes[] values) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeBytes(opts *bind.TransactOpts, objectKey string, valueKey string, values [][]byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeBytes", objectKey, valueKey, values) -} - -// SerializeBytes is a paid mutator transaction binding the contract method 0x9884b232. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes[] values) returns(string json) -func (_VmSafe *VmSafeSession) SerializeBytes(objectKey string, valueKey string, values [][]byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes is a paid mutator transaction binding the contract method 0x9884b232. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes[] values) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeBytes(objectKey string, valueKey string, values [][]byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes0 is a paid mutator transaction binding the contract method 0xf21d52c7. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeBytes0(opts *bind.TransactOpts, objectKey string, valueKey string, value []byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeBytes0", objectKey, valueKey, value) -} - -// SerializeBytes0 is a paid mutator transaction binding the contract method 0xf21d52c7. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeBytes0(objectKey string, valueKey string, value []byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes0 is a paid mutator transaction binding the contract method 0xf21d52c7. -// -// Solidity: function serializeBytes(string objectKey, string valueKey, bytes value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeBytes0(objectKey string, valueKey string, value []byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes32 is a paid mutator transaction binding the contract method 0x201e43e2. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32[] values) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeBytes32(opts *bind.TransactOpts, objectKey string, valueKey string, values [][32]byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeBytes32", objectKey, valueKey, values) -} - -// SerializeBytes32 is a paid mutator transaction binding the contract method 0x201e43e2. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32[] values) returns(string json) -func (_VmSafe *VmSafeSession) SerializeBytes32(objectKey string, valueKey string, values [][32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes32(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes32 is a paid mutator transaction binding the contract method 0x201e43e2. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32[] values) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeBytes32(objectKey string, valueKey string, values [][32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes32(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeBytes320 is a paid mutator transaction binding the contract method 0x2d812b44. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32 value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeBytes320(opts *bind.TransactOpts, objectKey string, valueKey string, value [32]byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeBytes320", objectKey, valueKey, value) -} - -// SerializeBytes320 is a paid mutator transaction binding the contract method 0x2d812b44. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32 value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeBytes320(objectKey string, valueKey string, value [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes320(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeBytes320 is a paid mutator transaction binding the contract method 0x2d812b44. -// -// Solidity: function serializeBytes32(string objectKey, string valueKey, bytes32 value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeBytes320(objectKey string, valueKey string, value [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeBytes320(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeInt is a paid mutator transaction binding the contract method 0x3f33db60. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256 value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeInt(opts *bind.TransactOpts, objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeInt", objectKey, valueKey, value) -} - -// SerializeInt is a paid mutator transaction binding the contract method 0x3f33db60. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256 value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeInt(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeInt(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeInt is a paid mutator transaction binding the contract method 0x3f33db60. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256 value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeInt(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeInt(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeInt0 is a paid mutator transaction binding the contract method 0x7676e127. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256[] values) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeInt0(opts *bind.TransactOpts, objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeInt0", objectKey, valueKey, values) -} - -// SerializeInt0 is a paid mutator transaction binding the contract method 0x7676e127. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256[] values) returns(string json) -func (_VmSafe *VmSafeSession) SerializeInt0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeInt0(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeInt0 is a paid mutator transaction binding the contract method 0x7676e127. -// -// Solidity: function serializeInt(string objectKey, string valueKey, int256[] values) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeInt0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeInt0(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeJson is a paid mutator transaction binding the contract method 0x9b3358b0. -// -// Solidity: function serializeJson(string objectKey, string value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeJson(opts *bind.TransactOpts, objectKey string, value string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeJson", objectKey, value) -} - -// SerializeJson is a paid mutator transaction binding the contract method 0x9b3358b0. -// -// Solidity: function serializeJson(string objectKey, string value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeJson(objectKey string, value string) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeJson(&_VmSafe.TransactOpts, objectKey, value) -} - -// SerializeJson is a paid mutator transaction binding the contract method 0x9b3358b0. -// -// Solidity: function serializeJson(string objectKey, string value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeJson(objectKey string, value string) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeJson(&_VmSafe.TransactOpts, objectKey, value) -} - -// SerializeString is a paid mutator transaction binding the contract method 0x561cd6f3. -// -// Solidity: function serializeString(string objectKey, string valueKey, string[] values) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeString(opts *bind.TransactOpts, objectKey string, valueKey string, values []string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeString", objectKey, valueKey, values) -} - -// SerializeString is a paid mutator transaction binding the contract method 0x561cd6f3. -// -// Solidity: function serializeString(string objectKey, string valueKey, string[] values) returns(string json) -func (_VmSafe *VmSafeSession) SerializeString(objectKey string, valueKey string, values []string) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeString(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeString is a paid mutator transaction binding the contract method 0x561cd6f3. -// -// Solidity: function serializeString(string objectKey, string valueKey, string[] values) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeString(objectKey string, valueKey string, values []string) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeString(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeString0 is a paid mutator transaction binding the contract method 0x88da6d35. -// -// Solidity: function serializeString(string objectKey, string valueKey, string value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeString0(opts *bind.TransactOpts, objectKey string, valueKey string, value string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeString0", objectKey, valueKey, value) -} - -// SerializeString0 is a paid mutator transaction binding the contract method 0x88da6d35. -// -// Solidity: function serializeString(string objectKey, string valueKey, string value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeString0(objectKey string, valueKey string, value string) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeString0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeString0 is a paid mutator transaction binding the contract method 0x88da6d35. -// -// Solidity: function serializeString(string objectKey, string valueKey, string value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeString0(objectKey string, valueKey string, value string) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeString0(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUint is a paid mutator transaction binding the contract method 0x129e9002. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256 value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeUint(opts *bind.TransactOpts, objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeUint", objectKey, valueKey, value) -} - -// SerializeUint is a paid mutator transaction binding the contract method 0x129e9002. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256 value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeUint(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeUint(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUint is a paid mutator transaction binding the contract method 0x129e9002. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256 value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeUint(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeUint(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUint0 is a paid mutator transaction binding the contract method 0xfee9a469. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256[] values) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeUint0(opts *bind.TransactOpts, objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeUint0", objectKey, valueKey, values) -} - -// SerializeUint0 is a paid mutator transaction binding the contract method 0xfee9a469. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256[] values) returns(string json) -func (_VmSafe *VmSafeSession) SerializeUint0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeUint0(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeUint0 is a paid mutator transaction binding the contract method 0xfee9a469. -// -// Solidity: function serializeUint(string objectKey, string valueKey, uint256[] values) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeUint0(objectKey string, valueKey string, values []*big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeUint0(&_VmSafe.TransactOpts, objectKey, valueKey, values) -} - -// SerializeUintToHex is a paid mutator transaction binding the contract method 0xae5a2ae8. -// -// Solidity: function serializeUintToHex(string objectKey, string valueKey, uint256 value) returns(string json) -func (_VmSafe *VmSafeTransactor) SerializeUintToHex(opts *bind.TransactOpts, objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "serializeUintToHex", objectKey, valueKey, value) -} - -// SerializeUintToHex is a paid mutator transaction binding the contract method 0xae5a2ae8. -// -// Solidity: function serializeUintToHex(string objectKey, string valueKey, uint256 value) returns(string json) -func (_VmSafe *VmSafeSession) SerializeUintToHex(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeUintToHex(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SerializeUintToHex is a paid mutator transaction binding the contract method 0xae5a2ae8. -// -// Solidity: function serializeUintToHex(string objectKey, string valueKey, uint256 value) returns(string json) -func (_VmSafe *VmSafeTransactorSession) SerializeUintToHex(objectKey string, valueKey string, value *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.SerializeUintToHex(&_VmSafe.TransactOpts, objectKey, valueKey, value) -} - -// SetEnv is a paid mutator transaction binding the contract method 0x3d5923ee. -// -// Solidity: function setEnv(string name, string value) returns() -func (_VmSafe *VmSafeTransactor) SetEnv(opts *bind.TransactOpts, name string, value string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "setEnv", name, value) -} - -// SetEnv is a paid mutator transaction binding the contract method 0x3d5923ee. -// -// Solidity: function setEnv(string name, string value) returns() -func (_VmSafe *VmSafeSession) SetEnv(name string, value string) (*types.Transaction, error) { - return _VmSafe.Contract.SetEnv(&_VmSafe.TransactOpts, name, value) -} - -// SetEnv is a paid mutator transaction binding the contract method 0x3d5923ee. -// -// Solidity: function setEnv(string name, string value) returns() -func (_VmSafe *VmSafeTransactorSession) SetEnv(name string, value string) (*types.Transaction, error) { - return _VmSafe.Contract.SetEnv(&_VmSafe.TransactOpts, name, value) -} - -// Sign1 is a paid mutator transaction binding the contract method 0xb25c5a25. -// -// Solidity: function sign((address,uint256,uint256,uint256) wallet, bytes32 digest) returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeTransactor) Sign1(opts *bind.TransactOpts, wallet VmSafeWallet, digest [32]byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "sign1", wallet, digest) -} - -// Sign1 is a paid mutator transaction binding the contract method 0xb25c5a25. -// -// Solidity: function sign((address,uint256,uint256,uint256) wallet, bytes32 digest) returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeSession) Sign1(wallet VmSafeWallet, digest [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.Sign1(&_VmSafe.TransactOpts, wallet, digest) -} - -// Sign1 is a paid mutator transaction binding the contract method 0xb25c5a25. -// -// Solidity: function sign((address,uint256,uint256,uint256) wallet, bytes32 digest) returns(uint8 v, bytes32 r, bytes32 s) -func (_VmSafe *VmSafeTransactorSession) Sign1(wallet VmSafeWallet, digest [32]byte) (*types.Transaction, error) { - return _VmSafe.Contract.Sign1(&_VmSafe.TransactOpts, wallet, digest) -} - -// Sleep is a paid mutator transaction binding the contract method 0xfa9d8713. -// -// Solidity: function sleep(uint256 duration) returns() -func (_VmSafe *VmSafeTransactor) Sleep(opts *bind.TransactOpts, duration *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "sleep", duration) -} - -// Sleep is a paid mutator transaction binding the contract method 0xfa9d8713. -// -// Solidity: function sleep(uint256 duration) returns() -func (_VmSafe *VmSafeSession) Sleep(duration *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.Sleep(&_VmSafe.TransactOpts, duration) -} - -// Sleep is a paid mutator transaction binding the contract method 0xfa9d8713. -// -// Solidity: function sleep(uint256 duration) returns() -func (_VmSafe *VmSafeTransactorSession) Sleep(duration *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.Sleep(&_VmSafe.TransactOpts, duration) -} - -// StartBroadcast is a paid mutator transaction binding the contract method 0x7fb5297f. -// -// Solidity: function startBroadcast() returns() -func (_VmSafe *VmSafeTransactor) StartBroadcast(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "startBroadcast") -} - -// StartBroadcast is a paid mutator transaction binding the contract method 0x7fb5297f. -// -// Solidity: function startBroadcast() returns() -func (_VmSafe *VmSafeSession) StartBroadcast() (*types.Transaction, error) { - return _VmSafe.Contract.StartBroadcast(&_VmSafe.TransactOpts) -} - -// StartBroadcast is a paid mutator transaction binding the contract method 0x7fb5297f. -// -// Solidity: function startBroadcast() returns() -func (_VmSafe *VmSafeTransactorSession) StartBroadcast() (*types.Transaction, error) { - return _VmSafe.Contract.StartBroadcast(&_VmSafe.TransactOpts) -} - -// StartBroadcast0 is a paid mutator transaction binding the contract method 0x7fec2a8d. -// -// Solidity: function startBroadcast(address signer) returns() -func (_VmSafe *VmSafeTransactor) StartBroadcast0(opts *bind.TransactOpts, signer common.Address) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "startBroadcast0", signer) -} - -// StartBroadcast0 is a paid mutator transaction binding the contract method 0x7fec2a8d. -// -// Solidity: function startBroadcast(address signer) returns() -func (_VmSafe *VmSafeSession) StartBroadcast0(signer common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.StartBroadcast0(&_VmSafe.TransactOpts, signer) -} - -// StartBroadcast0 is a paid mutator transaction binding the contract method 0x7fec2a8d. -// -// Solidity: function startBroadcast(address signer) returns() -func (_VmSafe *VmSafeTransactorSession) StartBroadcast0(signer common.Address) (*types.Transaction, error) { - return _VmSafe.Contract.StartBroadcast0(&_VmSafe.TransactOpts, signer) -} - -// StartBroadcast1 is a paid mutator transaction binding the contract method 0xce817d47. -// -// Solidity: function startBroadcast(uint256 privateKey) returns() -func (_VmSafe *VmSafeTransactor) StartBroadcast1(opts *bind.TransactOpts, privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "startBroadcast1", privateKey) -} - -// StartBroadcast1 is a paid mutator transaction binding the contract method 0xce817d47. -// -// Solidity: function startBroadcast(uint256 privateKey) returns() -func (_VmSafe *VmSafeSession) StartBroadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.StartBroadcast1(&_VmSafe.TransactOpts, privateKey) -} - -// StartBroadcast1 is a paid mutator transaction binding the contract method 0xce817d47. -// -// Solidity: function startBroadcast(uint256 privateKey) returns() -func (_VmSafe *VmSafeTransactorSession) StartBroadcast1(privateKey *big.Int) (*types.Transaction, error) { - return _VmSafe.Contract.StartBroadcast1(&_VmSafe.TransactOpts, privateKey) -} - -// StartMappingRecording is a paid mutator transaction binding the contract method 0x3e9705c0. -// -// Solidity: function startMappingRecording() returns() -func (_VmSafe *VmSafeTransactor) StartMappingRecording(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "startMappingRecording") -} - -// StartMappingRecording is a paid mutator transaction binding the contract method 0x3e9705c0. -// -// Solidity: function startMappingRecording() returns() -func (_VmSafe *VmSafeSession) StartMappingRecording() (*types.Transaction, error) { - return _VmSafe.Contract.StartMappingRecording(&_VmSafe.TransactOpts) -} - -// StartMappingRecording is a paid mutator transaction binding the contract method 0x3e9705c0. -// -// Solidity: function startMappingRecording() returns() -func (_VmSafe *VmSafeTransactorSession) StartMappingRecording() (*types.Transaction, error) { - return _VmSafe.Contract.StartMappingRecording(&_VmSafe.TransactOpts) -} - -// StartStateDiffRecording is a paid mutator transaction binding the contract method 0xcf22e3c9. -// -// Solidity: function startStateDiffRecording() returns() -func (_VmSafe *VmSafeTransactor) StartStateDiffRecording(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "startStateDiffRecording") -} - -// StartStateDiffRecording is a paid mutator transaction binding the contract method 0xcf22e3c9. -// -// Solidity: function startStateDiffRecording() returns() -func (_VmSafe *VmSafeSession) StartStateDiffRecording() (*types.Transaction, error) { - return _VmSafe.Contract.StartStateDiffRecording(&_VmSafe.TransactOpts) -} - -// StartStateDiffRecording is a paid mutator transaction binding the contract method 0xcf22e3c9. -// -// Solidity: function startStateDiffRecording() returns() -func (_VmSafe *VmSafeTransactorSession) StartStateDiffRecording() (*types.Transaction, error) { - return _VmSafe.Contract.StartStateDiffRecording(&_VmSafe.TransactOpts) -} - -// StopAndReturnStateDiff is a paid mutator transaction binding the contract method 0xaa5cf90e. -// -// Solidity: function stopAndReturnStateDiff() returns(((uint256,uint256),uint8,address,address,bool,uint256,uint256,bytes,uint256,bytes,bool,(address,bytes32,bool,bytes32,bytes32,bool)[],uint64)[] accountAccesses) -func (_VmSafe *VmSafeTransactor) StopAndReturnStateDiff(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "stopAndReturnStateDiff") -} - -// StopAndReturnStateDiff is a paid mutator transaction binding the contract method 0xaa5cf90e. -// -// Solidity: function stopAndReturnStateDiff() returns(((uint256,uint256),uint8,address,address,bool,uint256,uint256,bytes,uint256,bytes,bool,(address,bytes32,bool,bytes32,bytes32,bool)[],uint64)[] accountAccesses) -func (_VmSafe *VmSafeSession) StopAndReturnStateDiff() (*types.Transaction, error) { - return _VmSafe.Contract.StopAndReturnStateDiff(&_VmSafe.TransactOpts) -} - -// StopAndReturnStateDiff is a paid mutator transaction binding the contract method 0xaa5cf90e. -// -// Solidity: function stopAndReturnStateDiff() returns(((uint256,uint256),uint8,address,address,bool,uint256,uint256,bytes,uint256,bytes,bool,(address,bytes32,bool,bytes32,bytes32,bool)[],uint64)[] accountAccesses) -func (_VmSafe *VmSafeTransactorSession) StopAndReturnStateDiff() (*types.Transaction, error) { - return _VmSafe.Contract.StopAndReturnStateDiff(&_VmSafe.TransactOpts) -} - -// StopBroadcast is a paid mutator transaction binding the contract method 0x76eadd36. -// -// Solidity: function stopBroadcast() returns() -func (_VmSafe *VmSafeTransactor) StopBroadcast(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "stopBroadcast") -} - -// StopBroadcast is a paid mutator transaction binding the contract method 0x76eadd36. -// -// Solidity: function stopBroadcast() returns() -func (_VmSafe *VmSafeSession) StopBroadcast() (*types.Transaction, error) { - return _VmSafe.Contract.StopBroadcast(&_VmSafe.TransactOpts) -} - -// StopBroadcast is a paid mutator transaction binding the contract method 0x76eadd36. -// -// Solidity: function stopBroadcast() returns() -func (_VmSafe *VmSafeTransactorSession) StopBroadcast() (*types.Transaction, error) { - return _VmSafe.Contract.StopBroadcast(&_VmSafe.TransactOpts) -} - -// StopMappingRecording is a paid mutator transaction binding the contract method 0x0d4aae9b. -// -// Solidity: function stopMappingRecording() returns() -func (_VmSafe *VmSafeTransactor) StopMappingRecording(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "stopMappingRecording") -} - -// StopMappingRecording is a paid mutator transaction binding the contract method 0x0d4aae9b. -// -// Solidity: function stopMappingRecording() returns() -func (_VmSafe *VmSafeSession) StopMappingRecording() (*types.Transaction, error) { - return _VmSafe.Contract.StopMappingRecording(&_VmSafe.TransactOpts) -} - -// StopMappingRecording is a paid mutator transaction binding the contract method 0x0d4aae9b. -// -// Solidity: function stopMappingRecording() returns() -func (_VmSafe *VmSafeTransactorSession) StopMappingRecording() (*types.Transaction, error) { - return _VmSafe.Contract.StopMappingRecording(&_VmSafe.TransactOpts) -} - -// TryFfi is a paid mutator transaction binding the contract method 0xf45c1ce7. -// -// Solidity: function tryFfi(string[] commandInput) returns((int32,bytes,bytes) result) -func (_VmSafe *VmSafeTransactor) TryFfi(opts *bind.TransactOpts, commandInput []string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "tryFfi", commandInput) -} - -// TryFfi is a paid mutator transaction binding the contract method 0xf45c1ce7. -// -// Solidity: function tryFfi(string[] commandInput) returns((int32,bytes,bytes) result) -func (_VmSafe *VmSafeSession) TryFfi(commandInput []string) (*types.Transaction, error) { - return _VmSafe.Contract.TryFfi(&_VmSafe.TransactOpts, commandInput) -} - -// TryFfi is a paid mutator transaction binding the contract method 0xf45c1ce7. -// -// Solidity: function tryFfi(string[] commandInput) returns((int32,bytes,bytes) result) -func (_VmSafe *VmSafeTransactorSession) TryFfi(commandInput []string) (*types.Transaction, error) { - return _VmSafe.Contract.TryFfi(&_VmSafe.TransactOpts, commandInput) -} - -// UnixTime is a paid mutator transaction binding the contract method 0x625387dc. -// -// Solidity: function unixTime() returns(uint256 milliseconds) -func (_VmSafe *VmSafeTransactor) UnixTime(opts *bind.TransactOpts) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "unixTime") -} - -// UnixTime is a paid mutator transaction binding the contract method 0x625387dc. -// -// Solidity: function unixTime() returns(uint256 milliseconds) -func (_VmSafe *VmSafeSession) UnixTime() (*types.Transaction, error) { - return _VmSafe.Contract.UnixTime(&_VmSafe.TransactOpts) -} - -// UnixTime is a paid mutator transaction binding the contract method 0x625387dc. -// -// Solidity: function unixTime() returns(uint256 milliseconds) -func (_VmSafe *VmSafeTransactorSession) UnixTime() (*types.Transaction, error) { - return _VmSafe.Contract.UnixTime(&_VmSafe.TransactOpts) -} - -// WriteFile is a paid mutator transaction binding the contract method 0x897e0a97. -// -// Solidity: function writeFile(string path, string data) returns() -func (_VmSafe *VmSafeTransactor) WriteFile(opts *bind.TransactOpts, path string, data string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "writeFile", path, data) -} - -// WriteFile is a paid mutator transaction binding the contract method 0x897e0a97. -// -// Solidity: function writeFile(string path, string data) returns() -func (_VmSafe *VmSafeSession) WriteFile(path string, data string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteFile(&_VmSafe.TransactOpts, path, data) -} - -// WriteFile is a paid mutator transaction binding the contract method 0x897e0a97. -// -// Solidity: function writeFile(string path, string data) returns() -func (_VmSafe *VmSafeTransactorSession) WriteFile(path string, data string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteFile(&_VmSafe.TransactOpts, path, data) -} - -// WriteFileBinary is a paid mutator transaction binding the contract method 0x1f21fc80. -// -// Solidity: function writeFileBinary(string path, bytes data) returns() -func (_VmSafe *VmSafeTransactor) WriteFileBinary(opts *bind.TransactOpts, path string, data []byte) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "writeFileBinary", path, data) -} - -// WriteFileBinary is a paid mutator transaction binding the contract method 0x1f21fc80. -// -// Solidity: function writeFileBinary(string path, bytes data) returns() -func (_VmSafe *VmSafeSession) WriteFileBinary(path string, data []byte) (*types.Transaction, error) { - return _VmSafe.Contract.WriteFileBinary(&_VmSafe.TransactOpts, path, data) -} - -// WriteFileBinary is a paid mutator transaction binding the contract method 0x1f21fc80. -// -// Solidity: function writeFileBinary(string path, bytes data) returns() -func (_VmSafe *VmSafeTransactorSession) WriteFileBinary(path string, data []byte) (*types.Transaction, error) { - return _VmSafe.Contract.WriteFileBinary(&_VmSafe.TransactOpts, path, data) -} - -// WriteJson is a paid mutator transaction binding the contract method 0x35d6ad46. -// -// Solidity: function writeJson(string json, string path, string valueKey) returns() -func (_VmSafe *VmSafeTransactor) WriteJson(opts *bind.TransactOpts, json string, path string, valueKey string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "writeJson", json, path, valueKey) -} - -// WriteJson is a paid mutator transaction binding the contract method 0x35d6ad46. -// -// Solidity: function writeJson(string json, string path, string valueKey) returns() -func (_VmSafe *VmSafeSession) WriteJson(json string, path string, valueKey string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteJson(&_VmSafe.TransactOpts, json, path, valueKey) -} - -// WriteJson is a paid mutator transaction binding the contract method 0x35d6ad46. -// -// Solidity: function writeJson(string json, string path, string valueKey) returns() -func (_VmSafe *VmSafeTransactorSession) WriteJson(json string, path string, valueKey string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteJson(&_VmSafe.TransactOpts, json, path, valueKey) -} - -// WriteJson0 is a paid mutator transaction binding the contract method 0xe23cd19f. -// -// Solidity: function writeJson(string json, string path) returns() -func (_VmSafe *VmSafeTransactor) WriteJson0(opts *bind.TransactOpts, json string, path string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "writeJson0", json, path) -} - -// WriteJson0 is a paid mutator transaction binding the contract method 0xe23cd19f. -// -// Solidity: function writeJson(string json, string path) returns() -func (_VmSafe *VmSafeSession) WriteJson0(json string, path string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteJson0(&_VmSafe.TransactOpts, json, path) -} - -// WriteJson0 is a paid mutator transaction binding the contract method 0xe23cd19f. -// -// Solidity: function writeJson(string json, string path) returns() -func (_VmSafe *VmSafeTransactorSession) WriteJson0(json string, path string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteJson0(&_VmSafe.TransactOpts, json, path) -} - -// WriteLine is a paid mutator transaction binding the contract method 0x619d897f. -// -// Solidity: function writeLine(string path, string data) returns() -func (_VmSafe *VmSafeTransactor) WriteLine(opts *bind.TransactOpts, path string, data string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "writeLine", path, data) -} - -// WriteLine is a paid mutator transaction binding the contract method 0x619d897f. -// -// Solidity: function writeLine(string path, string data) returns() -func (_VmSafe *VmSafeSession) WriteLine(path string, data string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteLine(&_VmSafe.TransactOpts, path, data) -} - -// WriteLine is a paid mutator transaction binding the contract method 0x619d897f. -// -// Solidity: function writeLine(string path, string data) returns() -func (_VmSafe *VmSafeTransactorSession) WriteLine(path string, data string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteLine(&_VmSafe.TransactOpts, path, data) -} - -// WriteToml is a paid mutator transaction binding the contract method 0x51ac6a33. -// -// Solidity: function writeToml(string json, string path, string valueKey) returns() -func (_VmSafe *VmSafeTransactor) WriteToml(opts *bind.TransactOpts, json string, path string, valueKey string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "writeToml", json, path, valueKey) -} - -// WriteToml is a paid mutator transaction binding the contract method 0x51ac6a33. -// -// Solidity: function writeToml(string json, string path, string valueKey) returns() -func (_VmSafe *VmSafeSession) WriteToml(json string, path string, valueKey string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteToml(&_VmSafe.TransactOpts, json, path, valueKey) -} - -// WriteToml is a paid mutator transaction binding the contract method 0x51ac6a33. -// -// Solidity: function writeToml(string json, string path, string valueKey) returns() -func (_VmSafe *VmSafeTransactorSession) WriteToml(json string, path string, valueKey string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteToml(&_VmSafe.TransactOpts, json, path, valueKey) -} - -// WriteToml0 is a paid mutator transaction binding the contract method 0xc0865ba7. -// -// Solidity: function writeToml(string json, string path) returns() -func (_VmSafe *VmSafeTransactor) WriteToml0(opts *bind.TransactOpts, json string, path string) (*types.Transaction, error) { - return _VmSafe.contract.Transact(opts, "writeToml0", json, path) -} - -// WriteToml0 is a paid mutator transaction binding the contract method 0xc0865ba7. -// -// Solidity: function writeToml(string json, string path) returns() -func (_VmSafe *VmSafeSession) WriteToml0(json string, path string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteToml0(&_VmSafe.TransactOpts, json, path) -} - -// WriteToml0 is a paid mutator transaction binding the contract method 0xc0865ba7. -// -// Solidity: function writeToml(string json, string path) returns() -func (_VmSafe *VmSafeTransactorSession) WriteToml0(json string, path string) (*types.Transaction, error) { - return _VmSafe.Contract.WriteToml0(&_VmSafe.TransactOpts, json, path) -} diff --git a/remappings.txt b/remappings.txt index b97ee9cf..8b720f8c 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,2 +1,3 @@ @openzeppelin/=node_modules/@openzeppelin/ +@openzeppelin/contracts-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/ forge-std/=lib/forge-std/src/ \ No newline at end of file diff --git a/scripts/readme.md b/scripts/readme.md index 1db37dc0..63551bfd 100644 --- a/scripts/readme.md +++ b/scripts/readme.md @@ -3,6 +3,7 @@ To start localnet execute: ``` +yarn compile yarn localnet ``` diff --git a/tasks/localnet.ts b/tasks/localnet.ts index b57f21a9..48d7001f 100644 --- a/tasks/localnet.ts +++ b/tasks/localnet.ts @@ -7,8 +7,8 @@ declare const hre: any; // Otherwise, provide custom addresses as parameters. task("zevm-call", "calls evm contract from zevm account") - .addOptionalParam("gatewayZEVM", "contract address of gateway on ZEVM", "0x413b1AfCa96a3df5A686d8BFBF93d30688a7f7D9") - .addOptionalParam("receiverEVM", "contract address of receiver on EVM", "0x821f3361D454cc98b7555221A06Be563a7E2E0A6") + .addOptionalParam("gatewayZEVM", "contract address of gateway on ZEVM", "0x0165878A594ca255338adfa4d48449f69242Eb8F") + .addOptionalParam("receiverEVM", "contract address of receiver on EVM", "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6") .setAction(async (taskArgs) => { const gatewayZEVM = await hre.ethers.getContractAt("GatewayZEVM", taskArgs.gatewayZEVM); const receiverEVM = await hre.ethers.getContractAt("ReceiverEVM", taskArgs.receiverEVM); @@ -22,15 +22,14 @@ task("zevm-call", "calls evm contract from zevm account") try { const callTx = await gatewayZEVM.call(receiverEVM.address, message); await callTx.wait(); - console.log("ReceiverEVM called from ZEVM"); } catch (e) { console.error("Error calling ReceiverEVM:", e); } }); task("zevm-withdraw-and-call", "withdraws zrc20 and calls evm contract from zevm account") - .addOptionalParam("gatewayZEVM", "contract address of gateway on ZEVM", "0x413b1AfCa96a3df5A686d8BFBF93d30688a7f7D9") - .addOptionalParam("receiverEVM", "contract address of receiver on EVM", "0x821f3361D454cc98b7555221A06Be563a7E2E0A6") + .addOptionalParam("gatewayZEVM", "contract address of gateway on ZEVM", "0x0165878A594ca255338adfa4d48449f69242Eb8F") + .addOptionalParam("receiverEVM", "contract address of receiver on EVM", "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6") .addOptionalParam("zrc20", "contract address of zrc20", "0x9fd96203f7b22bCF72d9DCb40ff98302376cE09c") .addOptionalParam("amount", "amount to withdraw", "1") .setAction(async (taskArgs) => { @@ -58,8 +57,8 @@ task("zevm-withdraw-and-call", "withdraws zrc20 and calls evm contract from zevm }); task("evm-call", "calls zevm zcontract from evm account") - .addOptionalParam("gatewayEVM", "contract address of gateway on EVM", "0xB06c856C8eaBd1d8321b687E188204C1018BC4E5") - .addOptionalParam("zContract", "contract address of zContract on ZEVM", "0x71089Ba41e478702e1904692385Be3972B2cBf9e") + .addOptionalParam("gatewayEVM", "contract address of gateway on EVM", "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512") + .addOptionalParam("zContract", "contract address of zContract on ZEVM", "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e") .setAction(async (taskArgs) => { const gatewayEVM = await hre.ethers.getContractAt("GatewayEVM", taskArgs.gatewayEVM); const zContract = await hre.ethers.getContractAt("TestZContract", taskArgs.zContract); @@ -76,9 +75,9 @@ task("evm-call", "calls zevm zcontract from evm account") }); task("evm-deposit-and-call", "deposits erc20 and calls zevm zcontract from evm account") - .addOptionalParam("gatewayEVM", "contract address of gateway on EVM", "0xB06c856C8eaBd1d8321b687E188204C1018BC4E5") - .addOptionalParam("zContract", "contract address of zContract on ZEVM", "0x71089Ba41e478702e1904692385Be3972B2cBf9e") - .addOptionalParam("erc20", "contract address of erc20", "0x02df3a3F960393F5B349E40A599FEda91a7cc1A7") + .addOptionalParam("gatewayEVM", "contract address of gateway on EVM", "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512") + .addOptionalParam("zContract", "contract address of zContract on ZEVM", "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e") + .addOptionalParam("erc20", "contract address of erc20", "0xa513e6e4b8f2a923d98304ec87f64353c4d5c853") .addOptionalParam("amount", "amount to deposit", "1") .setAction(async (taskArgs) => { const gatewayEVM = await hre.ethers.getContractAt("GatewayEVM", taskArgs.gatewayEVM); diff --git a/test/ZetaTokenConsumer.spec.ts b/test/ZetaTokenConsumer.spec.ts index 74e33016..2b820528 100644 --- a/test/ZetaTokenConsumer.spec.ts +++ b/test/ZetaTokenConsumer.spec.ts @@ -13,6 +13,7 @@ import chai, { expect } from "chai"; import { BigNumber } from "ethers"; import { ethers } from "hardhat"; import { getNonZetaAddress } from "lib"; +const { reset } = require("@nomicfoundation/hardhat-network-helpers"); import { getTestAddress } from "../lib/address.helpers"; import { @@ -20,7 +21,7 @@ import { getZetaTokenConsumerUniV2Strategy, getZetaTokenConsumerUniV3Strategy, } from "../lib/contracts.helpers"; -import { parseZetaConsumerLog } from "./test.helpers"; +import { MAINNET_FORK_BLOCK, MAINNET_FORK_URL, parseZetaConsumerLog } from "./test.helpers"; chai.should(); @@ -55,6 +56,7 @@ describe("ZetaTokenConsumer tests", () => { }; beforeEach(async () => { + await reset(MAINNET_FORK_URL, MAINNET_FORK_BLOCK); accounts = await ethers.getSigners(); [tssUpdater, tssSigner, randomSigner] = accounts; @@ -94,6 +96,10 @@ describe("ZetaTokenConsumer tests", () => { }); }); + afterEach(async () => { + await reset(); + }); + describe("getZetaFromEth", () => { const shouldGetZetaFromETH = async (zetaTokenConsumer: ZetaTokenConsumer) => { const initialZetaBalance = await zetaTokenNonEth.balanceOf(randomSigner.address); diff --git a/test/ZetaTokenConsumerZEVM.spec.ts b/test/ZetaTokenConsumerZEVM.spec.ts index 02796e12..e5514cc7 100644 --- a/test/ZetaTokenConsumerZEVM.spec.ts +++ b/test/ZetaTokenConsumerZEVM.spec.ts @@ -11,9 +11,10 @@ import { import chai, { expect } from "chai"; import { BigNumber, providers } from "ethers"; import { ethers } from "hardhat"; +const { reset } = require("@nomicfoundation/hardhat-network-helpers"); import { WETH9__factory } from "../typechain-types/factories/contracts/zevm/WZETA.sol/WETH9__factory"; -import { parseZetaConsumerLog } from "./test.helpers"; +import { MAINNET_FORK_BLOCK, MAINNET_FORK_URL, parseZetaConsumerLog } from "./test.helpers"; chai.should(); @@ -46,6 +47,7 @@ describe("ZetaTokenConsumerZEVM tests", () => { }; beforeEach(async () => { + await reset(MAINNET_FORK_URL, MAINNET_FORK_BLOCK); accounts = await ethers.getSigners(); [deployer, randomSigner] = accounts; @@ -55,6 +57,10 @@ describe("ZetaTokenConsumerZEVM tests", () => { zetaTokenConsumerZEVM = await zetaTokenConsumerZEVMFactory.deploy(WETH_ADDRESS, UNI_V2_ROUTER_ADDRESS); }); + afterEach(async () => { + await reset(); + }); + describe("getZetaFromEth", () => { it("Should get zeta from eth", async () => { const initialZetaBalance = await zetaToken.balanceOf(randomSigner.address); diff --git a/test/fuzz/ERC20CustodyNewEchidnaTest.sol b/test/fuzz/ERC20CustodyNewEchidnaTest.sol index 079334df..2d7900b4 100644 --- a/test/fuzz/ERC20CustodyNewEchidnaTest.sol +++ b/test/fuzz/ERC20CustodyNewEchidnaTest.sol @@ -1,8 +1,13 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + import "../../contracts/prototypes/evm/TestERC20.sol"; import "../../contracts/prototypes/evm/ERC20CustodyNew.sol"; import "../../contracts/prototypes/evm/GatewayEVM.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {Upgrades} from "openzeppelin-foundry-upgrades/LegacyUpgrades.sol"; contract ERC20CustodyNewEchidnaTest is ERC20CustodyNew { using SafeERC20 for IERC20; @@ -10,10 +15,13 @@ contract ERC20CustodyNewEchidnaTest is ERC20CustodyNew { TestERC20 public testERC20; address public echidnaCaller = msg.sender; - GatewayEVM testGateway = new GatewayEVM(); + address proxy = address(new ERC1967Proxy( + address(new GatewayEVM()), + abi.encodeWithSelector(GatewayEVM.initialize.selector, (echidnaCaller)) + )); + GatewayEVM testGateway = GatewayEVM(proxy); constructor() ERC20CustodyNew(address(testGateway)) { - testGateway.initialize(echidnaCaller); testERC20 = new TestERC20("test", "TEST"); testGateway.setCustody(address(this)); } diff --git a/test/fuzz/GatewayEVMEchidnaTest.sol b/test/fuzz/GatewayEVMEchidnaTest.sol index fda16cbe..7cd1e458 100644 --- a/test/fuzz/GatewayEVMEchidnaTest.sol +++ b/test/fuzz/GatewayEVMEchidnaTest.sol @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + import "../../contracts/prototypes/evm/GatewayEVM.sol"; import "../../contracts/prototypes/evm/TestERC20.sol"; import "../../contracts/prototypes/evm/ERC20CustodyNew.sol"; @@ -11,7 +14,7 @@ contract GatewayEVMEchidnaTest is GatewayEVM { address public echidnaCaller = msg.sender; constructor() { - initialize(echidnaCaller); + tssAddress = echidnaCaller; testERC20 = new TestERC20("test", "TEST"); custody = address(new ERC20CustodyNew(address(this))); } diff --git a/test/prototypes/GatewayEVM.spec.ts b/test/prototypes/GatewayEVM.spec.ts deleted file mode 100644 index 8e0b3c77..00000000 --- a/test/prototypes/GatewayEVM.spec.ts +++ /dev/null @@ -1,311 +0,0 @@ -import { expect } from "chai"; -import { BigNumber, Contract } from "ethers"; -import { ethers, upgrades } from "hardhat"; - -describe("GatewayEVM inbound", function () { - let receiver: Contract; - let gateway: Contract; - let token: Contract; - let custody: Contract; - let owner: any, destination: any, tssAddress: any; - - beforeEach(async function () { - const TestERC20 = await ethers.getContractFactory("TestERC20"); - const Receiver = await ethers.getContractFactory("ReceiverEVM"); - const Gateway = await ethers.getContractFactory("GatewayEVM"); - const Custody = await ethers.getContractFactory("ERC20CustodyNew"); - [owner, destination, tssAddress] = await ethers.getSigners(); - - // Deploy the contracts - token = await TestERC20.deploy("Test Token", "TTK"); - receiver = await Receiver.deploy(); - gateway = await upgrades.deployProxy(Gateway, [tssAddress.address], { - initializer: "initialize", - kind: "uups", - }); - custody = await Custody.deploy(gateway.address); - - gateway.setCustody(custody.address); - - // Mint initial supply to the owner - await token.mint(owner.address, ethers.utils.parseEther("1000")); - - // Transfer some tokens to the custody contract - await token.transfer(custody.address, ethers.utils.parseEther("500")); - }); - - it("should forward call to Receiver's receivePayable function", async function () { - const str = "Hello, Hardhat!"; - const num = 42; - const flag = true; - const value = ethers.utils.parseEther("1.0"); - - // Encode the function call data - const data = receiver.interface.encodeFunctionData("receivePayable", [str, num, flag]); - - // Call execute on the Gateway contract - const tx = await gateway.execute(receiver.address, data, { value: value }); - - // Listen for the event - await expect(tx).to.emit(gateway, "Executed").withArgs(receiver.address, value, data); - await expect(tx).to.emit(receiver, "ReceivedPayable").withArgs(gateway.address, value, str, num, flag); - }); - - it("should forward call to Receiver's receiveNonPayable function", async function () { - const strs = ["Hello", "Hardhat"]; - const nums = [1, 2, 3]; - const flag = false; - const data = receiver.interface.encodeFunctionData("receiveNonPayable", [strs, nums, flag]); - const tx = await gateway.execute(receiver.address, data); - await expect(tx).to.emit(receiver, "ReceivedNonPayable").withArgs(gateway.address, strs, nums, flag); - }); - - it("should forward call with withdrawAndCall and give allowance to destination contract", async function () { - const amount = ethers.utils.parseEther("100"); - - // Encode the function call data for receiveERC20 - const data = receiver.interface.encodeFunctionData("receiveERC20", [amount, token.address, destination.address]); - - // Withdraw and call - const tx = await custody.withdrawAndCall(token.address, receiver.address, amount, data); - - // Verify the event was emitted - await expect(tx) - .to.emit(receiver, "ReceivedERC20") - .withArgs(gateway.address, amount, token.address, destination.address); - - // Verify that the tokens were transferred to the destination address - const receiverBalance = await token.balanceOf(destination.address); - expect(receiverBalance).to.equal(amount); - - // Verify that the remaining tokens were refunded to the Custody contract - const remainingBalance = await token.balanceOf(custody.address); - expect(remainingBalance).to.equal(ethers.utils.parseEther("400")); - - // Verify that the approval was reset - const allowance = await token.allowance(gateway.address, receiver.address); - expect(allowance).to.equal(0); - }); - - it("should forward call to Receiver's receiveNoParams function", async function () { - const data = receiver.interface.encodeFunctionData("receiveNoParams"); - - // Execute the call - const tx = await gateway.execute(receiver.address, data); - - // Verify the event was emitted - await expect(tx).to.emit(receiver, "ReceivedNoParams").withArgs(gateway.address); - }); - - it("should forward call to Receiver's receiveNoParams function through withdrawAndCall and return ERC20 tokens to custody", async function () { - const amount = ethers.utils.parseEther("100"); - - // Encode the function call data for receiveNoParams - const data = receiver.interface.encodeFunctionData("receiveNoParams"); - - // Withdraw and call - await custody.withdrawAndCall(token.address, receiver.address, amount, data); - - // Verify the event was emitted - await expect(custody.withdrawAndCall(token.address, receiver.address, amount, data)) - .to.emit(receiver, "ReceivedNoParams") - .withArgs(gateway.address); - - // Verify that the remaining tokens were refunded to the Custody contract - const remainingBalance = await token.balanceOf(custody.address); - expect(remainingBalance).to.equal(ethers.utils.parseEther("500")); - - // Verify that the approval was reset - const allowance = await token.allowance(gateway.address, receiver.address); - expect(allowance).to.equal(0); - }); -}); - -describe("GatewayEVM inbound", function () { - let gateway: Contract; - let token: Contract; - let custody: Contract; - let owner: any, destination: any, tssAddress: any; - - beforeEach(async function () { - const TestERC20 = await ethers.getContractFactory("TestERC20"); - const Gateway = await ethers.getContractFactory("GatewayEVM"); - const Custody = await ethers.getContractFactory("ERC20CustodyNew"); - [owner, destination, tssAddress] = await ethers.getSigners(); - - // Deploy the contracts - token = await TestERC20.deploy("Test Token", "TTK"); - gateway = await upgrades.deployProxy(Gateway, [tssAddress.address], { - initializer: "initialize", - kind: "uups", - }); - custody = await Custody.deploy(gateway.address); - - gateway.setCustody(custody.address); - - // Mint initial supply to the owner - await token.mint(owner.address, ethers.utils.parseEther("1000")); - }); - - it("should deposit erc20 to custody and emit event", async function () { - const amount = ethers.utils.parseEther("100"); - - const custodyBalanceBefore = await token.balanceOf(custody.address); - expect(custodyBalanceBefore).to.equal(0); - - await token.approve(gateway.address, amount); - - const tx = await gateway["deposit(address,uint256,address)"](destination.address, amount, token.address); - - const custodyBalanceAfter = await token.balanceOf(custody.address); - expect(custodyBalanceAfter).to.equal(amount); - - const ownerBalanceAfter = await token.balanceOf(owner.address); - expect(ownerBalanceAfter).to.equal(ethers.utils.parseEther("900")); - - await expect(tx) - .to.emit(gateway, "Deposit") - .withArgs( - ethers.utils.getAddress(owner.address), - ethers.utils.getAddress(destination.address), - amount, - ethers.utils.getAddress(token.address), - "0x" - ); - }); - - it("should fail to deposit erc20 to custody and emit event if amount is 0", async function () { - const amount = ethers.utils.parseEther("0"); - await token.approve(gateway.address, amount); - - await expect( - gateway["deposit(address,uint256,address)"](destination.address, amount, token.address) - ).to.be.revertedWith("InsufficientERC20Amount"); - }); - - it("should deposit eth to tss and emit event", async function () { - const amount = ethers.utils.parseEther("100"); - - const tssAddressBalanceBefore = (await ethers.provider.getBalance(tssAddress.address)) as BigNumber; - - const tx = await gateway["deposit(address)"](destination.address, { value: amount }); - - const tssAddressBalanceAfter = await ethers.provider.getBalance(tssAddress.address); - expect(tssAddressBalanceAfter).to.equal(tssAddressBalanceBefore.add(amount)); - - await expect(tx) - .to.emit(gateway, "Deposit") - .withArgs( - ethers.utils.getAddress(owner.address), - ethers.utils.getAddress(destination.address), - amount, - ethers.constants.AddressZero, - "0x" - ); - }); - - it("should fail to deposit eth to tss and emit event if amount is 0", async function () { - const amount = ethers.utils.parseEther("0"); - - await expect(gateway["deposit(address)"](destination.address, { value: amount })).to.be.revertedWith( - "InsufficientETHAmount" - ); - }); - - it("should deposit erc20 to custody and emit event with payload", async function () { - const amount = ethers.utils.parseEther("100"); - - const custodyBalanceBefore = await token.balanceOf(custody.address); - expect(custodyBalanceBefore).to.equal(0); - - let ABI = ["function hello(address to)"]; - let iface = new ethers.utils.Interface(ABI); - const payload = iface.encodeFunctionData("hello", ["0x1234567890123456789012345678901234567890"]); - - await token.approve(gateway.address, amount); - - const tx = await gateway["depositAndCall(address,uint256,address,bytes)"]( - destination.address, - amount, - token.address, - payload - ); - - const custodyBalanceAfter = await token.balanceOf(custody.address); - expect(custodyBalanceAfter).to.equal(amount); - - const ownerBalanceAfter = await token.balanceOf(owner.address); - expect(ownerBalanceAfter).to.equal(ethers.utils.parseEther("900")); - - await expect(tx) - .to.emit(gateway, "Deposit") - .withArgs( - ethers.utils.getAddress(owner.address), - ethers.utils.getAddress(destination.address), - amount, - ethers.utils.getAddress(token.address), - payload - ); - }); - - it("should fail to deposit erc20 to custody and emit event with payload if amount is 0", async function () { - const amount = ethers.utils.parseEther("0"); - - let ABI = ["function hello(address to)"]; - let iface = new ethers.utils.Interface(ABI); - const payload = iface.encodeFunctionData("hello", ["0x1234567890123456789012345678901234567890"]); - - await expect( - gateway["depositAndCall(address,uint256,address,bytes)"](destination.address, amount, token.address, payload) - ).to.be.revertedWith("InsufficientERC20Amount"); - }); - - it("should deposit eth to tss and emit event with payload", async function () { - const amount = ethers.utils.parseEther("100"); - - let ABI = ["function hello(address to)"]; - let iface = new ethers.utils.Interface(ABI); - const payload = iface.encodeFunctionData("hello", ["0x1234567890123456789012345678901234567890"]); - - const tssAddressBalanceBefore = (await ethers.provider.getBalance(tssAddress.address)) as BigNumber; - - const tx = await gateway["depositAndCall(address,bytes)"](destination.address, payload, { value: amount }); - - const tssAddressBalanceAfter = await ethers.provider.getBalance(tssAddress.address); - expect(tssAddressBalanceAfter).to.equal(tssAddressBalanceBefore.add(amount)); - - await expect(tx) - .to.emit(gateway, "Deposit") - .withArgs( - ethers.utils.getAddress(owner.address), - ethers.utils.getAddress(destination.address), - amount, - ethers.constants.AddressZero, - payload - ); - }); - - it("should fail to deposit eth to tss and emit event with payload if amount is 0", async function () { - const amount = ethers.utils.parseEther("0"); - - let ABI = ["function hello(address to)"]; - let iface = new ethers.utils.Interface(ABI); - const payload = iface.encodeFunctionData("hello", ["0x1234567890123456789012345678901234567890"]); - - await expect( - gateway["depositAndCall(address,bytes)"](destination.address, payload, { value: amount }) - ).to.be.revertedWith("InsufficientETHAmount"); - }); - - it("should call and emit with payload and without asset transfer", async function () { - let ABI = ["function hello(address to)"]; - let iface = new ethers.utils.Interface(ABI); - const payload = iface.encodeFunctionData("hello", ["0x1234567890123456789012345678901234567890"]); - - const tx = await gateway.call(destination.address, payload); - - await expect(tx) - .to.emit(gateway, "Call") - .withArgs(ethers.utils.getAddress(owner.address), ethers.utils.getAddress(destination.address), payload); - }); -}); diff --git a/test/prototypes/GatewayEVMUpgrade.spec.ts b/test/prototypes/GatewayEVMUpgrade.spec.ts deleted file mode 100644 index 8e663ea1..00000000 --- a/test/prototypes/GatewayEVMUpgrade.spec.ts +++ /dev/null @@ -1,73 +0,0 @@ -import { expect } from "chai"; -import { Contract } from "ethers"; -import { ethers, upgrades } from "hardhat"; - -describe("GatewayEVM upgrade", function () { - let receiver: Contract; - let gateway: Contract; - let token: Contract; - let custody: Contract; - let owner: any, destination: any, randomSigner: any, tssAddress: any; - - beforeEach(async function () { - const TestERC20 = await ethers.getContractFactory("TestERC20"); - const Receiver = await ethers.getContractFactory("ReceiverEVM"); - const Gateway = await ethers.getContractFactory("GatewayEVM"); - const Custody = await ethers.getContractFactory("ERC20CustodyNew"); - [owner, destination, randomSigner, tssAddress] = await ethers.getSigners(); - - // Deploy the contracts - token = await TestERC20.deploy("Test Token", "TTK"); - receiver = await Receiver.deploy(); - gateway = await upgrades.deployProxy(Gateway, [tssAddress.address], { - initializer: "initialize", - kind: "uups", - }); - custody = await Custody.deploy(gateway.address); - - gateway.setCustody(custody.address); - - // Mint initial supply to the owner - await token.mint(owner.address, ethers.utils.parseEther("1000")); - - // Transfer some tokens to the custody contract - await token.transfer(custody.address, ethers.utils.parseEther("500")); - }); - - it("should upgrade and forward call to Receiver's receiveA function", async function () { - const custodyBeforeUpgrade = await gateway.custody(); - const tssAddressBeforeUpgrade = await gateway.tssAddress(); - - // Upgrade Gateway contract - // Fail to upgrade if not using owner account - let GatewayUpgradeTest = await ethers.getContractFactory("GatewayEVMUpgradeTest", randomSigner); - await expect(upgrades.upgradeProxy(gateway.address, GatewayUpgradeTest)).to.be.revertedWith( - "Ownable: caller is not the owner" - ); - - // Upgrade with owner account - GatewayUpgradeTest = await ethers.getContractFactory("GatewayEVMUpgradeTest", owner); - - const gatewayUpgradeTest = await upgrades.upgradeProxy(gateway.address, GatewayUpgradeTest); - - // Forward call - const str = "Hello, Hardhat!"; - const num = 42; - const flag = true; - const value = ethers.utils.parseEther("1.0"); - - // Encode the function call data - const data = receiver.interface.encodeFunctionData("receivePayable", [str, num, flag]); - - // Call execute on the GatewayV2 contract - const tx = await gatewayUpgradeTest.execute(receiver.address, data, { value: value }); - - // Listen for the event - await expect(tx).to.emit(gatewayUpgradeTest, "ExecutedV2").withArgs(receiver.address, value, data); - await expect(tx).to.emit(receiver, "ReceivedPayable").withArgs(gatewayUpgradeTest.address, value, str, num, flag); - - // Check that storage is not changed - expect(await gatewayUpgradeTest.custody()).to.equal(custodyBeforeUpgrade); - expect(await gatewayUpgradeTest.tssAddress()).to.equal(tssAddressBeforeUpgrade); - }); -}); diff --git a/test/prototypes/GatewayIntegration.spec.ts b/test/prototypes/GatewayIntegration.spec.ts deleted file mode 100644 index 998c63bc..00000000 --- a/test/prototypes/GatewayIntegration.spec.ts +++ /dev/null @@ -1,236 +0,0 @@ -import { AddressZero } from "@ethersproject/constants"; -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; -import { SystemContract, ZRC20 } from "@typechain-types"; -import { expect } from "chai"; -import { Contract } from "ethers"; -import { parseEther } from "ethers/lib/utils"; -import { ethers, upgrades } from "hardhat"; - -import { FUNGIBLE_MODULE_ADDRESS } from "../test.helpers"; -const hre = require("hardhat"); - -describe("GatewayEVM GatewayZEVM integration", function () { - // EVM - let receiverEVM: Contract; - let gatewayEVM: Contract; - let token: Contract; - let custody: Contract; - let ownerEVM: any, destination: any, tssAddress: any; - - // ZEVM - let senderZEVM: Contract; - let ZRC20Contract: ZRC20; - let systemContract: SystemContract; - let gatewayZEVM: Contract; - let ownerZEVM: SignerWithAddress; - let addrs: SignerWithAddress[]; - - beforeEach(async function () { - [ownerEVM, ownerZEVM, destination, tssAddress, ...addrs] = await ethers.getSigners(); - // Prepare EVM - const TestERC20 = await ethers.getContractFactory("TestERC20"); - const ReceiverEVM = await ethers.getContractFactory("ReceiverEVM"); - const GatewayEVM = await ethers.getContractFactory("GatewayEVM"); - const Custody = await ethers.getContractFactory("ERC20CustodyNew"); - - // Deploy the contracts - token = await TestERC20.deploy("Test Token", "TTK"); - receiverEVM = await ReceiverEVM.deploy(); - gatewayEVM = await upgrades.deployProxy(GatewayEVM, [tssAddress.address], { - initializer: "initialize", - kind: "uups", - }); - custody = await Custody.deploy(gatewayEVM.address); - - gatewayEVM.setCustody(custody.address); - - // Mint initial supply to the owner - await token.mint(ownerEVM.address, ethers.utils.parseEther("1000")); - - // Transfer some tokens to the custody contract - await token.transfer(custody.address, ethers.utils.parseEther("500")); - - // Prepare ZEVM - // Impersonate the fungible module account - await hre.network.provider.request({ - method: "hardhat_impersonateAccount", - params: [FUNGIBLE_MODULE_ADDRESS], - }); - - // Get a signer for the fungible module account - const fungibleModuleSigner = await ethers.getSigner(FUNGIBLE_MODULE_ADDRESS); - hre.network.provider.send("hardhat_setBalance", [FUNGIBLE_MODULE_ADDRESS, parseEther("1000000").toHexString()]); - - const SystemContractFactory = await ethers.getContractFactory("SystemContractMock"); - systemContract = (await SystemContractFactory.deploy(AddressZero, AddressZero, AddressZero)) as SystemContract; - - const ZRC20Factory = await ethers.getContractFactory("ZRC20"); - ZRC20Contract = (await ZRC20Factory.connect(fungibleModuleSigner).deploy( - "TOKEN", - "TKN", - 18, - 1, - 1, - 0, - systemContract.address - )) as ZRC20; - - await systemContract.setGasCoinZRC20(1, ZRC20Contract.address); - await systemContract.setGasPrice(1, ZRC20Contract.address); - - await ZRC20Contract.connect(fungibleModuleSigner).deposit(ownerZEVM.address, parseEther("100")); - - const GatewayZEVM = await ethers.getContractFactory("GatewayZEVM"); - gatewayZEVM = await upgrades.deployProxy(GatewayZEVM, [], { - initializer: "initialize", - kind: "uups", - }); - - await ZRC20Contract.connect(ownerZEVM).approve(gatewayZEVM.address, parseEther("100")); - - // including abi of gatewayZEVM events, so hardhat can decode them automatically - const senderArtifact = await hre.artifacts.readArtifact("SenderZEVM"); - const gatewayZEVMArtifact = await hre.artifacts.readArtifact("GatewayZEVM"); - const senderABI = [ - ...senderArtifact.abi, - ...gatewayZEVMArtifact.abi.filter((f: ethers.utils.Fragment) => f.type === "event"), - ]; - - const SenderZEVM = new ethers.ContractFactory(senderABI, senderArtifact.bytecode, ownerZEVM); - senderZEVM = await SenderZEVM.deploy(gatewayZEVM.address); - - await ZRC20Contract.connect(fungibleModuleSigner).deposit(senderZEVM.address, parseEther("100")); - }); - - it("should call ReceiverEVM from ZEVM account", async function () { - const str = "Hello, Hardhat!"; - const num = 42; - const flag = true; - const value = ethers.utils.parseEther("1.0"); - - // Encode the function call data and call on zevm - const message = receiverEVM.interface.encodeFunctionData("receivePayable", [str, num, flag]); - const callTx = await gatewayZEVM.connect(ownerZEVM).call(receiverEVM.address, message); - await expect(callTx) - .to.emit(gatewayZEVM, "Call") - .withArgs(ownerZEVM.address, receiverEVM.address.toLowerCase(), message); - - // Get message from events - const callTxReceipt = await callTx.wait(); - const callEvent = callTxReceipt.events[0]; - const callMessage = callEvent.args[2]; - - // Call execute on evm - const executeTx = await gatewayEVM.execute(receiverEVM.address, callMessage, { value: value }); - - // Listen for the event - await expect(executeTx).to.emit(gatewayEVM, "Executed").withArgs(receiverEVM.address, value, callMessage); - await expect(executeTx).to.emit(receiverEVM, "ReceivedPayable").withArgs(gatewayEVM.address, value, str, num, flag); - }); - - it("should withdraw and call ReceiverEVM from ZEVM account", async function () { - const str = "Hello, Hardhat!"; - const num = 42; - const flag = true; - const value = ethers.utils.parseEther("1.0"); - - // Encode the function call data and call on zevm - const message = receiverEVM.interface.encodeFunctionData("receivePayable", [str, num, flag]); - const callTx = await gatewayZEVM - .connect(ownerZEVM) - .withdrawAndCall(receiverEVM.address, parseEther("1"), ZRC20Contract.address, message); - - await expect(callTx) - .to.emit(gatewayZEVM, "Withdrawal") - .withArgs( - ethers.utils.getAddress(ownerZEVM.address), - receiverEVM.address.toLowerCase(), - parseEther("1"), - 0, - await ZRC20Contract.PROTOCOL_FLAT_FEE(), - message - ); - - // Get message from events - const callTxReceipt = await callTx.wait(); - const callEvent = callTxReceipt.events.filter((e) => e.event == "Withdrawal")[0]; - const callMessage = callEvent.args[5]; - - // Call execute on evm - const executeTx = await gatewayEVM.execute(receiverEVM.address, callMessage, { value: value }); - - // Listen for the event - await expect(executeTx).to.emit(gatewayEVM, "Executed").withArgs(receiverEVM.address, value, callMessage); - await expect(executeTx).to.emit(receiverEVM, "ReceivedPayable").withArgs(gatewayEVM.address, value, str, num, flag); - - const balanceOfAfterWithdrawal = await ZRC20Contract.balanceOf(ownerZEVM.address); - expect(balanceOfAfterWithdrawal).to.equal(parseEther("99")); - }); - - it("should call ReceiverEVM from SenderZEVM", async function () { - const str = "Hello, Hardhat!"; - const num = 42; - const flag = true; - const value = ethers.utils.parseEther("1.0"); - - // Call sender function - const callTx = await senderZEVM.connect(ownerZEVM).callReceiver(receiverEVM.address, str, num, flag); - - // Get message from events - const callTxReceipt = await callTx.wait(); - const expectedMessage = receiverEVM.interface.encodeFunctionData("receivePayable", [str, num, flag]); - await expect(callTx) - .to.emit(gatewayZEVM, "Call") - .withArgs(senderZEVM.address, receiverEVM.address.toLowerCase(), expectedMessage); - - const callEvent = callTxReceipt.events[0]; - const callMessage = callEvent.args[2]; - - // Call execute on evm - const executeTx = await gatewayEVM.execute(receiverEVM.address, callMessage, { value: value }); - - // Listen for the event - await expect(executeTx).to.emit(gatewayEVM, "Executed").withArgs(receiverEVM.address, value, callMessage); - await expect(executeTx).to.emit(receiverEVM, "ReceivedPayable").withArgs(gatewayEVM.address, value, str, num, flag); - }); - - it("should withdrawn and call ReceiverEVM from SenderZEVM", async function () { - const str = "Hello, Hardhat!"; - const num = 42; - const flag = true; - const value = ethers.utils.parseEther("1.0"); - - // Call sender function - const callTx = await senderZEVM - .connect(ownerZEVM) - .withdrawAndCallReceiver(receiverEVM.address, parseEther("1"), ZRC20Contract.address, str, num, flag); - - // Get message from events - const callTxReceipt = await callTx.wait(); - const expectedMessage = receiverEVM.interface.encodeFunctionData("receivePayable", [str, num, flag]); - - await expect(callTx) - .to.emit(gatewayZEVM, "Withdrawal") - .withArgs( - ethers.utils.getAddress(senderZEVM.address), - receiverEVM.address.toLowerCase(), - parseEther("1"), - 0, - await ZRC20Contract.PROTOCOL_FLAT_FEE(), - expectedMessage - ); - - const callEvent = callTxReceipt.events.filter((e) => e.event == "Withdrawal")[0]; - const callMessage = callEvent.args[5]; - - // Call execute on evm - const executeTx = await gatewayEVM.execute(receiverEVM.address, callMessage, { value: value }); - - // Listen for the event - await expect(executeTx).to.emit(gatewayEVM, "Executed").withArgs(receiverEVM.address, value, callMessage); - await expect(executeTx).to.emit(receiverEVM, "ReceivedPayable").withArgs(gatewayEVM.address, value, str, num, flag); - - const balanceOfAfterWithdrawal = await ZRC20Contract.balanceOf(senderZEVM.address); - expect(balanceOfAfterWithdrawal).to.equal(parseEther("99")); - }); -}); diff --git a/test/prototypes/GatewayZEVM.spec.ts b/test/prototypes/GatewayZEVM.spec.ts deleted file mode 100644 index f215e762..00000000 --- a/test/prototypes/GatewayZEVM.spec.ts +++ /dev/null @@ -1,186 +0,0 @@ -import { AddressZero } from "@ethersproject/constants"; -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; -import { SystemContract, ZRC20 } from "@typechain-types"; -import { expect } from "chai"; -import { BigNumber, Contract } from "ethers"; -import { parseEther } from "ethers/lib/utils"; -import { ethers, upgrades } from "hardhat"; - -import { FUNGIBLE_MODULE_ADDRESS } from "../test.helpers"; -const hre = require("hardhat"); - -describe("GatewayZEVM", function () { - let ZRC20Contract: ZRC20; - let systemContract: SystemContract; - let gateway: Contract; - let testZContract: Contract; - let owner: SignerWithAddress; - let fungibleModuleSigner: SignerWithAddress; - let addrs: SignerWithAddress[]; - - beforeEach(async () => { - [owner, ...addrs] = await ethers.getSigners(); - - // Impersonate the fungible module account - await hre.network.provider.request({ - method: "hardhat_impersonateAccount", - params: [FUNGIBLE_MODULE_ADDRESS], - }); - - // Get a signer for the fungible module account - fungibleModuleSigner = await ethers.getSigner(FUNGIBLE_MODULE_ADDRESS); - hre.network.provider.send("hardhat_setBalance", [FUNGIBLE_MODULE_ADDRESS, parseEther("1000000").toHexString()]); - - const SystemContractFactory = await ethers.getContractFactory("SystemContractMock"); - systemContract = (await SystemContractFactory.deploy(AddressZero, AddressZero, AddressZero)) as SystemContract; - - const Gateway = await ethers.getContractFactory("GatewayZEVM"); - gateway = await upgrades.deployProxy(Gateway, [], { - initializer: "initialize", - kind: "uups", - }); - - const ZRC20Factory = await ethers.getContractFactory("ZRC20New"); - ZRC20Contract = (await ZRC20Factory.connect(fungibleModuleSigner).deploy( - "TOKEN", - "TKN", - 18, - 1, - 1, - 0, - systemContract.address, - gateway.address - )) as ZRC20; - - await systemContract.setGasCoinZRC20(1, ZRC20Contract.address); - await systemContract.setGasPrice(1, ZRC20Contract.address); - - await ZRC20Contract.connect(fungibleModuleSigner).deposit(owner.address, parseEther("100")); - - await ZRC20Contract.connect(owner).approve(gateway.address, parseEther("100")); - - const TestZContract = await ethers.getContractFactory("TestZContract"); - testZContract = await TestZContract.deploy(); - }); - - describe("GatewayZEVM inbound", function () { - it("should withdraw zrc20 and emit event", async function () { - const tx = await gateway - .connect(owner) - .withdraw(ethers.utils.arrayify(addrs[0].address), parseEther("1"), ZRC20Contract.address); - - const balanceOfAfterWithdrawal = (await ZRC20Contract.balanceOf(owner.address)) as BigNumber; - expect(balanceOfAfterWithdrawal).to.equal(parseEther("99")); - - await expect(tx) - .to.emit(gateway, "Withdrawal") - .withArgs( - ethers.utils.getAddress(owner.address), - addrs[0].address.toLowerCase(), - parseEther("1"), - 0, - await ZRC20Contract.PROTOCOL_FLAT_FEE(), - "0x" - ); - }); - - it("should withdraw zrc20 and call and emit event with message", async function () { - let ABI = ["function hello(address to)"]; - let iface = new ethers.utils.Interface(ABI); - const message = iface.encodeFunctionData("hello", ["0x1234567890123456789012345678901234567890"]); - - const tx = await gateway - .connect(owner) - .withdrawAndCall(ethers.utils.arrayify(addrs[0].address), parseEther("1"), ZRC20Contract.address, message); - - const balanceOfAfterWithdrawal = (await ZRC20Contract.balanceOf(owner.address)) as BigNumber; - expect(balanceOfAfterWithdrawal).to.equal(parseEther("99")); - - await expect(tx) - .to.emit(gateway, "Withdrawal") - .withArgs( - ethers.utils.getAddress(owner.address), - addrs[0].address.toLowerCase(), - parseEther("1"), - 0, - await ZRC20Contract.PROTOCOL_FLAT_FEE(), - message - ); - }); - - it("should call and emit event without asset transfer", async function () { - let ABI = ["function hello(address to)"]; - let iface = new ethers.utils.Interface(ABI); - const message = iface.encodeFunctionData("hello", ["0x1234567890123456789012345678901234567890"]); - - const tx = await gateway.connect(owner).call(ethers.utils.arrayify(addrs[0].address), message); - await expect(tx) - .to.emit(gateway, "Call") - .withArgs(ethers.utils.getAddress(owner.address), addrs[0].address.toLowerCase(), message); - }); - }); - - describe("GatewayZEVM outbound", function () { - it("should deposit", async function () { - const balanceBeforeDeposit = (await ZRC20Contract.balanceOf(addrs[0].address)) as BigNumber; - expect(balanceBeforeDeposit).to.equal(parseEther("0")); - - await gateway.connect(fungibleModuleSigner).deposit(ZRC20Contract.address, parseEther("1"), addrs[0].address); - - const balanceAfterDeposit = (await ZRC20Contract.balanceOf(addrs[0].address)) as BigNumber; - expect(balanceAfterDeposit).to.equal(parseEther("1")); - }); - - it("execute zContract", async function () { - const message = ethers.utils.defaultAbiCoder.encode(["string"], ["hello"]); - const tx = await gateway - .connect(fungibleModuleSigner) - .execute( - [gateway.address, fungibleModuleSigner.address, 1], - ZRC20Contract.address, - parseEther("1"), - testZContract.address, - message - ); - - await expect(tx) - .to.emit(testZContract, "ContextData") - .withArgs( - gateway.address.toLowerCase(), - ethers.utils.getAddress(fungibleModuleSigner.address), - 1, - ethers.utils.getAddress(gateway.address), - "hello" - ); - }); - - it("should deposit and call zContract", async function () { - const balanceBeforeDeposit = (await ZRC20Contract.balanceOf(testZContract.address)) as BigNumber; - expect(balanceBeforeDeposit).to.equal(parseEther("0")); - - const message = ethers.utils.defaultAbiCoder.encode(["string"], ["hello"]); - const tx = await gateway - .connect(fungibleModuleSigner) - .depositAndCall( - [gateway.address, fungibleModuleSigner.address, 1], - ZRC20Contract.address, - parseEther("1"), - testZContract.address, - message - ); - - const balanceAfterDeposit = (await ZRC20Contract.balanceOf(testZContract.address)) as BigNumber; - expect(balanceAfterDeposit).to.equal(parseEther("1")); - - await expect(tx) - .to.emit(testZContract, "ContextData") - .withArgs( - gateway.address.toLowerCase(), - ethers.utils.getAddress(fungibleModuleSigner.address), - 1, - ethers.utils.getAddress(gateway.address), - "hello" - ); - }); - }); -}); diff --git a/test/test.helpers.ts b/test/test.helpers.ts index 3ff6cea9..825b09f2 100644 --- a/test/test.helpers.ts +++ b/test/test.helpers.ts @@ -3,6 +3,9 @@ import { BigNumber, ContractReceipt } from "ethers"; export const FUNGIBLE_MODULE_ADDRESS = "0x735b14BB79463307AAcBED86DAf3322B1e6226aB"; +export const MAINNET_FORK_URL = "https://rpc.ankr.com/eth"; +export const MAINNET_FORK_BLOCK = 14672712; + export const parseZetaConsumerLog = (logs: ContractReceipt["logs"]) => { const iface = ZetaTokenConsumer__factory.createInterface(); diff --git a/testFoundry/GatewayEVM.t.sol b/testFoundry/GatewayEVM.t.sol new file mode 100644 index 00000000..2de4830a --- /dev/null +++ b/testFoundry/GatewayEVM.t.sol @@ -0,0 +1,304 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "forge-std/Test.sol"; +import "forge-std/Vm.sol"; + +import "contracts/prototypes/evm/GatewayEVM.sol"; +import "contracts/prototypes/evm/ReceiverEVM.sol"; +import "contracts/prototypes/evm/ERC20CustodyNew.sol"; +import "contracts/prototypes/evm/TestERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import "contracts/prototypes/evm/interfaces.sol"; +import {Upgrades} from "openzeppelin-foundry-upgrades/LegacyUpgrades.sol"; + +contract GatewayEVMTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IReceiverEVMEvents { + using SafeERC20 for IERC20; + + address proxy; + GatewayEVM gateway; + ReceiverEVM receiver; + ERC20CustodyNew custody; + TestERC20 token; + address owner; + address destination; + address tssAddress; + + event Withdraw(address indexed token, address indexed to, uint256 amount); + event WithdrawAndCall(address indexed token, address indexed to, uint256 amount, bytes data); + + function setUp() public { + owner = address(this); + destination = address(0x1234); + tssAddress = address(0x5678); + + token = new TestERC20("test", "TTK"); + proxy = address(new ERC1967Proxy( + address(new GatewayEVM()), + abi.encodeWithSelector(GatewayEVM.initialize.selector, (tssAddress)) + )); + gateway = GatewayEVM(proxy); + custody = new ERC20CustodyNew(address(gateway)); + receiver = new ReceiverEVM(); + + gateway.setCustody(address(custody)); + + token.mint(owner, 1000000); + token.transfer(address(custody), 500000); + } + + function testForwardCallToReceivePayable() public { + string memory str = "Hello, Foundry!"; + uint256 num = 42; + bool flag = true; + uint256 value = 1 ether; + + bytes memory data = abi.encodeWithSignature("receivePayable(string,uint256,bool)", str, num, flag); + + vm.expectCall(address(receiver), value, data); + vm.expectEmit(true, true, true, true, address(receiver)); + emit ReceivedPayable(address(gateway), value, str, num, flag); + vm.expectEmit(true, true, true, true, address(gateway)); + emit Executed(address(receiver), value, data); + + gateway.execute{value: value}(address(receiver), data); + } + + function testForwardCallToReceiveNonPayable() public { + string[] memory str = new string[](1); + str[0] = "Hello, Foundry!"; + uint256[] memory num = new uint256[](1); + num[0] = 42; + bool flag = true; + + bytes memory data = abi.encodeWithSignature("receiveNonPayable(string[],uint256[],bool)", str, num, flag); + + vm.expectCall(address(receiver), 0, data); + vm.expectEmit(true, true, true, true, address(receiver)); + emit ReceivedNonPayable(address(gateway), str, num, flag); + vm.expectEmit(true, true, true, true, address(gateway)); + emit Executed(address(receiver), 0, data); + + gateway.execute(address(receiver), data); + } + + function testForwardCallToReceiveNoParams() public { + bytes memory data = abi.encodeWithSignature("receiveNoParams()"); + + vm.expectCall(address(receiver), 0, data); + vm.expectEmit(true, true, true, true, address(receiver)); + emit ReceivedNoParams(address(gateway)); + vm.expectEmit(true, true, true, true, address(gateway)); + emit Executed(address(receiver), 0, data); + + gateway.execute(address(receiver), data); + } + + function testForwardCallToReceiveERC20ThroughCustody() public { + uint256 amount = 100000; + bytes memory data = abi.encodeWithSignature("receiveERC20(uint256,address,address)", amount, address(token), destination); + uint256 balanceBefore = token.balanceOf(destination); + assertEq(balanceBefore, 0); + uint256 balanceBeforeCustody = token.balanceOf(address(custody)); + + vm.expectEmit(true, true, true, true, address(receiver)); + emit ReceivedERC20(address(gateway), amount, address(token), destination); + vm.expectEmit(true, true, true, true, address(custody)); + emit WithdrawAndCall(address(token), address(receiver), amount, data); + custody.withdrawAndCall(address(token), address(receiver), amount, data); + + // Verify that the tokens were transferred to the destination address + uint256 balanceAfter = token.balanceOf(destination); + assertEq(balanceAfter, amount); + + // Verify that the remaining tokens were refunded to the Custody contract + uint256 balanceAfterCustody = token.balanceOf(address(custody)); + assertEq(balanceAfterCustody, balanceBeforeCustody - amount); + + // Verify that the approval was reset + uint256 allowance = token.allowance(address(gateway), address(receiver)); + assertEq(allowance, 0); + } + + function testForwardCallToReceiveNoParamsThroughCustody() public { + uint256 amount = 100000; + bytes memory data = abi.encodeWithSignature("receiveNoParams()"); + uint256 balanceBefore = token.balanceOf(destination); + assertEq(balanceBefore, 0); + uint256 balanceBeforeCustody = token.balanceOf(address(custody)); + + vm.expectEmit(true, true, true, true, address(receiver)); + emit ReceivedNoParams(address(gateway)); + vm.expectEmit(true, true, true, true, address(custody)); + emit WithdrawAndCall(address(token), address(receiver), amount, data); + custody.withdrawAndCall(address(token), address(receiver), amount, data); + + // Verify that the tokens were not transferred to the destination address + uint256 balanceAfter = token.balanceOf(destination); + assertEq(balanceAfter, 0); + + // Verify that the remaining tokens were refunded to the Custody contract + uint256 balanceAfterCustody = token.balanceOf(address(custody)); + assertEq(balanceAfterCustody, balanceBeforeCustody); + + // Verify that the approval was reset + uint256 allowance = token.allowance(address(gateway), address(receiver)); + assertEq(allowance, 0); + } + + function testWithdrawThroughCustody() public { + uint256 amount = 100000; + uint256 balanceBefore = token.balanceOf(destination); + assertEq(balanceBefore, 0); + uint256 balanceBeforeCustody = token.balanceOf(address(custody)); + + vm.expectEmit(true, true, true, true, address(custody)); + emit Withdraw(address(token), destination, amount); + custody.withdraw(address(token), destination, amount); + + // Verify that the tokens were transferred to the destination address + uint256 balanceAfter = token.balanceOf(destination); + assertEq(balanceAfter, amount); + + // Verify that the tokens were substracted from custody + uint256 balanceAfterCustody = token.balanceOf(address(custody)); + assertEq(balanceAfterCustody, balanceBeforeCustody - amount); + } +} + +contract GatewayEVMInboundTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IReceiverEVMEvents { + using SafeERC20 for IERC20; + + GatewayEVM gateway; + ERC20CustodyNew custody; + TestERC20 token; + address owner; + address destination; + address tssAddress; + + uint256 ownerAmount = 1000000; + + function setUp() public { + owner = address(this); + destination = address(0x1234); + tssAddress = address(0x5678); + + token = new TestERC20("test", "TTK"); + address proxy = address(new ERC1967Proxy( + address(new GatewayEVM()), + abi.encodeWithSelector(GatewayEVM.initialize.selector, (tssAddress)) + )); + gateway = GatewayEVM(proxy); + custody = new ERC20CustodyNew(address(gateway)); + + gateway.setCustody(address(custody)); + + token.mint(owner, ownerAmount); + } + + function testDepositERC20ToCustody() public { + uint256 amount = 100000; + uint256 custodyBalanceBefore = token.balanceOf(address(custody)); + assertEq(0, custodyBalanceBefore); + + token.approve(address(gateway), amount); + + vm.expectEmit(true, true, true, true, address(gateway)); + emit Deposit(owner, destination, amount, address(token), ""); + gateway.deposit(destination, amount, address(token)); + + uint256 custodyBalanceAfter = token.balanceOf(address(custody)); + assertEq(amount, custodyBalanceAfter); + + uint256 ownerAmountAfter = token.balanceOf(owner); + assertEq(ownerAmount - amount, ownerAmountAfter); + } + + function testFailDepositERC20ToCustodyIfAmountIs0() public { + uint256 amount = 0; + + token.approve(address(gateway), amount); + + vm.expectRevert("InsufficientERC20Amount"); + gateway.deposit(destination, amount, address(token)); + } + + function testDepositEthToTss() public { + uint256 amount = 100000; + uint256 tssBalanceBefore = tssAddress.balance; + + vm.expectEmit(true, true, true, true, address(gateway)); + emit Deposit(owner, destination, amount, address(0), ""); + gateway.deposit{value: amount}(destination); + + uint256 tssBalanceAfter = tssAddress.balance; + assertEq(tssBalanceBefore + amount, tssBalanceAfter); + } + + function testFailDepositEthToTssIfAmountIs0() public { + uint256 amount = 0; + + vm.expectRevert("InsufficientETHAmount"); + gateway.deposit{value: amount}(destination); + } + + function testDepositERC20ToCustodyWithPayload() public { + uint256 amount = 100000; + uint256 custodyBalanceBefore = token.balanceOf(address(custody)); + assertEq(0, custodyBalanceBefore); + + bytes memory payload = abi.encodeWithSignature("hello(address)", destination); + + token.approve(address(gateway), amount); + + vm.expectEmit(true, true, true, true, address(gateway)); + emit Deposit(owner, destination, amount, address(token), payload); + gateway.depositAndCall(destination, amount, address(token), payload); + + uint256 custodyBalanceAfter = token.balanceOf(address(custody)); + assertEq(amount, custodyBalanceAfter); + + uint256 ownerAmountAfter = token.balanceOf(owner); + assertEq(ownerAmount - amount, ownerAmountAfter); + } + + function testFailDepositERC20ToCustodyWithPayloadIfAmountIs0() public { + uint256 amount = 0; + + bytes memory payload = abi.encodeWithSignature("hello(address)", destination); + + vm.expectRevert("InsufficientERC20Amount"); + gateway.depositAndCall(destination, amount, address(token), payload); + } + + function testDepositEthToTssWithPayload() public { + uint256 amount = 100000; + uint256 tssBalanceBefore = tssAddress.balance; + bytes memory payload = abi.encodeWithSignature("hello(address)", destination); + + vm.expectEmit(true, true, true, true, address(gateway)); + emit Deposit(owner, destination, amount, address(0), payload); + gateway.depositAndCall{value: amount}(destination, payload); + + uint256 tssBalanceAfter = tssAddress.balance; + assertEq(tssBalanceBefore + amount, tssBalanceAfter); + } + + function testFailDepositEthToTssWithPayloadIfAmountIs0() public { + uint256 amount = 0; + bytes memory payload = abi.encodeWithSignature("hello(address)", destination); + + vm.expectRevert("InsufficientETHAmount"); + gateway.depositAndCall{value: amount}(destination, payload); + } + + function testCallWithPayload() public { + bytes memory payload = abi.encodeWithSignature("hello(address)", destination); + + vm.expectEmit(true, true, true, true, address(gateway)); + emit Call(owner, destination, payload); + gateway.call(destination, payload); + } +} \ No newline at end of file diff --git a/testFoundry/GatewayEVMUpgrade.t.sol b/testFoundry/GatewayEVMUpgrade.t.sol new file mode 100644 index 00000000..e751c4df --- /dev/null +++ b/testFoundry/GatewayEVMUpgrade.t.sol @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "forge-std/Test.sol"; +import "forge-std/Vm.sol"; + +import "contracts/prototypes/evm/GatewayEVM.sol"; +import "contracts/prototypes/evm/GatewayEVMUpgradeTest.sol"; +import "contracts/prototypes/evm/ReceiverEVM.sol"; +import "contracts/prototypes/evm/ERC20CustodyNew.sol"; +import "contracts/prototypes/evm/TestERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import "contracts/prototypes/evm/interfaces.sol"; +import {Upgrades} from "openzeppelin-foundry-upgrades/LegacyUpgrades.sol"; + +contract GatewayEVMUUPSUpgradeTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IReceiverEVMEvents { + using SafeERC20 for IERC20; + event ExecutedV2(address indexed destination, uint256 value, bytes data); + + address proxy; + GatewayEVM gateway; + ReceiverEVM receiver; + ERC20CustodyNew custody; + TestERC20 token; + address owner; + address destination; + address tssAddress; + + function setUp() public { + owner = address(this); + destination = address(0x1234); + tssAddress = address(0x5678); + + token = new TestERC20("test", "TTK"); + + proxy = address(new ERC1967Proxy( + address(new GatewayEVM()), + abi.encodeWithSelector(GatewayEVM.initialize.selector, (tssAddress)) + )); + gateway = GatewayEVM(proxy); + + custody = new ERC20CustodyNew(address(gateway)); + receiver = new ReceiverEVM(); + + gateway.setCustody(address(custody)); + + token.mint(owner, 1000000); + token.transfer(address(custody), 500000); + } + + function testUpgradeAndForwardCallToReceivePayable() public { + address custodyBeforeUpgrade = gateway.custody(); + address tssBeforeUpgrade = gateway.tssAddress(); + + string memory str = "Hello, Foundry!"; + uint256 num = 42; + bool flag = true; + uint256 value = 1 ether; + + vm.prank(owner); + Upgrades.upgradeProxy( + proxy, + "GatewayEVMUpgradeTest.sol", + "", + owner + ); + + bytes memory data = abi.encodeWithSignature("receivePayable(string,uint256,bool)", str, num, flag); + GatewayEVMUpgradeTest gatewayUpgradeTest = GatewayEVMUpgradeTest(proxy); + + vm.expectCall(address(receiver), value, data); + vm.expectEmit(true, true, true, true, address(receiver)); + emit ReceivedPayable(address(gateway), value, str, num, flag); + vm.expectEmit(true, true, true, true, address(gateway)); + emit ExecutedV2(address(receiver), value, data); + gateway.execute{value: value}(address(receiver), data); + + assertEq(custodyBeforeUpgrade, gateway.custody()); + assertEq(tssBeforeUpgrade, gateway.tssAddress()); + } +} \ No newline at end of file diff --git a/testFoundry/GatewayEVMZEVM.t.sol b/testFoundry/GatewayEVMZEVM.t.sol new file mode 100644 index 00000000..4bc11c8d --- /dev/null +++ b/testFoundry/GatewayEVMZEVM.t.sol @@ -0,0 +1,195 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.7; + +import "forge-std/Test.sol"; +import "forge-std/Vm.sol"; + +import "contracts/prototypes/evm/GatewayEVM.sol"; +import "contracts/prototypes/evm/ReceiverEVM.sol"; +import "contracts/prototypes/evm/ERC20CustodyNew.sol"; +import "contracts/prototypes/evm/TestERC20.sol"; +import "contracts/prototypes/evm/ReceiverEVM.sol"; + +import "contracts/prototypes/zevm/GatewayZEVM.sol"; +import "contracts/prototypes/zevm/SenderZEVM.sol"; +import "contracts/zevm/ZRC20New.sol"; +import "contracts/zevm/testing/SystemContractMock.sol"; + +import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; +import "contracts/prototypes/evm/interfaces.sol"; +import "contracts/prototypes/zevm/interfaces.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {Upgrades} from "openzeppelin-foundry-upgrades/LegacyUpgrades.sol"; + +contract GatewayEVMZEVMTest is Test, IGatewayEVMErrors, IGatewayEVMEvents, IGatewayZEVMEvents, IGatewayZEVMErrors, IReceiverEVMEvents { + // evm + using SafeERC20 for IERC20; + + address proxyEVM; + GatewayEVM gatewayEVM; + ERC20CustodyNew custody; + TestERC20 token; + ReceiverEVM receiverEVM; + address ownerEVM; + address destination; + address tssAddress; + + // zevm + address proxyZEVM; + GatewayZEVM gatewayZEVM; + SenderZEVM senderZEVM; + SystemContractMock systemContract; + ZRC20New zrc20; + address ownerZEVM; + + function setUp() public { + // evm + ownerEVM = address(this); + destination = address(0x1234); + tssAddress = address(0x5678); + ownerZEVM = address(0x4321); + + token = new TestERC20("test", "TTK"); + proxyEVM = address(new ERC1967Proxy( + address(new GatewayEVM()), + abi.encodeWithSelector(GatewayEVM.initialize.selector, (tssAddress)) + )); + gatewayEVM = GatewayEVM(proxyEVM); + custody = new ERC20CustodyNew(address(gatewayEVM)); + + gatewayEVM.setCustody(address(custody)); + + token.mint(ownerEVM, 1000000); + token.transfer(address(custody), 500000); + + receiverEVM = new ReceiverEVM(); + + // zevm + proxyZEVM = address(new ERC1967Proxy( + address(new GatewayZEVM()), + abi.encodeWithSelector(GatewayZEVM.initialize.selector, "") + )); + gatewayZEVM = GatewayZEVM(proxyZEVM); + senderZEVM = new SenderZEVM(address(gatewayZEVM)); + address fungibleModuleAddress = address(0x735b14BB79463307AAcBED86DAf3322B1e6226aB); + vm.startPrank(fungibleModuleAddress); + systemContract = new SystemContractMock(address(0), address(0), address(0)); + zrc20 = new ZRC20New("TOKEN", "TKN", 18, 1, CoinType.Zeta, 0, address(systemContract), address(gatewayZEVM)); + systemContract.setGasCoinZRC20(1, address(zrc20)); + systemContract.setGasPrice(1, 1); + zrc20.deposit(ownerZEVM, 1000000); + zrc20.deposit(address(senderZEVM), 1000000); + vm.stopPrank(); + + vm.prank(ownerZEVM); + zrc20.approve(address(gatewayZEVM), 1000000); + } + + function testCallReceiverEVMFromZEVM() public { + string memory str = "Hello!"; + uint256 num = 42; + bool flag = true; + uint256 value = 1 ether; + + // Encode the function call data and call on zevm + bytes memory message = abi.encodeWithSelector(receiverEVM.receivePayable.selector, str, num, flag); + vm.prank(ownerZEVM); + vm.expectEmit(true, true, true, true, address(gatewayZEVM)); + emit Call(address(ownerZEVM), abi.encodePacked(receiverEVM), message); + gatewayZEVM.call(abi.encodePacked(receiverEVM), message); + + // Call execute on evm + vm.deal(address(gatewayEVM), value); + vm.expectEmit(true, true, true, true, address(gatewayEVM)); + emit Executed(address(receiverEVM), value, message); + gatewayEVM.execute{value: value}(address(receiverEVM), message); + } + + function testCallReceiverEVMFromSenderZEVM() public { + string memory str = "Hello!"; + uint256 num = 42; + bool flag = true; + uint256 value = 1 ether; + + // Encode the function call data and call on zevm + bytes memory message = abi.encodeWithSelector(receiverEVM.receivePayable.selector, str, num, flag); + bytes memory data = abi.encodeWithSignature("call(bytes,bytes)", abi.encodePacked(receiverEVM), message); + vm.expectCall(address(gatewayZEVM), 0, data); + vm.prank(ownerZEVM); + senderZEVM.callReceiver(abi.encodePacked(receiverEVM), str, num, flag); + + // Call execute on evm + vm.deal(address(gatewayEVM), value); + vm.expectEmit(true, true, true, true, address(receiverEVM)); + emit ReceivedPayable(address(gatewayEVM), value, str, num, flag); + vm.expectEmit(true, true, true, true, address(gatewayEVM)); + emit Executed(address(receiverEVM), value, message); + gatewayEVM.execute{value: value}(address(receiverEVM), message); + } + + function testWithdrawAndCallReceiverEVMFromZEVM() public { + string memory str = "Hello!"; + uint256 num = 42; + bool flag = true; + uint256 value = 1 ether; + + // Encode the function call data and call on zevm + bytes memory message = abi.encodeWithSelector(receiverEVM.receivePayable.selector, str, num, flag); + vm.expectEmit(true, true, true, true, address(gatewayZEVM)); + emit Withdrawal( + ownerZEVM, + abi.encodePacked(receiverEVM), + 1000000, + 0, + zrc20.PROTOCOL_FLAT_FEE(), + message + ); + vm.prank(ownerZEVM); + gatewayZEVM.withdrawAndCall( + abi.encodePacked(receiverEVM), + 1000000, + address(zrc20), + message + ); + + // Check the balance after withdrawal + uint256 balanceOfAfterWithdrawal = zrc20.balanceOf(ownerZEVM); + assertEq(balanceOfAfterWithdrawal, 0); + + // Call execute on evm + vm.deal(address(gatewayEVM), value); + vm.expectEmit(true, true, true, true, address(receiverEVM)); + emit ReceivedPayable(address(gatewayEVM), value, str, num, flag); + vm.expectEmit(true, true, true, true, address(gatewayEVM)); + emit Executed(address(receiverEVM), value, message); + gatewayEVM.execute{value: value}(address(receiverEVM), message); + } + + function testWithdrawAndCallReceiverEVMFromSenderZEVM() public { + string memory str = "Hello!"; + uint256 num = 42; + bool flag = true; + uint256 value = 1 ether; + + // Encode the function call data and call on zevm + uint256 senderBalanceBeforeWithdrawal = IZRC20(zrc20).balanceOf(address(senderZEVM)); + bytes memory message = abi.encodeWithSelector(receiverEVM.receivePayable.selector, str, num, flag); + bytes memory data = abi.encodeWithSignature("withdrawAndCall(bytes,uint256,address,bytes)", abi.encodePacked(receiverEVM), 1000000, address(zrc20), message); + vm.expectCall(address(gatewayZEVM), 0, data); + vm.prank(ownerZEVM); + senderZEVM.withdrawAndCallReceiver(abi.encodePacked(receiverEVM), 1000000, address(zrc20), str, num, flag); + + // Call execute on evm + vm.deal(address(gatewayEVM), value); + vm.expectEmit(true, true, true, true, address(receiverEVM)); + emit ReceivedPayable(address(gatewayEVM), value, str, num, flag); + vm.expectEmit(true, true, true, true, address(gatewayEVM)); + emit Executed(address(receiverEVM), value, message); + gatewayEVM.execute{value: value}(address(receiverEVM), message); + + // Check the balance after withdrawal + uint256 senderBalanceAfterWithdrawal = IZRC20(zrc20).balanceOf(address(senderZEVM)); + assertEq(senderBalanceAfterWithdrawal, senderBalanceBeforeWithdrawal - 1000000); + } +} \ No newline at end of file diff --git a/testFoundry/GatewayZEVM.t.sol b/testFoundry/GatewayZEVM.t.sol new file mode 100644 index 00000000..60d33da1 --- /dev/null +++ b/testFoundry/GatewayZEVM.t.sol @@ -0,0 +1,155 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import "forge-std/Test.sol"; +import "forge-std/Vm.sol"; + +import "contracts/prototypes/zevm/GatewayZEVM.sol"; +import "contracts/zevm/ZRC20New.sol"; +import "contracts/zevm/SystemContract.sol"; +import "contracts/zevm/interfaces/IZRC20.sol"; +import "contracts/prototypes/zevm/TestZContract.sol"; +import "contracts/prototypes/zevm/interfaces.sol"; +import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol"; +import {Upgrades} from "openzeppelin-foundry-upgrades/LegacyUpgrades.sol"; + +contract GatewayZEVMInboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors { + address proxy; + GatewayZEVM gateway; + ZRC20New zrc20; + SystemContract systemContract; + TestZContract testZContract; + address owner; + address addr1; + + function setUp() public { + owner = address(this); + addr1 = address(0x1234); + + proxy = address(new ERC1967Proxy( + address(new GatewayZEVM()), + abi.encodeWithSelector(GatewayZEVM.initialize.selector, "") + )); + gateway = GatewayZEVM(proxy); + testZContract = new TestZContract(); + + vm.startPrank(gateway.FUNGIBLE_MODULE_ADDRESS()); + systemContract = new SystemContract(address(0), address(0), address(0)); + zrc20 = new ZRC20New("TOKEN", "TKN", 18, 1, CoinType.Gas, 0, address(systemContract), address(gateway)); + systemContract.setGasCoinZRC20(1, address(zrc20)); + systemContract.setGasPrice(1, 1); + + vm.deal(gateway.FUNGIBLE_MODULE_ADDRESS(), 1000000000); + zrc20.deposit(owner, 100000); + vm.stopPrank(); + + vm.prank(owner); + zrc20.approve(address(gateway), 100000); + } + + function testWithdrawZRC20() public { + uint256 ownerBalanceBefore = zrc20.balanceOf(owner); + + vm.expectEmit(true, true, true, true, address(gateway)); + emit Withdrawal(owner, abi.encodePacked(addr1), 1, 0, zrc20.PROTOCOL_FLAT_FEE(), ""); + gateway.withdraw(abi.encodePacked(addr1), 1, address(zrc20)); + + uint256 ownerBalanceAfter = zrc20.balanceOf(owner); + assertEq(ownerBalanceBefore - 1, ownerBalanceAfter); + } + + function testWithdrawZRC20WithMessage() public { + uint256 ownerBalanceBefore = zrc20.balanceOf(owner); + + bytes memory message = abi.encodeWithSignature("hello(address)", addr1); + vm.expectEmit(true, true, true, true, address(gateway)); + emit Withdrawal(owner, abi.encodePacked(addr1), 1, 0, zrc20.PROTOCOL_FLAT_FEE(), message); + gateway.withdrawAndCall(abi.encodePacked(addr1), 1, address(zrc20), message); + + uint256 ownerBalanceAfter = zrc20.balanceOf(owner); + assertEq(ownerBalanceBefore - 1, ownerBalanceAfter); + } + + function testCall() public { + bytes memory message = abi.encodeWithSignature("hello(address)", addr1); + vm.expectEmit(true, true, true, true, address(gateway)); + emit Call(owner, abi.encodePacked(addr1), message); + gateway.call(abi.encodePacked(addr1), message); + } +} + +contract GatewayZEVMOutboundTest is Test, IGatewayZEVMEvents, IGatewayZEVMErrors { + GatewayZEVM gateway; + ZRC20New zrc20; + SystemContract systemContract; + TestZContract testZContract; + address owner; + address addr1; + event ContextData(bytes origin, address sender, uint256 chainID, address msgSender, string message); + + function setUp() public { + owner = address(this); + addr1 = address(0x1234); + + gateway = new GatewayZEVM(); + testZContract = new TestZContract(); + + vm.startPrank(gateway.FUNGIBLE_MODULE_ADDRESS()); + systemContract = new SystemContract(address(0), address(0), address(0)); + zrc20 = new ZRC20New("TOKEN", "TKN", 18, 1, CoinType.Gas, 0, address(systemContract), address(gateway)); + systemContract.setGasCoinZRC20(1, address(zrc20)); + systemContract.setGasPrice(1, 1); + + vm.deal(gateway.FUNGIBLE_MODULE_ADDRESS(), 1000000000); + zrc20.deposit(owner, 100000); + vm.stopPrank(); + + vm.prank(owner); + zrc20.approve(address(gateway), 100000); + } + + function testDeposit() public { + uint256 balanceBefore = zrc20.balanceOf(addr1); + assertEq(0, balanceBefore); + + vm.prank(gateway.FUNGIBLE_MODULE_ADDRESS()); + gateway.deposit(address(zrc20), 1, addr1); + + uint256 balanceAfter = zrc20.balanceOf(addr1); + assertEq(1, balanceAfter); + } + + function testExecuteZContract() public { + bytes memory message = abi.encode("hello"); + zContext memory context = zContext({ + origin: abi.encodePacked(address(gateway)), + sender: gateway.FUNGIBLE_MODULE_ADDRESS(), + chainID: 1 + }); + + vm.expectEmit(true, true, true, true, address(testZContract)); + emit ContextData(abi.encodePacked(gateway), gateway.FUNGIBLE_MODULE_ADDRESS(), 1, address(gateway), "hello"); + vm.prank(gateway.FUNGIBLE_MODULE_ADDRESS()); + gateway.execute(context, address(zrc20), 1, address(testZContract), message); + } + + function testDepositAndCallZContract() public { + uint256 balanceBefore = zrc20.balanceOf(address(testZContract)); + assertEq(0, balanceBefore); + + bytes memory message = abi.encode("hello"); + zContext memory context = zContext({ + origin: abi.encodePacked(address(gateway)), + sender: gateway.FUNGIBLE_MODULE_ADDRESS(), + chainID: 1 + }); + + vm.expectEmit(true, true, true, true, address(testZContract)); + emit ContextData(abi.encodePacked(gateway), gateway.FUNGIBLE_MODULE_ADDRESS(), 1, address(gateway), "hello"); + vm.prank(gateway.FUNGIBLE_MODULE_ADDRESS()); + gateway.depositAndCall(context, address(zrc20), 1, address(testZContract), message); + + uint256 balanceAfter = zrc20.balanceOf(address(testZContract)); + assertEq(1, balanceAfter); + } +} \ No newline at end of file diff --git a/typechain-types/contracts/prototypes/index.ts b/typechain-types/contracts/prototypes/index.ts index 31789b58..9efb820b 100644 --- a/typechain-types/contracts/prototypes/index.ts +++ b/typechain-types/contracts/prototypes/index.ts @@ -3,7 +3,5 @@ /* eslint-disable */ import type * as evm from "./evm"; export type { evm }; -import type * as test from "./test"; -export type { test }; import type * as zevm from "./zevm"; export type { zevm }; diff --git a/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest.ts b/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest.ts new file mode 100644 index 00000000..931a9fba --- /dev/null +++ b/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest.ts @@ -0,0 +1,1257 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export declare namespace StdInvariant { + export type FuzzSelectorStruct = { + addr: PromiseOrValue; + selectors: PromiseOrValue[]; + }; + + export type FuzzSelectorStructOutput = [string, string[]] & { + addr: string; + selectors: string[]; + }; + + export type FuzzArtifactSelectorStruct = { + artifact: PromiseOrValue; + selectors: PromiseOrValue[]; + }; + + export type FuzzArtifactSelectorStructOutput = [string, string[]] & { + artifact: string; + selectors: string[]; + }; + + export type FuzzInterfaceStruct = { + addr: PromiseOrValue; + artifacts: PromiseOrValue[]; + }; + + export type FuzzInterfaceStructOutput = [string, string[]] & { + addr: string; + artifacts: string[]; + }; +} + +export interface GatewayEVMInboundTestInterface extends utils.Interface { + functions: { + "IS_TEST()": FunctionFragment; + "excludeArtifacts()": FunctionFragment; + "excludeContracts()": FunctionFragment; + "excludeSelectors()": FunctionFragment; + "excludeSenders()": FunctionFragment; + "failed()": FunctionFragment; + "setUp()": FunctionFragment; + "targetArtifactSelectors()": FunctionFragment; + "targetArtifacts()": FunctionFragment; + "targetContracts()": FunctionFragment; + "targetInterfaces()": FunctionFragment; + "targetSelectors()": FunctionFragment; + "targetSenders()": FunctionFragment; + "testCallWithPayload()": FunctionFragment; + "testDepositERC20ToCustody()": FunctionFragment; + "testDepositERC20ToCustodyWithPayload()": FunctionFragment; + "testDepositEthToTss()": FunctionFragment; + "testDepositEthToTssWithPayload()": FunctionFragment; + "testFailDepositERC20ToCustodyIfAmountIs0()": FunctionFragment; + "testFailDepositERC20ToCustodyWithPayloadIfAmountIs0()": FunctionFragment; + "testFailDepositEthToTssIfAmountIs0()": FunctionFragment; + "testFailDepositEthToTssWithPayloadIfAmountIs0()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "IS_TEST" + | "excludeArtifacts" + | "excludeContracts" + | "excludeSelectors" + | "excludeSenders" + | "failed" + | "setUp" + | "targetArtifactSelectors" + | "targetArtifacts" + | "targetContracts" + | "targetInterfaces" + | "targetSelectors" + | "targetSenders" + | "testCallWithPayload" + | "testDepositERC20ToCustody" + | "testDepositERC20ToCustodyWithPayload" + | "testDepositEthToTss" + | "testDepositEthToTssWithPayload" + | "testFailDepositERC20ToCustodyIfAmountIs0" + | "testFailDepositERC20ToCustodyWithPayloadIfAmountIs0" + | "testFailDepositEthToTssIfAmountIs0" + | "testFailDepositEthToTssWithPayloadIfAmountIs0" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "IS_TEST", values?: undefined): string; + encodeFunctionData( + functionFragment: "excludeArtifacts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeContracts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeSenders", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "failed", values?: undefined): string; + encodeFunctionData(functionFragment: "setUp", values?: undefined): string; + encodeFunctionData( + functionFragment: "targetArtifactSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetArtifacts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetContracts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetInterfaces", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetSenders", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testCallWithPayload", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testDepositERC20ToCustody", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testDepositERC20ToCustodyWithPayload", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testDepositEthToTss", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testDepositEthToTssWithPayload", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testFailDepositERC20ToCustodyIfAmountIs0", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testFailDepositERC20ToCustodyWithPayloadIfAmountIs0", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testFailDepositEthToTssIfAmountIs0", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testFailDepositEthToTssWithPayloadIfAmountIs0", + values?: undefined + ): string; + + decodeFunctionResult(functionFragment: "IS_TEST", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "excludeArtifacts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeContracts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeSenders", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "failed", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUp", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "targetArtifactSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetArtifacts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetContracts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetInterfaces", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetSenders", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testCallWithPayload", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testDepositERC20ToCustody", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testDepositERC20ToCustodyWithPayload", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testDepositEthToTss", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testDepositEthToTssWithPayload", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testFailDepositERC20ToCustodyIfAmountIs0", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testFailDepositERC20ToCustodyWithPayloadIfAmountIs0", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testFailDepositEthToTssIfAmountIs0", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testFailDepositEthToTssWithPayloadIfAmountIs0", + data: BytesLike + ): Result; + + events: { + "Call(address,address,bytes)": EventFragment; + "Deposit(address,address,uint256,address,bytes)": EventFragment; + "Executed(address,uint256,bytes)": EventFragment; + "ExecutedWithERC20(address,address,uint256,bytes)": EventFragment; + "ReceivedERC20(address,uint256,address,address)": EventFragment; + "ReceivedNoParams(address)": EventFragment; + "ReceivedNonPayable(address,string[],uint256[],bool)": EventFragment; + "ReceivedPayable(address,uint256,string,uint256,bool)": EventFragment; + "log(string)": EventFragment; + "log_address(address)": EventFragment; + "log_array(uint256[])": EventFragment; + "log_array(int256[])": EventFragment; + "log_array(address[])": EventFragment; + "log_bytes(bytes)": EventFragment; + "log_bytes32(bytes32)": EventFragment; + "log_int(int256)": EventFragment; + "log_named_address(string,address)": EventFragment; + "log_named_array(string,uint256[])": EventFragment; + "log_named_array(string,int256[])": EventFragment; + "log_named_array(string,address[])": EventFragment; + "log_named_bytes(string,bytes)": EventFragment; + "log_named_bytes32(string,bytes32)": EventFragment; + "log_named_decimal_int(string,int256,uint256)": EventFragment; + "log_named_decimal_uint(string,uint256,uint256)": EventFragment; + "log_named_int(string,int256)": EventFragment; + "log_named_string(string,string)": EventFragment; + "log_named_uint(string,uint256)": EventFragment; + "log_string(string)": EventFragment; + "log_uint(uint256)": EventFragment; + "logs(bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Call"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Executed"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ExecutedWithERC20"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ReceivedERC20"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ReceivedNoParams"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ReceivedNonPayable"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ReceivedPayable"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_address"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(uint256[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(int256[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(address[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_bytes"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_bytes32"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_address"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,uint256[])" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,int256[])" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,address[])" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_bytes"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_bytes32"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_decimal_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_decimal_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_string"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_string"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "logs"): EventFragment; +} + +export interface CallEventObject { + sender: string; + receiver: string; + payload: string; +} +export type CallEvent = TypedEvent<[string, string, string], CallEventObject>; + +export type CallEventFilter = TypedEventFilter; + +export interface DepositEventObject { + sender: string; + receiver: string; + amount: BigNumber; + asset: string; + payload: string; +} +export type DepositEvent = TypedEvent< + [string, string, BigNumber, string, string], + DepositEventObject +>; + +export type DepositEventFilter = TypedEventFilter; + +export interface ExecutedEventObject { + destination: string; + value: BigNumber; + data: string; +} +export type ExecutedEvent = TypedEvent< + [string, BigNumber, string], + ExecutedEventObject +>; + +export type ExecutedEventFilter = TypedEventFilter; + +export interface ExecutedWithERC20EventObject { + token: string; + to: string; + amount: BigNumber; + data: string; +} +export type ExecutedWithERC20Event = TypedEvent< + [string, string, BigNumber, string], + ExecutedWithERC20EventObject +>; + +export type ExecutedWithERC20EventFilter = + TypedEventFilter; + +export interface ReceivedERC20EventObject { + sender: string; + amount: BigNumber; + token: string; + destination: string; +} +export type ReceivedERC20Event = TypedEvent< + [string, BigNumber, string, string], + ReceivedERC20EventObject +>; + +export type ReceivedERC20EventFilter = TypedEventFilter; + +export interface ReceivedNoParamsEventObject { + sender: string; +} +export type ReceivedNoParamsEvent = TypedEvent< + [string], + ReceivedNoParamsEventObject +>; + +export type ReceivedNoParamsEventFilter = + TypedEventFilter; + +export interface ReceivedNonPayableEventObject { + sender: string; + strs: string[]; + nums: BigNumber[]; + flag: boolean; +} +export type ReceivedNonPayableEvent = TypedEvent< + [string, string[], BigNumber[], boolean], + ReceivedNonPayableEventObject +>; + +export type ReceivedNonPayableEventFilter = + TypedEventFilter; + +export interface ReceivedPayableEventObject { + sender: string; + value: BigNumber; + str: string; + num: BigNumber; + flag: boolean; +} +export type ReceivedPayableEvent = TypedEvent< + [string, BigNumber, string, BigNumber, boolean], + ReceivedPayableEventObject +>; + +export type ReceivedPayableEventFilter = TypedEventFilter; + +export interface logEventObject { + arg0: string; +} +export type logEvent = TypedEvent<[string], logEventObject>; + +export type logEventFilter = TypedEventFilter; + +export interface log_addressEventObject { + arg0: string; +} +export type log_addressEvent = TypedEvent<[string], log_addressEventObject>; + +export type log_addressEventFilter = TypedEventFilter; + +export interface log_array_uint256_array_EventObject { + val: BigNumber[]; +} +export type log_array_uint256_array_Event = TypedEvent< + [BigNumber[]], + log_array_uint256_array_EventObject +>; + +export type log_array_uint256_array_EventFilter = + TypedEventFilter; + +export interface log_array_int256_array_EventObject { + val: BigNumber[]; +} +export type log_array_int256_array_Event = TypedEvent< + [BigNumber[]], + log_array_int256_array_EventObject +>; + +export type log_array_int256_array_EventFilter = + TypedEventFilter; + +export interface log_array_address_array_EventObject { + val: string[]; +} +export type log_array_address_array_Event = TypedEvent< + [string[]], + log_array_address_array_EventObject +>; + +export type log_array_address_array_EventFilter = + TypedEventFilter; + +export interface log_bytesEventObject { + arg0: string; +} +export type log_bytesEvent = TypedEvent<[string], log_bytesEventObject>; + +export type log_bytesEventFilter = TypedEventFilter; + +export interface log_bytes32EventObject { + arg0: string; +} +export type log_bytes32Event = TypedEvent<[string], log_bytes32EventObject>; + +export type log_bytes32EventFilter = TypedEventFilter; + +export interface log_intEventObject { + arg0: BigNumber; +} +export type log_intEvent = TypedEvent<[BigNumber], log_intEventObject>; + +export type log_intEventFilter = TypedEventFilter; + +export interface log_named_addressEventObject { + key: string; + val: string; +} +export type log_named_addressEvent = TypedEvent< + [string, string], + log_named_addressEventObject +>; + +export type log_named_addressEventFilter = + TypedEventFilter; + +export interface log_named_array_string_uint256_array_EventObject { + key: string; + val: BigNumber[]; +} +export type log_named_array_string_uint256_array_Event = TypedEvent< + [string, BigNumber[]], + log_named_array_string_uint256_array_EventObject +>; + +export type log_named_array_string_uint256_array_EventFilter = + TypedEventFilter; + +export interface log_named_array_string_int256_array_EventObject { + key: string; + val: BigNumber[]; +} +export type log_named_array_string_int256_array_Event = TypedEvent< + [string, BigNumber[]], + log_named_array_string_int256_array_EventObject +>; + +export type log_named_array_string_int256_array_EventFilter = + TypedEventFilter; + +export interface log_named_array_string_address_array_EventObject { + key: string; + val: string[]; +} +export type log_named_array_string_address_array_Event = TypedEvent< + [string, string[]], + log_named_array_string_address_array_EventObject +>; + +export type log_named_array_string_address_array_EventFilter = + TypedEventFilter; + +export interface log_named_bytesEventObject { + key: string; + val: string; +} +export type log_named_bytesEvent = TypedEvent< + [string, string], + log_named_bytesEventObject +>; + +export type log_named_bytesEventFilter = TypedEventFilter; + +export interface log_named_bytes32EventObject { + key: string; + val: string; +} +export type log_named_bytes32Event = TypedEvent< + [string, string], + log_named_bytes32EventObject +>; + +export type log_named_bytes32EventFilter = + TypedEventFilter; + +export interface log_named_decimal_intEventObject { + key: string; + val: BigNumber; + decimals: BigNumber; +} +export type log_named_decimal_intEvent = TypedEvent< + [string, BigNumber, BigNumber], + log_named_decimal_intEventObject +>; + +export type log_named_decimal_intEventFilter = + TypedEventFilter; + +export interface log_named_decimal_uintEventObject { + key: string; + val: BigNumber; + decimals: BigNumber; +} +export type log_named_decimal_uintEvent = TypedEvent< + [string, BigNumber, BigNumber], + log_named_decimal_uintEventObject +>; + +export type log_named_decimal_uintEventFilter = + TypedEventFilter; + +export interface log_named_intEventObject { + key: string; + val: BigNumber; +} +export type log_named_intEvent = TypedEvent< + [string, BigNumber], + log_named_intEventObject +>; + +export type log_named_intEventFilter = TypedEventFilter; + +export interface log_named_stringEventObject { + key: string; + val: string; +} +export type log_named_stringEvent = TypedEvent< + [string, string], + log_named_stringEventObject +>; + +export type log_named_stringEventFilter = + TypedEventFilter; + +export interface log_named_uintEventObject { + key: string; + val: BigNumber; +} +export type log_named_uintEvent = TypedEvent< + [string, BigNumber], + log_named_uintEventObject +>; + +export type log_named_uintEventFilter = TypedEventFilter; + +export interface log_stringEventObject { + arg0: string; +} +export type log_stringEvent = TypedEvent<[string], log_stringEventObject>; + +export type log_stringEventFilter = TypedEventFilter; + +export interface log_uintEventObject { + arg0: BigNumber; +} +export type log_uintEvent = TypedEvent<[BigNumber], log_uintEventObject>; + +export type log_uintEventFilter = TypedEventFilter; + +export interface logsEventObject { + arg0: string; +} +export type logsEvent = TypedEvent<[string], logsEventObject>; + +export type logsEventFilter = TypedEventFilter; + +export interface GatewayEVMInboundTest extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GatewayEVMInboundTestInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + IS_TEST(overrides?: CallOverrides): Promise<[boolean]>; + + excludeArtifacts( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedArtifacts_: string[] }>; + + excludeContracts( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedContracts_: string[] }>; + + excludeSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzSelectorStructOutput[]] & { + excludedSelectors_: StdInvariant.FuzzSelectorStructOutput[]; + } + >; + + excludeSenders( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedSenders_: string[] }>; + + failed(overrides?: CallOverrides): Promise<[boolean]>; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzArtifactSelectorStructOutput[]] & { + targetedArtifactSelectors_: StdInvariant.FuzzArtifactSelectorStructOutput[]; + } + >; + + targetArtifacts( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedArtifacts_: string[] }>; + + targetContracts( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedContracts_: string[] }>; + + targetInterfaces( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzInterfaceStructOutput[]] & { + targetedInterfaces_: StdInvariant.FuzzInterfaceStructOutput[]; + } + >; + + targetSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzSelectorStructOutput[]] & { + targetedSelectors_: StdInvariant.FuzzSelectorStructOutput[]; + } + >; + + targetSenders( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedSenders_: string[] }>; + + testCallWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustodyWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTss( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTssWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors( + overrides?: CallOverrides + ): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces( + overrides?: CallOverrides + ): Promise; + + targetSelectors( + overrides?: CallOverrides + ): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCallWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustodyWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTss( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTssWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors( + overrides?: CallOverrides + ): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp(overrides?: CallOverrides): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces( + overrides?: CallOverrides + ): Promise; + + targetSelectors( + overrides?: CallOverrides + ): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCallWithPayload(overrides?: CallOverrides): Promise; + + testDepositERC20ToCustody(overrides?: CallOverrides): Promise; + + testDepositERC20ToCustodyWithPayload( + overrides?: CallOverrides + ): Promise; + + testDepositEthToTss(overrides?: CallOverrides): Promise; + + testDepositEthToTssWithPayload(overrides?: CallOverrides): Promise; + + testFailDepositERC20ToCustodyIfAmountIs0( + overrides?: CallOverrides + ): Promise; + + testFailDepositERC20ToCustodyWithPayloadIfAmountIs0( + overrides?: CallOverrides + ): Promise; + + testFailDepositEthToTssIfAmountIs0( + overrides?: CallOverrides + ): Promise; + + testFailDepositEthToTssWithPayloadIfAmountIs0( + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "Call(address,address,bytes)"( + sender?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + payload?: null + ): CallEventFilter; + Call( + sender?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + payload?: null + ): CallEventFilter; + + "Deposit(address,address,uint256,address,bytes)"( + sender?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null, + asset?: null, + payload?: null + ): DepositEventFilter; + Deposit( + sender?: PromiseOrValue | null, + receiver?: PromiseOrValue | null, + amount?: null, + asset?: null, + payload?: null + ): DepositEventFilter; + + "Executed(address,uint256,bytes)"( + destination?: PromiseOrValue | null, + value?: null, + data?: null + ): ExecutedEventFilter; + Executed( + destination?: PromiseOrValue | null, + value?: null, + data?: null + ): ExecutedEventFilter; + + "ExecutedWithERC20(address,address,uint256,bytes)"( + token?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null, + data?: null + ): ExecutedWithERC20EventFilter; + ExecutedWithERC20( + token?: PromiseOrValue | null, + to?: PromiseOrValue | null, + amount?: null, + data?: null + ): ExecutedWithERC20EventFilter; + + "ReceivedERC20(address,uint256,address,address)"( + sender?: null, + amount?: null, + token?: null, + destination?: null + ): ReceivedERC20EventFilter; + ReceivedERC20( + sender?: null, + amount?: null, + token?: null, + destination?: null + ): ReceivedERC20EventFilter; + + "ReceivedNoParams(address)"(sender?: null): ReceivedNoParamsEventFilter; + ReceivedNoParams(sender?: null): ReceivedNoParamsEventFilter; + + "ReceivedNonPayable(address,string[],uint256[],bool)"( + sender?: null, + strs?: null, + nums?: null, + flag?: null + ): ReceivedNonPayableEventFilter; + ReceivedNonPayable( + sender?: null, + strs?: null, + nums?: null, + flag?: null + ): ReceivedNonPayableEventFilter; + + "ReceivedPayable(address,uint256,string,uint256,bool)"( + sender?: null, + value?: null, + str?: null, + num?: null, + flag?: null + ): ReceivedPayableEventFilter; + ReceivedPayable( + sender?: null, + value?: null, + str?: null, + num?: null, + flag?: null + ): ReceivedPayableEventFilter; + + "log(string)"(arg0?: null): logEventFilter; + log(arg0?: null): logEventFilter; + + "log_address(address)"(arg0?: null): log_addressEventFilter; + log_address(arg0?: null): log_addressEventFilter; + + "log_array(uint256[])"(val?: null): log_array_uint256_array_EventFilter; + "log_array(int256[])"(val?: null): log_array_int256_array_EventFilter; + "log_array(address[])"(val?: null): log_array_address_array_EventFilter; + + "log_bytes(bytes)"(arg0?: null): log_bytesEventFilter; + log_bytes(arg0?: null): log_bytesEventFilter; + + "log_bytes32(bytes32)"(arg0?: null): log_bytes32EventFilter; + log_bytes32(arg0?: null): log_bytes32EventFilter; + + "log_int(int256)"(arg0?: null): log_intEventFilter; + log_int(arg0?: null): log_intEventFilter; + + "log_named_address(string,address)"( + key?: null, + val?: null + ): log_named_addressEventFilter; + log_named_address(key?: null, val?: null): log_named_addressEventFilter; + + "log_named_array(string,uint256[])"( + key?: null, + val?: null + ): log_named_array_string_uint256_array_EventFilter; + "log_named_array(string,int256[])"( + key?: null, + val?: null + ): log_named_array_string_int256_array_EventFilter; + "log_named_array(string,address[])"( + key?: null, + val?: null + ): log_named_array_string_address_array_EventFilter; + + "log_named_bytes(string,bytes)"( + key?: null, + val?: null + ): log_named_bytesEventFilter; + log_named_bytes(key?: null, val?: null): log_named_bytesEventFilter; + + "log_named_bytes32(string,bytes32)"( + key?: null, + val?: null + ): log_named_bytes32EventFilter; + log_named_bytes32(key?: null, val?: null): log_named_bytes32EventFilter; + + "log_named_decimal_int(string,int256,uint256)"( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_intEventFilter; + log_named_decimal_int( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_intEventFilter; + + "log_named_decimal_uint(string,uint256,uint256)"( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_uintEventFilter; + log_named_decimal_uint( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_uintEventFilter; + + "log_named_int(string,int256)"( + key?: null, + val?: null + ): log_named_intEventFilter; + log_named_int(key?: null, val?: null): log_named_intEventFilter; + + "log_named_string(string,string)"( + key?: null, + val?: null + ): log_named_stringEventFilter; + log_named_string(key?: null, val?: null): log_named_stringEventFilter; + + "log_named_uint(string,uint256)"( + key?: null, + val?: null + ): log_named_uintEventFilter; + log_named_uint(key?: null, val?: null): log_named_uintEventFilter; + + "log_string(string)"(arg0?: null): log_stringEventFilter; + log_string(arg0?: null): log_stringEventFilter; + + "log_uint(uint256)"(arg0?: null): log_uintEventFilter; + log_uint(arg0?: null): log_uintEventFilter; + + "logs(bytes)"(arg0?: null): logsEventFilter; + logs(arg0?: null): logsEventFilter; + }; + + estimateGas: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors(overrides?: CallOverrides): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors(overrides?: CallOverrides): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces(overrides?: CallOverrides): Promise; + + targetSelectors(overrides?: CallOverrides): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCallWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustodyWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTss( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTssWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors(overrides?: CallOverrides): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces(overrides?: CallOverrides): Promise; + + targetSelectors(overrides?: CallOverrides): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCallWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositERC20ToCustodyWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTss( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositEthToTssWithPayload( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositERC20ToCustodyWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testFailDepositEthToTssWithPayloadIfAmountIs0( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest.ts b/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest.ts index 0572c60f..f9385fef 100644 --- a/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest.ts +++ b/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest.ts @@ -73,6 +73,10 @@ export interface GatewayEVMTestInterface extends utils.Interface { "targetInterfaces()": FunctionFragment; "targetSelectors()": FunctionFragment; "targetSenders()": FunctionFragment; + "testForwardCallToReceiveERC20ThroughCustody()": FunctionFragment; + "testForwardCallToReceiveNoParams()": FunctionFragment; + "testForwardCallToReceiveNoParamsThroughCustody()": FunctionFragment; + "testForwardCallToReceiveNonPayable()": FunctionFragment; "testForwardCallToReceivePayable()": FunctionFragment; }; @@ -91,6 +95,10 @@ export interface GatewayEVMTestInterface extends utils.Interface { | "targetInterfaces" | "targetSelectors" | "targetSenders" + | "testForwardCallToReceiveERC20ThroughCustody" + | "testForwardCallToReceiveNoParams" + | "testForwardCallToReceiveNoParamsThroughCustody" + | "testForwardCallToReceiveNonPayable" | "testForwardCallToReceivePayable" ): FunctionFragment; @@ -137,6 +145,22 @@ export interface GatewayEVMTestInterface extends utils.Interface { functionFragment: "targetSenders", values?: undefined ): string; + encodeFunctionData( + functionFragment: "testForwardCallToReceiveERC20ThroughCustody", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testForwardCallToReceiveNoParams", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testForwardCallToReceiveNoParamsThroughCustody", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testForwardCallToReceiveNonPayable", + values?: undefined + ): string; encodeFunctionData( functionFragment: "testForwardCallToReceivePayable", values?: undefined @@ -185,6 +209,22 @@ export interface GatewayEVMTestInterface extends utils.Interface { functionFragment: "targetSenders", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "testForwardCallToReceiveERC20ThroughCustody", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testForwardCallToReceiveNoParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testForwardCallToReceiveNoParamsThroughCustody", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testForwardCallToReceiveNonPayable", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "testForwardCallToReceivePayable", data: BytesLike @@ -673,6 +713,22 @@ export interface GatewayEVMTest extends BaseContract { overrides?: CallOverrides ): Promise<[string[]] & { targetedSenders_: string[] }>; + testForwardCallToReceiveERC20ThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParams( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParamsThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNonPayable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testForwardCallToReceivePayable( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -714,6 +770,22 @@ export interface GatewayEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testForwardCallToReceiveERC20ThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParams( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParamsThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNonPayable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testForwardCallToReceivePayable( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -753,6 +825,20 @@ export interface GatewayEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testForwardCallToReceiveERC20ThroughCustody( + overrides?: CallOverrides + ): Promise; + + testForwardCallToReceiveNoParams(overrides?: CallOverrides): Promise; + + testForwardCallToReceiveNoParamsThroughCustody( + overrides?: CallOverrides + ): Promise; + + testForwardCallToReceiveNonPayable( + overrides?: CallOverrides + ): Promise; + testForwardCallToReceivePayable(overrides?: CallOverrides): Promise; }; @@ -980,6 +1066,22 @@ export interface GatewayEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testForwardCallToReceiveERC20ThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParams( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParamsThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNonPayable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testForwardCallToReceivePayable( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1016,6 +1118,22 @@ export interface GatewayEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testForwardCallToReceiveERC20ThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParams( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNoParamsThroughCustody( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testForwardCallToReceiveNonPayable( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testForwardCallToReceivePayable( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/index.ts b/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/index.ts index 5c8fc539..0359fc63 100644 --- a/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/index.ts +++ b/typechain-types/contracts/prototypes/test/GatewayEVM.t.sol/index.ts @@ -1,4 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ +export type { GatewayEVMInboundTest } from "./GatewayEVMInboundTest"; export type { GatewayEVMTest } from "./GatewayEVMTest"; diff --git a/typechain-types/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest.ts b/typechain-types/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest.ts index a887755e..e63351f3 100644 --- a/typechain-types/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest.ts +++ b/typechain-types/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest.ts @@ -73,7 +73,10 @@ export interface GatewayEVMZEVMTestInterface extends utils.Interface { "targetInterfaces()": FunctionFragment; "targetSelectors()": FunctionFragment; "targetSenders()": FunctionFragment; + "testCallReceiverEVMFromSenderZEVM()": FunctionFragment; "testCallReceiverEVMFromZEVM()": FunctionFragment; + "testWithdrawAndCallReceiverEVMFromSenderZEVM()": FunctionFragment; + "testWithdrawAndCallReceiverEVMFromZEVM()": FunctionFragment; }; getFunction( @@ -91,7 +94,10 @@ export interface GatewayEVMZEVMTestInterface extends utils.Interface { | "targetInterfaces" | "targetSelectors" | "targetSenders" + | "testCallReceiverEVMFromSenderZEVM" | "testCallReceiverEVMFromZEVM" + | "testWithdrawAndCallReceiverEVMFromSenderZEVM" + | "testWithdrawAndCallReceiverEVMFromZEVM" ): FunctionFragment; encodeFunctionData(functionFragment: "IS_TEST", values?: undefined): string; @@ -137,10 +143,22 @@ export interface GatewayEVMZEVMTestInterface extends utils.Interface { functionFragment: "targetSenders", values?: undefined ): string; + encodeFunctionData( + functionFragment: "testCallReceiverEVMFromSenderZEVM", + values?: undefined + ): string; encodeFunctionData( functionFragment: "testCallReceiverEVMFromZEVM", values?: undefined ): string; + encodeFunctionData( + functionFragment: "testWithdrawAndCallReceiverEVMFromSenderZEVM", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testWithdrawAndCallReceiverEVMFromZEVM", + values?: undefined + ): string; decodeFunctionResult(functionFragment: "IS_TEST", data: BytesLike): Result; decodeFunctionResult( @@ -185,10 +203,22 @@ export interface GatewayEVMZEVMTestInterface extends utils.Interface { functionFragment: "targetSenders", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "testCallReceiverEVMFromSenderZEVM", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "testCallReceiverEVMFromZEVM", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "testWithdrawAndCallReceiverEVMFromSenderZEVM", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testWithdrawAndCallReceiverEVMFromZEVM", + data: BytesLike + ): Result; events: { "Call(address,bytes,bytes)": EventFragment; @@ -711,9 +741,21 @@ export interface GatewayEVMZEVMTest extends BaseContract { overrides?: CallOverrides ): Promise<[string[]] & { targetedSenders_: string[] }>; + testCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testCallReceiverEVMFromZEVM( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + + testWithdrawAndCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawAndCallReceiverEVMFromZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; }; IS_TEST(overrides?: CallOverrides): Promise; @@ -752,10 +794,22 @@ export interface GatewayEVMZEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testCallReceiverEVMFromZEVM( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + testWithdrawAndCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawAndCallReceiverEVMFromZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + callStatic: { IS_TEST(overrides?: CallOverrides): Promise; @@ -791,7 +845,17 @@ export interface GatewayEVMZEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testCallReceiverEVMFromSenderZEVM(overrides?: CallOverrides): Promise; + testCallReceiverEVMFromZEVM(overrides?: CallOverrides): Promise; + + testWithdrawAndCallReceiverEVMFromSenderZEVM( + overrides?: CallOverrides + ): Promise; + + testWithdrawAndCallReceiverEVMFromZEVM( + overrides?: CallOverrides + ): Promise; }; filters: { @@ -1035,9 +1099,21 @@ export interface GatewayEVMZEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testCallReceiverEVMFromZEVM( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + + testWithdrawAndCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawAndCallReceiverEVMFromZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; }; populateTransaction: { @@ -1071,8 +1147,20 @@ export interface GatewayEVMZEVMTest extends BaseContract { targetSenders(overrides?: CallOverrides): Promise; + testCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + testCallReceiverEVMFromZEVM( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + + testWithdrawAndCallReceiverEVMFromSenderZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawAndCallReceiverEVMFromZEVM( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; }; } diff --git a/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest.ts b/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest.ts new file mode 100644 index 00000000..ab4a8e54 --- /dev/null +++ b/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest.ts @@ -0,0 +1,918 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export declare namespace StdInvariant { + export type FuzzSelectorStruct = { + addr: PromiseOrValue; + selectors: PromiseOrValue[]; + }; + + export type FuzzSelectorStructOutput = [string, string[]] & { + addr: string; + selectors: string[]; + }; + + export type FuzzArtifactSelectorStruct = { + artifact: PromiseOrValue; + selectors: PromiseOrValue[]; + }; + + export type FuzzArtifactSelectorStructOutput = [string, string[]] & { + artifact: string; + selectors: string[]; + }; + + export type FuzzInterfaceStruct = { + addr: PromiseOrValue; + artifacts: PromiseOrValue[]; + }; + + export type FuzzInterfaceStructOutput = [string, string[]] & { + addr: string; + artifacts: string[]; + }; +} + +export interface GatewayZEVMInboundTestInterface extends utils.Interface { + functions: { + "IS_TEST()": FunctionFragment; + "excludeArtifacts()": FunctionFragment; + "excludeContracts()": FunctionFragment; + "excludeSelectors()": FunctionFragment; + "excludeSenders()": FunctionFragment; + "failed()": FunctionFragment; + "setUp()": FunctionFragment; + "targetArtifactSelectors()": FunctionFragment; + "targetArtifacts()": FunctionFragment; + "targetContracts()": FunctionFragment; + "targetInterfaces()": FunctionFragment; + "targetSelectors()": FunctionFragment; + "targetSenders()": FunctionFragment; + "testCall()": FunctionFragment; + "testWithdrawZRC20()": FunctionFragment; + "testWithdrawZRC20WithMessage()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "IS_TEST" + | "excludeArtifacts" + | "excludeContracts" + | "excludeSelectors" + | "excludeSenders" + | "failed" + | "setUp" + | "targetArtifactSelectors" + | "targetArtifacts" + | "targetContracts" + | "targetInterfaces" + | "targetSelectors" + | "targetSenders" + | "testCall" + | "testWithdrawZRC20" + | "testWithdrawZRC20WithMessage" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "IS_TEST", values?: undefined): string; + encodeFunctionData( + functionFragment: "excludeArtifacts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeContracts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeSenders", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "failed", values?: undefined): string; + encodeFunctionData(functionFragment: "setUp", values?: undefined): string; + encodeFunctionData( + functionFragment: "targetArtifactSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetArtifacts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetContracts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetInterfaces", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetSenders", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "testCall", values?: undefined): string; + encodeFunctionData( + functionFragment: "testWithdrawZRC20", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testWithdrawZRC20WithMessage", + values?: undefined + ): string; + + decodeFunctionResult(functionFragment: "IS_TEST", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "excludeArtifacts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeContracts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeSenders", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "failed", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUp", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "targetArtifactSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetArtifacts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetContracts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetInterfaces", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetSenders", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "testCall", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "testWithdrawZRC20", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testWithdrawZRC20WithMessage", + data: BytesLike + ): Result; + + events: { + "Call(address,bytes,bytes)": EventFragment; + "Withdrawal(address,bytes,uint256,uint256,uint256,bytes)": EventFragment; + "log(string)": EventFragment; + "log_address(address)": EventFragment; + "log_array(uint256[])": EventFragment; + "log_array(int256[])": EventFragment; + "log_array(address[])": EventFragment; + "log_bytes(bytes)": EventFragment; + "log_bytes32(bytes32)": EventFragment; + "log_int(int256)": EventFragment; + "log_named_address(string,address)": EventFragment; + "log_named_array(string,uint256[])": EventFragment; + "log_named_array(string,int256[])": EventFragment; + "log_named_array(string,address[])": EventFragment; + "log_named_bytes(string,bytes)": EventFragment; + "log_named_bytes32(string,bytes32)": EventFragment; + "log_named_decimal_int(string,int256,uint256)": EventFragment; + "log_named_decimal_uint(string,uint256,uint256)": EventFragment; + "log_named_int(string,int256)": EventFragment; + "log_named_string(string,string)": EventFragment; + "log_named_uint(string,uint256)": EventFragment; + "log_string(string)": EventFragment; + "log_uint(uint256)": EventFragment; + "logs(bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Call"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Withdrawal"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_address"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(uint256[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(int256[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(address[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_bytes"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_bytes32"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_address"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,uint256[])" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,int256[])" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,address[])" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_bytes"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_bytes32"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_decimal_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_decimal_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_string"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_string"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "logs"): EventFragment; +} + +export interface CallEventObject { + sender: string; + receiver: string; + message: string; +} +export type CallEvent = TypedEvent<[string, string, string], CallEventObject>; + +export type CallEventFilter = TypedEventFilter; + +export interface WithdrawalEventObject { + from: string; + to: string; + value: BigNumber; + gasfee: BigNumber; + protocolFlatFee: BigNumber; + message: string; +} +export type WithdrawalEvent = TypedEvent< + [string, string, BigNumber, BigNumber, BigNumber, string], + WithdrawalEventObject +>; + +export type WithdrawalEventFilter = TypedEventFilter; + +export interface logEventObject { + arg0: string; +} +export type logEvent = TypedEvent<[string], logEventObject>; + +export type logEventFilter = TypedEventFilter; + +export interface log_addressEventObject { + arg0: string; +} +export type log_addressEvent = TypedEvent<[string], log_addressEventObject>; + +export type log_addressEventFilter = TypedEventFilter; + +export interface log_array_uint256_array_EventObject { + val: BigNumber[]; +} +export type log_array_uint256_array_Event = TypedEvent< + [BigNumber[]], + log_array_uint256_array_EventObject +>; + +export type log_array_uint256_array_EventFilter = + TypedEventFilter; + +export interface log_array_int256_array_EventObject { + val: BigNumber[]; +} +export type log_array_int256_array_Event = TypedEvent< + [BigNumber[]], + log_array_int256_array_EventObject +>; + +export type log_array_int256_array_EventFilter = + TypedEventFilter; + +export interface log_array_address_array_EventObject { + val: string[]; +} +export type log_array_address_array_Event = TypedEvent< + [string[]], + log_array_address_array_EventObject +>; + +export type log_array_address_array_EventFilter = + TypedEventFilter; + +export interface log_bytesEventObject { + arg0: string; +} +export type log_bytesEvent = TypedEvent<[string], log_bytesEventObject>; + +export type log_bytesEventFilter = TypedEventFilter; + +export interface log_bytes32EventObject { + arg0: string; +} +export type log_bytes32Event = TypedEvent<[string], log_bytes32EventObject>; + +export type log_bytes32EventFilter = TypedEventFilter; + +export interface log_intEventObject { + arg0: BigNumber; +} +export type log_intEvent = TypedEvent<[BigNumber], log_intEventObject>; + +export type log_intEventFilter = TypedEventFilter; + +export interface log_named_addressEventObject { + key: string; + val: string; +} +export type log_named_addressEvent = TypedEvent< + [string, string], + log_named_addressEventObject +>; + +export type log_named_addressEventFilter = + TypedEventFilter; + +export interface log_named_array_string_uint256_array_EventObject { + key: string; + val: BigNumber[]; +} +export type log_named_array_string_uint256_array_Event = TypedEvent< + [string, BigNumber[]], + log_named_array_string_uint256_array_EventObject +>; + +export type log_named_array_string_uint256_array_EventFilter = + TypedEventFilter; + +export interface log_named_array_string_int256_array_EventObject { + key: string; + val: BigNumber[]; +} +export type log_named_array_string_int256_array_Event = TypedEvent< + [string, BigNumber[]], + log_named_array_string_int256_array_EventObject +>; + +export type log_named_array_string_int256_array_EventFilter = + TypedEventFilter; + +export interface log_named_array_string_address_array_EventObject { + key: string; + val: string[]; +} +export type log_named_array_string_address_array_Event = TypedEvent< + [string, string[]], + log_named_array_string_address_array_EventObject +>; + +export type log_named_array_string_address_array_EventFilter = + TypedEventFilter; + +export interface log_named_bytesEventObject { + key: string; + val: string; +} +export type log_named_bytesEvent = TypedEvent< + [string, string], + log_named_bytesEventObject +>; + +export type log_named_bytesEventFilter = TypedEventFilter; + +export interface log_named_bytes32EventObject { + key: string; + val: string; +} +export type log_named_bytes32Event = TypedEvent< + [string, string], + log_named_bytes32EventObject +>; + +export type log_named_bytes32EventFilter = + TypedEventFilter; + +export interface log_named_decimal_intEventObject { + key: string; + val: BigNumber; + decimals: BigNumber; +} +export type log_named_decimal_intEvent = TypedEvent< + [string, BigNumber, BigNumber], + log_named_decimal_intEventObject +>; + +export type log_named_decimal_intEventFilter = + TypedEventFilter; + +export interface log_named_decimal_uintEventObject { + key: string; + val: BigNumber; + decimals: BigNumber; +} +export type log_named_decimal_uintEvent = TypedEvent< + [string, BigNumber, BigNumber], + log_named_decimal_uintEventObject +>; + +export type log_named_decimal_uintEventFilter = + TypedEventFilter; + +export interface log_named_intEventObject { + key: string; + val: BigNumber; +} +export type log_named_intEvent = TypedEvent< + [string, BigNumber], + log_named_intEventObject +>; + +export type log_named_intEventFilter = TypedEventFilter; + +export interface log_named_stringEventObject { + key: string; + val: string; +} +export type log_named_stringEvent = TypedEvent< + [string, string], + log_named_stringEventObject +>; + +export type log_named_stringEventFilter = + TypedEventFilter; + +export interface log_named_uintEventObject { + key: string; + val: BigNumber; +} +export type log_named_uintEvent = TypedEvent< + [string, BigNumber], + log_named_uintEventObject +>; + +export type log_named_uintEventFilter = TypedEventFilter; + +export interface log_stringEventObject { + arg0: string; +} +export type log_stringEvent = TypedEvent<[string], log_stringEventObject>; + +export type log_stringEventFilter = TypedEventFilter; + +export interface log_uintEventObject { + arg0: BigNumber; +} +export type log_uintEvent = TypedEvent<[BigNumber], log_uintEventObject>; + +export type log_uintEventFilter = TypedEventFilter; + +export interface logsEventObject { + arg0: string; +} +export type logsEvent = TypedEvent<[string], logsEventObject>; + +export type logsEventFilter = TypedEventFilter; + +export interface GatewayZEVMInboundTest extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GatewayZEVMInboundTestInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + IS_TEST(overrides?: CallOverrides): Promise<[boolean]>; + + excludeArtifacts( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedArtifacts_: string[] }>; + + excludeContracts( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedContracts_: string[] }>; + + excludeSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzSelectorStructOutput[]] & { + excludedSelectors_: StdInvariant.FuzzSelectorStructOutput[]; + } + >; + + excludeSenders( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedSenders_: string[] }>; + + failed(overrides?: CallOverrides): Promise<[boolean]>; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzArtifactSelectorStructOutput[]] & { + targetedArtifactSelectors_: StdInvariant.FuzzArtifactSelectorStructOutput[]; + } + >; + + targetArtifacts( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedArtifacts_: string[] }>; + + targetContracts( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedContracts_: string[] }>; + + targetInterfaces( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzInterfaceStructOutput[]] & { + targetedInterfaces_: StdInvariant.FuzzInterfaceStructOutput[]; + } + >; + + targetSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzSelectorStructOutput[]] & { + targetedSelectors_: StdInvariant.FuzzSelectorStructOutput[]; + } + >; + + targetSenders( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedSenders_: string[] }>; + + testCall( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20WithMessage( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors( + overrides?: CallOverrides + ): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces( + overrides?: CallOverrides + ): Promise; + + targetSelectors( + overrides?: CallOverrides + ): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCall( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20WithMessage( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors( + overrides?: CallOverrides + ): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp(overrides?: CallOverrides): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces( + overrides?: CallOverrides + ): Promise; + + targetSelectors( + overrides?: CallOverrides + ): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCall(overrides?: CallOverrides): Promise; + + testWithdrawZRC20(overrides?: CallOverrides): Promise; + + testWithdrawZRC20WithMessage(overrides?: CallOverrides): Promise; + }; + + filters: { + "Call(address,bytes,bytes)"( + sender?: PromiseOrValue | null, + receiver?: null, + message?: null + ): CallEventFilter; + Call( + sender?: PromiseOrValue | null, + receiver?: null, + message?: null + ): CallEventFilter; + + "Withdrawal(address,bytes,uint256,uint256,uint256,bytes)"( + from?: PromiseOrValue | null, + to?: null, + value?: null, + gasfee?: null, + protocolFlatFee?: null, + message?: null + ): WithdrawalEventFilter; + Withdrawal( + from?: PromiseOrValue | null, + to?: null, + value?: null, + gasfee?: null, + protocolFlatFee?: null, + message?: null + ): WithdrawalEventFilter; + + "log(string)"(arg0?: null): logEventFilter; + log(arg0?: null): logEventFilter; + + "log_address(address)"(arg0?: null): log_addressEventFilter; + log_address(arg0?: null): log_addressEventFilter; + + "log_array(uint256[])"(val?: null): log_array_uint256_array_EventFilter; + "log_array(int256[])"(val?: null): log_array_int256_array_EventFilter; + "log_array(address[])"(val?: null): log_array_address_array_EventFilter; + + "log_bytes(bytes)"(arg0?: null): log_bytesEventFilter; + log_bytes(arg0?: null): log_bytesEventFilter; + + "log_bytes32(bytes32)"(arg0?: null): log_bytes32EventFilter; + log_bytes32(arg0?: null): log_bytes32EventFilter; + + "log_int(int256)"(arg0?: null): log_intEventFilter; + log_int(arg0?: null): log_intEventFilter; + + "log_named_address(string,address)"( + key?: null, + val?: null + ): log_named_addressEventFilter; + log_named_address(key?: null, val?: null): log_named_addressEventFilter; + + "log_named_array(string,uint256[])"( + key?: null, + val?: null + ): log_named_array_string_uint256_array_EventFilter; + "log_named_array(string,int256[])"( + key?: null, + val?: null + ): log_named_array_string_int256_array_EventFilter; + "log_named_array(string,address[])"( + key?: null, + val?: null + ): log_named_array_string_address_array_EventFilter; + + "log_named_bytes(string,bytes)"( + key?: null, + val?: null + ): log_named_bytesEventFilter; + log_named_bytes(key?: null, val?: null): log_named_bytesEventFilter; + + "log_named_bytes32(string,bytes32)"( + key?: null, + val?: null + ): log_named_bytes32EventFilter; + log_named_bytes32(key?: null, val?: null): log_named_bytes32EventFilter; + + "log_named_decimal_int(string,int256,uint256)"( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_intEventFilter; + log_named_decimal_int( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_intEventFilter; + + "log_named_decimal_uint(string,uint256,uint256)"( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_uintEventFilter; + log_named_decimal_uint( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_uintEventFilter; + + "log_named_int(string,int256)"( + key?: null, + val?: null + ): log_named_intEventFilter; + log_named_int(key?: null, val?: null): log_named_intEventFilter; + + "log_named_string(string,string)"( + key?: null, + val?: null + ): log_named_stringEventFilter; + log_named_string(key?: null, val?: null): log_named_stringEventFilter; + + "log_named_uint(string,uint256)"( + key?: null, + val?: null + ): log_named_uintEventFilter; + log_named_uint(key?: null, val?: null): log_named_uintEventFilter; + + "log_string(string)"(arg0?: null): log_stringEventFilter; + log_string(arg0?: null): log_stringEventFilter; + + "log_uint(uint256)"(arg0?: null): log_uintEventFilter; + log_uint(arg0?: null): log_uintEventFilter; + + "logs(bytes)"(arg0?: null): logsEventFilter; + logs(arg0?: null): logsEventFilter; + }; + + estimateGas: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors(overrides?: CallOverrides): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors(overrides?: CallOverrides): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces(overrides?: CallOverrides): Promise; + + targetSelectors(overrides?: CallOverrides): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCall( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20WithMessage( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors(overrides?: CallOverrides): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces(overrides?: CallOverrides): Promise; + + targetSelectors(overrides?: CallOverrides): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testCall( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testWithdrawZRC20WithMessage( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest.ts b/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest.ts new file mode 100644 index 00000000..5957605b --- /dev/null +++ b/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest.ts @@ -0,0 +1,955 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export declare namespace StdInvariant { + export type FuzzSelectorStruct = { + addr: PromiseOrValue; + selectors: PromiseOrValue[]; + }; + + export type FuzzSelectorStructOutput = [string, string[]] & { + addr: string; + selectors: string[]; + }; + + export type FuzzArtifactSelectorStruct = { + artifact: PromiseOrValue; + selectors: PromiseOrValue[]; + }; + + export type FuzzArtifactSelectorStructOutput = [string, string[]] & { + artifact: string; + selectors: string[]; + }; + + export type FuzzInterfaceStruct = { + addr: PromiseOrValue; + artifacts: PromiseOrValue[]; + }; + + export type FuzzInterfaceStructOutput = [string, string[]] & { + addr: string; + artifacts: string[]; + }; +} + +export interface GatewayZEVMOutboundTestInterface extends utils.Interface { + functions: { + "IS_TEST()": FunctionFragment; + "excludeArtifacts()": FunctionFragment; + "excludeContracts()": FunctionFragment; + "excludeSelectors()": FunctionFragment; + "excludeSenders()": FunctionFragment; + "failed()": FunctionFragment; + "setUp()": FunctionFragment; + "targetArtifactSelectors()": FunctionFragment; + "targetArtifacts()": FunctionFragment; + "targetContracts()": FunctionFragment; + "targetInterfaces()": FunctionFragment; + "targetSelectors()": FunctionFragment; + "targetSenders()": FunctionFragment; + "testDeposit()": FunctionFragment; + "testDepositAndCallZContract()": FunctionFragment; + "testExecuteZContract()": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "IS_TEST" + | "excludeArtifacts" + | "excludeContracts" + | "excludeSelectors" + | "excludeSenders" + | "failed" + | "setUp" + | "targetArtifactSelectors" + | "targetArtifacts" + | "targetContracts" + | "targetInterfaces" + | "targetSelectors" + | "targetSenders" + | "testDeposit" + | "testDepositAndCallZContract" + | "testExecuteZContract" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "IS_TEST", values?: undefined): string; + encodeFunctionData( + functionFragment: "excludeArtifacts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeContracts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "excludeSenders", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "failed", values?: undefined): string; + encodeFunctionData(functionFragment: "setUp", values?: undefined): string; + encodeFunctionData( + functionFragment: "targetArtifactSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetArtifacts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetContracts", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetInterfaces", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetSelectors", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "targetSenders", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testDeposit", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testDepositAndCallZContract", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "testExecuteZContract", + values?: undefined + ): string; + + decodeFunctionResult(functionFragment: "IS_TEST", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "excludeArtifacts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeContracts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "excludeSenders", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "failed", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUp", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "targetArtifactSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetArtifacts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetContracts", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetInterfaces", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetSelectors", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "targetSenders", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testDeposit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testDepositAndCallZContract", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "testExecuteZContract", + data: BytesLike + ): Result; + + events: { + "Call(address,bytes,bytes)": EventFragment; + "ContextData(bytes,address,uint256,address,string)": EventFragment; + "Withdrawal(address,bytes,uint256,uint256,uint256,bytes)": EventFragment; + "log(string)": EventFragment; + "log_address(address)": EventFragment; + "log_array(uint256[])": EventFragment; + "log_array(int256[])": EventFragment; + "log_array(address[])": EventFragment; + "log_bytes(bytes)": EventFragment; + "log_bytes32(bytes32)": EventFragment; + "log_int(int256)": EventFragment; + "log_named_address(string,address)": EventFragment; + "log_named_array(string,uint256[])": EventFragment; + "log_named_array(string,int256[])": EventFragment; + "log_named_array(string,address[])": EventFragment; + "log_named_bytes(string,bytes)": EventFragment; + "log_named_bytes32(string,bytes32)": EventFragment; + "log_named_decimal_int(string,int256,uint256)": EventFragment; + "log_named_decimal_uint(string,uint256,uint256)": EventFragment; + "log_named_int(string,int256)": EventFragment; + "log_named_string(string,string)": EventFragment; + "log_named_uint(string,uint256)": EventFragment; + "log_string(string)": EventFragment; + "log_uint(uint256)": EventFragment; + "logs(bytes)": EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: "Call"): EventFragment; + getEvent(nameOrSignatureOrTopic: "ContextData"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Withdrawal"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_address"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(uint256[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(int256[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_array(address[])"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_bytes"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_bytes32"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_address"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,uint256[])" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,int256[])" + ): EventFragment; + getEvent( + nameOrSignatureOrTopic: "log_named_array(string,address[])" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_bytes"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_bytes32"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_decimal_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_decimal_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_int"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_string"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_named_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_string"): EventFragment; + getEvent(nameOrSignatureOrTopic: "log_uint"): EventFragment; + getEvent(nameOrSignatureOrTopic: "logs"): EventFragment; +} + +export interface CallEventObject { + sender: string; + receiver: string; + message: string; +} +export type CallEvent = TypedEvent<[string, string, string], CallEventObject>; + +export type CallEventFilter = TypedEventFilter; + +export interface ContextDataEventObject { + origin: string; + sender: string; + chainID: BigNumber; + msgSender: string; + message: string; +} +export type ContextDataEvent = TypedEvent< + [string, string, BigNumber, string, string], + ContextDataEventObject +>; + +export type ContextDataEventFilter = TypedEventFilter; + +export interface WithdrawalEventObject { + from: string; + to: string; + value: BigNumber; + gasfee: BigNumber; + protocolFlatFee: BigNumber; + message: string; +} +export type WithdrawalEvent = TypedEvent< + [string, string, BigNumber, BigNumber, BigNumber, string], + WithdrawalEventObject +>; + +export type WithdrawalEventFilter = TypedEventFilter; + +export interface logEventObject { + arg0: string; +} +export type logEvent = TypedEvent<[string], logEventObject>; + +export type logEventFilter = TypedEventFilter; + +export interface log_addressEventObject { + arg0: string; +} +export type log_addressEvent = TypedEvent<[string], log_addressEventObject>; + +export type log_addressEventFilter = TypedEventFilter; + +export interface log_array_uint256_array_EventObject { + val: BigNumber[]; +} +export type log_array_uint256_array_Event = TypedEvent< + [BigNumber[]], + log_array_uint256_array_EventObject +>; + +export type log_array_uint256_array_EventFilter = + TypedEventFilter; + +export interface log_array_int256_array_EventObject { + val: BigNumber[]; +} +export type log_array_int256_array_Event = TypedEvent< + [BigNumber[]], + log_array_int256_array_EventObject +>; + +export type log_array_int256_array_EventFilter = + TypedEventFilter; + +export interface log_array_address_array_EventObject { + val: string[]; +} +export type log_array_address_array_Event = TypedEvent< + [string[]], + log_array_address_array_EventObject +>; + +export type log_array_address_array_EventFilter = + TypedEventFilter; + +export interface log_bytesEventObject { + arg0: string; +} +export type log_bytesEvent = TypedEvent<[string], log_bytesEventObject>; + +export type log_bytesEventFilter = TypedEventFilter; + +export interface log_bytes32EventObject { + arg0: string; +} +export type log_bytes32Event = TypedEvent<[string], log_bytes32EventObject>; + +export type log_bytes32EventFilter = TypedEventFilter; + +export interface log_intEventObject { + arg0: BigNumber; +} +export type log_intEvent = TypedEvent<[BigNumber], log_intEventObject>; + +export type log_intEventFilter = TypedEventFilter; + +export interface log_named_addressEventObject { + key: string; + val: string; +} +export type log_named_addressEvent = TypedEvent< + [string, string], + log_named_addressEventObject +>; + +export type log_named_addressEventFilter = + TypedEventFilter; + +export interface log_named_array_string_uint256_array_EventObject { + key: string; + val: BigNumber[]; +} +export type log_named_array_string_uint256_array_Event = TypedEvent< + [string, BigNumber[]], + log_named_array_string_uint256_array_EventObject +>; + +export type log_named_array_string_uint256_array_EventFilter = + TypedEventFilter; + +export interface log_named_array_string_int256_array_EventObject { + key: string; + val: BigNumber[]; +} +export type log_named_array_string_int256_array_Event = TypedEvent< + [string, BigNumber[]], + log_named_array_string_int256_array_EventObject +>; + +export type log_named_array_string_int256_array_EventFilter = + TypedEventFilter; + +export interface log_named_array_string_address_array_EventObject { + key: string; + val: string[]; +} +export type log_named_array_string_address_array_Event = TypedEvent< + [string, string[]], + log_named_array_string_address_array_EventObject +>; + +export type log_named_array_string_address_array_EventFilter = + TypedEventFilter; + +export interface log_named_bytesEventObject { + key: string; + val: string; +} +export type log_named_bytesEvent = TypedEvent< + [string, string], + log_named_bytesEventObject +>; + +export type log_named_bytesEventFilter = TypedEventFilter; + +export interface log_named_bytes32EventObject { + key: string; + val: string; +} +export type log_named_bytes32Event = TypedEvent< + [string, string], + log_named_bytes32EventObject +>; + +export type log_named_bytes32EventFilter = + TypedEventFilter; + +export interface log_named_decimal_intEventObject { + key: string; + val: BigNumber; + decimals: BigNumber; +} +export type log_named_decimal_intEvent = TypedEvent< + [string, BigNumber, BigNumber], + log_named_decimal_intEventObject +>; + +export type log_named_decimal_intEventFilter = + TypedEventFilter; + +export interface log_named_decimal_uintEventObject { + key: string; + val: BigNumber; + decimals: BigNumber; +} +export type log_named_decimal_uintEvent = TypedEvent< + [string, BigNumber, BigNumber], + log_named_decimal_uintEventObject +>; + +export type log_named_decimal_uintEventFilter = + TypedEventFilter; + +export interface log_named_intEventObject { + key: string; + val: BigNumber; +} +export type log_named_intEvent = TypedEvent< + [string, BigNumber], + log_named_intEventObject +>; + +export type log_named_intEventFilter = TypedEventFilter; + +export interface log_named_stringEventObject { + key: string; + val: string; +} +export type log_named_stringEvent = TypedEvent< + [string, string], + log_named_stringEventObject +>; + +export type log_named_stringEventFilter = + TypedEventFilter; + +export interface log_named_uintEventObject { + key: string; + val: BigNumber; +} +export type log_named_uintEvent = TypedEvent< + [string, BigNumber], + log_named_uintEventObject +>; + +export type log_named_uintEventFilter = TypedEventFilter; + +export interface log_stringEventObject { + arg0: string; +} +export type log_stringEvent = TypedEvent<[string], log_stringEventObject>; + +export type log_stringEventFilter = TypedEventFilter; + +export interface log_uintEventObject { + arg0: BigNumber; +} +export type log_uintEvent = TypedEvent<[BigNumber], log_uintEventObject>; + +export type log_uintEventFilter = TypedEventFilter; + +export interface logsEventObject { + arg0: string; +} +export type logsEvent = TypedEvent<[string], logsEventObject>; + +export type logsEventFilter = TypedEventFilter; + +export interface GatewayZEVMOutboundTest extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: GatewayZEVMOutboundTestInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + IS_TEST(overrides?: CallOverrides): Promise<[boolean]>; + + excludeArtifacts( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedArtifacts_: string[] }>; + + excludeContracts( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedContracts_: string[] }>; + + excludeSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzSelectorStructOutput[]] & { + excludedSelectors_: StdInvariant.FuzzSelectorStructOutput[]; + } + >; + + excludeSenders( + overrides?: CallOverrides + ): Promise<[string[]] & { excludedSenders_: string[] }>; + + failed(overrides?: CallOverrides): Promise<[boolean]>; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzArtifactSelectorStructOutput[]] & { + targetedArtifactSelectors_: StdInvariant.FuzzArtifactSelectorStructOutput[]; + } + >; + + targetArtifacts( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedArtifacts_: string[] }>; + + targetContracts( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedContracts_: string[] }>; + + targetInterfaces( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzInterfaceStructOutput[]] & { + targetedInterfaces_: StdInvariant.FuzzInterfaceStructOutput[]; + } + >; + + targetSelectors( + overrides?: CallOverrides + ): Promise< + [StdInvariant.FuzzSelectorStructOutput[]] & { + targetedSelectors_: StdInvariant.FuzzSelectorStructOutput[]; + } + >; + + targetSenders( + overrides?: CallOverrides + ): Promise<[string[]] & { targetedSenders_: string[] }>; + + testDeposit( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositAndCallZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testExecuteZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors( + overrides?: CallOverrides + ): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces( + overrides?: CallOverrides + ): Promise; + + targetSelectors( + overrides?: CallOverrides + ): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testDeposit( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositAndCallZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testExecuteZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors( + overrides?: CallOverrides + ): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp(overrides?: CallOverrides): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces( + overrides?: CallOverrides + ): Promise; + + targetSelectors( + overrides?: CallOverrides + ): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testDeposit(overrides?: CallOverrides): Promise; + + testDepositAndCallZContract(overrides?: CallOverrides): Promise; + + testExecuteZContract(overrides?: CallOverrides): Promise; + }; + + filters: { + "Call(address,bytes,bytes)"( + sender?: PromiseOrValue | null, + receiver?: null, + message?: null + ): CallEventFilter; + Call( + sender?: PromiseOrValue | null, + receiver?: null, + message?: null + ): CallEventFilter; + + "ContextData(bytes,address,uint256,address,string)"( + origin?: null, + sender?: null, + chainID?: null, + msgSender?: null, + message?: null + ): ContextDataEventFilter; + ContextData( + origin?: null, + sender?: null, + chainID?: null, + msgSender?: null, + message?: null + ): ContextDataEventFilter; + + "Withdrawal(address,bytes,uint256,uint256,uint256,bytes)"( + from?: PromiseOrValue | null, + to?: null, + value?: null, + gasfee?: null, + protocolFlatFee?: null, + message?: null + ): WithdrawalEventFilter; + Withdrawal( + from?: PromiseOrValue | null, + to?: null, + value?: null, + gasfee?: null, + protocolFlatFee?: null, + message?: null + ): WithdrawalEventFilter; + + "log(string)"(arg0?: null): logEventFilter; + log(arg0?: null): logEventFilter; + + "log_address(address)"(arg0?: null): log_addressEventFilter; + log_address(arg0?: null): log_addressEventFilter; + + "log_array(uint256[])"(val?: null): log_array_uint256_array_EventFilter; + "log_array(int256[])"(val?: null): log_array_int256_array_EventFilter; + "log_array(address[])"(val?: null): log_array_address_array_EventFilter; + + "log_bytes(bytes)"(arg0?: null): log_bytesEventFilter; + log_bytes(arg0?: null): log_bytesEventFilter; + + "log_bytes32(bytes32)"(arg0?: null): log_bytes32EventFilter; + log_bytes32(arg0?: null): log_bytes32EventFilter; + + "log_int(int256)"(arg0?: null): log_intEventFilter; + log_int(arg0?: null): log_intEventFilter; + + "log_named_address(string,address)"( + key?: null, + val?: null + ): log_named_addressEventFilter; + log_named_address(key?: null, val?: null): log_named_addressEventFilter; + + "log_named_array(string,uint256[])"( + key?: null, + val?: null + ): log_named_array_string_uint256_array_EventFilter; + "log_named_array(string,int256[])"( + key?: null, + val?: null + ): log_named_array_string_int256_array_EventFilter; + "log_named_array(string,address[])"( + key?: null, + val?: null + ): log_named_array_string_address_array_EventFilter; + + "log_named_bytes(string,bytes)"( + key?: null, + val?: null + ): log_named_bytesEventFilter; + log_named_bytes(key?: null, val?: null): log_named_bytesEventFilter; + + "log_named_bytes32(string,bytes32)"( + key?: null, + val?: null + ): log_named_bytes32EventFilter; + log_named_bytes32(key?: null, val?: null): log_named_bytes32EventFilter; + + "log_named_decimal_int(string,int256,uint256)"( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_intEventFilter; + log_named_decimal_int( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_intEventFilter; + + "log_named_decimal_uint(string,uint256,uint256)"( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_uintEventFilter; + log_named_decimal_uint( + key?: null, + val?: null, + decimals?: null + ): log_named_decimal_uintEventFilter; + + "log_named_int(string,int256)"( + key?: null, + val?: null + ): log_named_intEventFilter; + log_named_int(key?: null, val?: null): log_named_intEventFilter; + + "log_named_string(string,string)"( + key?: null, + val?: null + ): log_named_stringEventFilter; + log_named_string(key?: null, val?: null): log_named_stringEventFilter; + + "log_named_uint(string,uint256)"( + key?: null, + val?: null + ): log_named_uintEventFilter; + log_named_uint(key?: null, val?: null): log_named_uintEventFilter; + + "log_string(string)"(arg0?: null): log_stringEventFilter; + log_string(arg0?: null): log_stringEventFilter; + + "log_uint(uint256)"(arg0?: null): log_uintEventFilter; + log_uint(arg0?: null): log_uintEventFilter; + + "logs(bytes)"(arg0?: null): logsEventFilter; + logs(arg0?: null): logsEventFilter; + }; + + estimateGas: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors(overrides?: CallOverrides): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors(overrides?: CallOverrides): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces(overrides?: CallOverrides): Promise; + + targetSelectors(overrides?: CallOverrides): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testDeposit( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositAndCallZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testExecuteZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + IS_TEST(overrides?: CallOverrides): Promise; + + excludeArtifacts(overrides?: CallOverrides): Promise; + + excludeContracts(overrides?: CallOverrides): Promise; + + excludeSelectors(overrides?: CallOverrides): Promise; + + excludeSenders(overrides?: CallOverrides): Promise; + + failed(overrides?: CallOverrides): Promise; + + setUp( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + targetArtifactSelectors( + overrides?: CallOverrides + ): Promise; + + targetArtifacts(overrides?: CallOverrides): Promise; + + targetContracts(overrides?: CallOverrides): Promise; + + targetInterfaces(overrides?: CallOverrides): Promise; + + targetSelectors(overrides?: CallOverrides): Promise; + + targetSenders(overrides?: CallOverrides): Promise; + + testDeposit( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testDepositAndCallZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testExecuteZContract( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts b/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts new file mode 100644 index 00000000..684be4ec --- /dev/null +++ b/typechain-types/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { GatewayZEVMInboundTest } from "./GatewayZEVMInboundTest"; +export type { GatewayZEVMOutboundTest } from "./GatewayZEVMOutboundTest"; diff --git a/typechain-types/contracts/prototypes/test/index.ts b/typechain-types/contracts/prototypes/test/index.ts index e4b67888..03c36b6c 100644 --- a/typechain-types/contracts/prototypes/test/index.ts +++ b/typechain-types/contracts/prototypes/test/index.ts @@ -5,3 +5,5 @@ import type * as gatewayEvmTSol from "./GatewayEVM.t.sol"; export type { gatewayEvmTSol }; import type * as gatewayEvmzevmTSol from "./GatewayEVMZEVM.t.sol"; export type { gatewayEvmzevmTSol }; +import type * as gatewayZevmTSol from "./GatewayZEVM.t.sol"; +export type { gatewayZevmTSol }; diff --git a/typechain-types/factories/contracts/prototypes/evm/ERC20CustodyNew__factory.ts b/typechain-types/factories/contracts/prototypes/evm/ERC20CustodyNew__factory.ts index bb8520c3..ecd43202 100644 --- a/typechain-types/factories/contracts/prototypes/evm/ERC20CustodyNew__factory.ts +++ b/typechain-types/factories/contracts/prototypes/evm/ERC20CustodyNew__factory.ts @@ -149,7 +149,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033"; + "0x60806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea26469706673582212209da1299d57511a448299616d5b9981cce3a960f4b22dcb0d38ff714263de7de564736f6c63430008070033"; type ERC20CustodyNewConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/prototypes/evm/GatewayEVMUpgradeTest__factory.ts b/typechain-types/factories/contracts/prototypes/evm/GatewayEVMUpgradeTest__factory.ts index 3f58fa3f..68b96199 100644 --- a/typechain-types/factories/contracts/prototypes/evm/GatewayEVMUpgradeTest__factory.ts +++ b/typechain-types/factories/contracts/prototypes/evm/GatewayEVMUpgradeTest__factory.ts @@ -448,7 +448,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c4d620002436000396000818161038701528181610416015281816105100152818161059f0152610a060152612c4d6000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063c4d66de811610059578063c4d66de814610271578063cb0271ed1461029a578063dda79b75146102c3578063f2fde38b146102ee576100dd565b80638da5cb5b146102015780639372c4ab1461022c578063ae7a3a6f14610248576100dd565b80635131ab59116100bb5780635131ab591461015757806352d1902d146101945780635b112591146101bf578063715018a6146101ea576100dd565b80631cff79cd146100e25780633659cfe6146101125780634f1ef2861461013b575b600080fd5b6100fc60048036038101906100f79190611d45565b610317565b60405161010991906123bc565b60405180910390f35b34801561011e57600080fd5b5061013960048036038101906101349190611c90565b610385565b005b61015560048036038101906101509190611da5565b61050e565b005b34801561016357600080fd5b5061017e60048036038101906101799190611cbd565b61064b565b60405161018b91906123bc565b60405180910390f35b3480156101a057600080fd5b506101a9610a02565b6040516101b6919061236f565b60405180910390f35b3480156101cb57600080fd5b506101d4610abb565b6040516101e191906122cb565b60405180910390f35b3480156101f657600080fd5b506101ff610ae1565b005b34801561020d57600080fd5b50610216610af5565b60405161022391906122cb565b60405180910390f35b61024660048036038101906102419190611ecf565b610b1f565b005b34801561025457600080fd5b5061026f600480360381019061026a9190611c90565b610c68565b005b34801561027d57600080fd5b5061029860048036038101906102939190611c90565b610cac565b005b3480156102a657600080fd5b506102c160048036038101906102bc9190611e5b565b610e9b565b005b3480156102cf57600080fd5b506102d8610f42565b6040516102e591906122cb565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190611c90565b610f68565b005b60606000610326858585610fec565b90508473ffffffffffffffffffffffffffffffffffffffff167f373df382b9c587826f3de13f16d67f8d99f28ee947fc0924c6ef2d6d2c7e8546348686604051610372939291906125bb565b60405180910390a2809150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040b9061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104536110a3565b73ffffffffffffffffffffffffffffffffffffffff16146104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a09061245b565b60405180910390fd5b6104b2816110fa565b61050b81600067ffffffffffffffff8111156104d1576104d061277c565b5b6040519080825280601f01601f1916602001820160405280156105035781602001600182028036833780820191505090505b506000611105565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16141561059d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105949061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105dc6110a3565b73ffffffffffffffffffffffffffffffffffffffff1614610632576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106299061245b565b60405180910390fd5b61063b826110fa565b61064782826001611105565b5050565b60608573ffffffffffffffffffffffffffffffffffffffff1663095ea7b38660006040518363ffffffff1660e01b815260040161068992919061231d565b602060405180830381600087803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190611e01565b610711576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b815260040161074c929190612346565b602060405180830381600087803b15801561076657600080fd5b505af115801561077a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079e9190611e01565b6107d4576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107e1868585610fec565b90508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b38760006040518363ffffffff1660e01b815260040161081f92919061231d565b602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108719190611e01565b6108a7576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108e291906122cb565b60206040518083038186803b1580156108fa57600080fd5b505afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190611f2f565b9050600081111561098b5761098a60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166112829092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b73828888886040516109ec939291906125bb565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061249b565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae9611308565b610af36000611386565b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000341415610b5a576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610ba2906122b6565b60006040518083038185875af1925050503d8060008114610bdf576040519150601f19603f3d011682016040523d82523d6000602084013e610be4565b606091505b50509050600015158115151415610c27576040517f81063e5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa93afc57f3be4641cf20c7165d11856f3b46dd376108e5fffb06f73f2b2a6d58848434604051610c5a9392919061238a565b60405180910390a150505050565b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610cdd5750600160008054906101000a900460ff1660ff16105b80610d0a5750610cec3061144c565b158015610d095750600160008054906101000a900460ff1660ff16145b5b610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906124db565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610d86576001600060016101000a81548160ff0219169083151502179055505b610d8e61146f565b610d966114c8565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dfd576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610e975760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610e8e91906123de565b60405180910390a15b5050565b610eea3360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838573ffffffffffffffffffffffffffffffffffffffff16611519909392919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f35fb30ed1b8e81eb91001dad742b13b1491a67c722e8c593a886a18500f7d9af858584604051610f349392919061238a565b60405180910390a250505050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f70611308565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd79061241b565b60405180910390fd5b610fe981611386565b50565b60606000808573ffffffffffffffffffffffffffffffffffffffff16348686604051611019929190612286565b60006040518083038185875af1925050503d8060008114611056576040519150601f19603f3d011682016040523d82523d6000602084013e61105b565b606091505b509150915081611097576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006110d17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611102611308565b50565b6111317f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6115ac565b60000160009054906101000a900460ff161561115557611150836115b6565b61127d565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561119b57600080fd5b505afa9250505080156111cc57506040513d601f19601f820116820180604052508101906111c99190611e2e565b60015b61120b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611202906124fb565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611270576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611267906124bb565b60405180910390fd5b5061127c83838361166f565b5b505050565b6113038363a9059cbb60e01b84846040516024016112a1929190612346565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b505050565b611310611762565b73ffffffffffffffffffffffffffffffffffffffff1661132e610af5565b73ffffffffffffffffffffffffffffffffffffffff1614611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b9061253b565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b59061257b565b60405180910390fd5b6114c661176a565b565b600060019054906101000a900460ff16611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e9061257b565b60405180910390fd5b565b61159c846323b872dd60e01b85858560405160240161153a939291906122e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b50505050565b6000819050919050565b6000819050919050565b6115bf8161144c565b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061251b565b60405180910390fd5b8061162b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611678836117cb565b6000825111806116855750805b1561169657611694838361181a565b505b505050565b60006116fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166118479092919063ffffffff16565b905060008151111561175d578080602001905181019061171d9190611e01565b61175c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117539061259b565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff166117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09061257b565b60405180910390fd5b6117c96117c4611762565b611386565b565b6117d4816115b6565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b606061183f8383604051806060016040528060278152602001612bf16027913961185f565b905092915050565b606061185684846000856118e5565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611889919061229f565b600060405180830381855af49150503d80600081146118c4576040519150601f19603f3d011682016040523d82523d6000602084013e6118c9565b606091505b50915091506118da868383876119b2565b925050509392505050565b60608247101561192a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119219061247b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611953919061229f565b60006040518083038185875af1925050503d8060008114611990576040519150601f19603f3d011682016040523d82523d6000602084013e611995565b606091505b50915091506119a687838387611a28565b92505050949350505050565b60608315611a1557600083511415611a0d576119cd8561144c565b611a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a039061255b565b60405180910390fd5b5b829050611a20565b611a1f8383611a9e565b5b949350505050565b60608315611a8b57600083511415611a8357611a4385611aee565b611a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a799061255b565b60405180910390fd5b5b829050611a96565b611a958383611b11565b5b949350505050565b600082511115611ab15781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae591906123f9565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611b245781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5891906123f9565b60405180910390fd5b6000611b74611b6f84612612565b6125ed565b905082815260208101848484011115611b9057611b8f6127ba565b5b611b9b848285612709565b509392505050565b600081359050611bb281612b94565b92915050565b600081519050611bc781612bab565b92915050565b600081519050611bdc81612bc2565b92915050565b60008083601f840112611bf857611bf76127b0565b5b8235905067ffffffffffffffff811115611c1557611c146127ab565b5b602083019150836001820283011115611c3157611c306127b5565b5b9250929050565b600082601f830112611c4d57611c4c6127b0565b5b8135611c5d848260208601611b61565b91505092915050565b600081359050611c7581612bd9565b92915050565b600081519050611c8a81612bd9565b92915050565b600060208284031215611ca657611ca56127c4565b5b6000611cb484828501611ba3565b91505092915050565b600080600080600060808688031215611cd957611cd86127c4565b5b6000611ce788828901611ba3565b9550506020611cf888828901611ba3565b9450506040611d0988828901611c66565b935050606086013567ffffffffffffffff811115611d2a57611d296127bf565b5b611d3688828901611be2565b92509250509295509295909350565b600080600060408486031215611d5e57611d5d6127c4565b5b6000611d6c86828701611ba3565b935050602084013567ffffffffffffffff811115611d8d57611d8c6127bf565b5b611d9986828701611be2565b92509250509250925092565b60008060408385031215611dbc57611dbb6127c4565b5b6000611dca85828601611ba3565b925050602083013567ffffffffffffffff811115611deb57611dea6127bf565b5b611df785828601611c38565b9150509250929050565b600060208284031215611e1757611e166127c4565b5b6000611e2584828501611bb8565b91505092915050565b600060208284031215611e4457611e436127c4565b5b6000611e5284828501611bcd565b91505092915050565b60008060008060608587031215611e7557611e746127c4565b5b600085013567ffffffffffffffff811115611e9357611e926127bf565b5b611e9f87828801611be2565b94509450506020611eb287828801611ba3565b9250506040611ec387828801611c66565b91505092959194509250565b600080600060408486031215611ee857611ee76127c4565b5b600084013567ffffffffffffffff811115611f0657611f056127bf565b5b611f1286828701611be2565b93509350506020611f2586828701611c66565b9150509250925092565b600060208284031215611f4557611f446127c4565b5b6000611f5384828501611c7b565b91505092915050565b611f6581612686565b82525050565b611f74816126a4565b82525050565b6000611f868385612659565b9350611f93838584612709565b611f9c836127c9565b840190509392505050565b6000611fb3838561266a565b9350611fc0838584612709565b82840190509392505050565b6000611fd782612643565b611fe18185612659565b9350611ff1818560208601612718565b611ffa816127c9565b840191505092915050565b600061201082612643565b61201a818561266a565b935061202a818560208601612718565b80840191505092915050565b61203f816126e5565b82525050565b61204e816126f7565b82525050565b600061205f8261264e565b6120698185612675565b9350612079818560208601612718565b612082816127c9565b840191505092915050565b600061209a602683612675565b91506120a5826127da565b604082019050919050565b60006120bd602c83612675565b91506120c882612829565b604082019050919050565b60006120e0602c83612675565b91506120eb82612878565b604082019050919050565b6000612103602683612675565b915061210e826128c7565b604082019050919050565b6000612126603883612675565b915061213182612916565b604082019050919050565b6000612149602983612675565b915061215482612965565b604082019050919050565b600061216c602e83612675565b9150612177826129b4565b604082019050919050565b600061218f602e83612675565b915061219a82612a03565b604082019050919050565b60006121b2602d83612675565b91506121bd82612a52565b604082019050919050565b60006121d5602083612675565b91506121e082612aa1565b602082019050919050565b60006121f860008361266a565b915061220382612aca565b600082019050919050565b600061221b601d83612675565b915061222682612acd565b602082019050919050565b600061223e602b83612675565b915061224982612af6565b604082019050919050565b6000612261602a83612675565b915061226c82612b45565b604082019050919050565b612280816126ce565b82525050565b6000612293828486611fa7565b91508190509392505050565b60006122ab8284612005565b915081905092915050565b60006122c1826121eb565b9150819050919050565b60006020820190506122e06000830184611f5c565b92915050565b60006060820190506122fb6000830186611f5c565b6123086020830185611f5c565b6123156040830184612277565b949350505050565b60006040820190506123326000830185611f5c565b61233f6020830184612036565b9392505050565b600060408201905061235b6000830185611f5c565b6123686020830184612277565b9392505050565b60006020820190506123846000830184611f6b565b92915050565b600060408201905081810360008301526123a5818587611f7a565b90506123b46020830184612277565b949350505050565b600060208201905081810360008301526123d68184611fcc565b905092915050565b60006020820190506123f36000830184612045565b92915050565b600060208201905081810360008301526124138184612054565b905092915050565b600060208201905081810360008301526124348161208d565b9050919050565b60006020820190508181036000830152612454816120b0565b9050919050565b60006020820190508181036000830152612474816120d3565b9050919050565b60006020820190508181036000830152612494816120f6565b9050919050565b600060208201905081810360008301526124b481612119565b9050919050565b600060208201905081810360008301526124d48161213c565b9050919050565b600060208201905081810360008301526124f48161215f565b9050919050565b6000602082019050818103600083015261251481612182565b9050919050565b60006020820190508181036000830152612534816121a5565b9050919050565b60006020820190508181036000830152612554816121c8565b9050919050565b600060208201905081810360008301526125748161220e565b9050919050565b6000602082019050818103600083015261259481612231565b9050919050565b600060208201905081810360008301526125b481612254565b9050919050565b60006040820190506125d06000830186612277565b81810360208301526125e3818486611f7a565b9050949350505050565b60006125f7612608565b9050612603828261274b565b919050565b6000604051905090565b600067ffffffffffffffff82111561262d5761262c61277c565b5b612636826127c9565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612691826126ae565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126f0826126ce565b9050919050565b6000612702826126d8565b9050919050565b82818337600083830152505050565b60005b8381101561273657808201518184015260208101905061271b565b83811115612745576000848401525b50505050565b612754826127c9565b810181811067ffffffffffffffff821117156127735761277261277c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b612b9d81612686565b8114612ba857600080fd5b50565b612bb481612698565b8114612bbf57600080fd5b50565b612bcb816126a4565b8114612bd657600080fd5b50565b612be2816126ce565b8114612bed57600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122079a8a81715ebf41d134bb64167fb2f56e849b251fc0b7d2e8b4e5d2f3b96b57a64736f6c63430008070033"; + "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c4d620002436000396000818161038701528181610416015281816105100152818161059f0152610a060152612c4d6000f3fe6080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063c4d66de811610059578063c4d66de814610271578063cb0271ed1461029a578063dda79b75146102c3578063f2fde38b146102ee576100dd565b80638da5cb5b146102015780639372c4ab1461022c578063ae7a3a6f14610248576100dd565b80635131ab59116100bb5780635131ab591461015757806352d1902d146101945780635b112591146101bf578063715018a6146101ea576100dd565b80631cff79cd146100e25780633659cfe6146101125780634f1ef2861461013b575b600080fd5b6100fc60048036038101906100f79190611d45565b610317565b60405161010991906123bc565b60405180910390f35b34801561011e57600080fd5b5061013960048036038101906101349190611c90565b610385565b005b61015560048036038101906101509190611da5565b61050e565b005b34801561016357600080fd5b5061017e60048036038101906101799190611cbd565b61064b565b60405161018b91906123bc565b60405180910390f35b3480156101a057600080fd5b506101a9610a02565b6040516101b6919061236f565b60405180910390f35b3480156101cb57600080fd5b506101d4610abb565b6040516101e191906122cb565b60405180910390f35b3480156101f657600080fd5b506101ff610ae1565b005b34801561020d57600080fd5b50610216610af5565b60405161022391906122cb565b60405180910390f35b61024660048036038101906102419190611ecf565b610b1f565b005b34801561025457600080fd5b5061026f600480360381019061026a9190611c90565b610c68565b005b34801561027d57600080fd5b5061029860048036038101906102939190611c90565b610cac565b005b3480156102a657600080fd5b506102c160048036038101906102bc9190611e5b565b610e9b565b005b3480156102cf57600080fd5b506102d8610f42565b6040516102e591906122cb565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190611c90565b610f68565b005b60606000610326858585610fec565b90508473ffffffffffffffffffffffffffffffffffffffff167f373df382b9c587826f3de13f16d67f8d99f28ee947fc0924c6ef2d6d2c7e8546348686604051610372939291906125bb565b60405180910390a2809150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610414576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161040b9061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104536110a3565b73ffffffffffffffffffffffffffffffffffffffff16146104a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a09061245b565b60405180910390fd5b6104b2816110fa565b61050b81600067ffffffffffffffff8111156104d1576104d061277c565b5b6040519080825280601f01601f1916602001820160405280156105035781602001600182028036833780820191505090505b506000611105565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16141561059d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105949061243b565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105dc6110a3565b73ffffffffffffffffffffffffffffffffffffffff1614610632576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106299061245b565b60405180910390fd5b61063b826110fa565b61064782826001611105565b5050565b60608573ffffffffffffffffffffffffffffffffffffffff1663095ea7b38660006040518363ffffffff1660e01b815260040161068992919061231d565b602060405180830381600087803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106db9190611e01565b610711576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b815260040161074c929190612346565b602060405180830381600087803b15801561076657600080fd5b505af115801561077a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079e9190611e01565b6107d4576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107e1868585610fec565b90508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b38760006040518363ffffffff1660e01b815260040161081f92919061231d565b602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108719190611e01565b6108a7576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108e291906122cb565b60206040518083038186803b1580156108fa57600080fd5b505afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109329190611f2f565b9050600081111561098b5761098a60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166112829092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b73828888886040516109ec939291906125bb565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a899061249b565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610ae9611308565b610af36000611386565b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000341415610b5a576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610ba2906122b6565b60006040518083038185875af1925050503d8060008114610bdf576040519150601f19603f3d011682016040523d82523d6000602084013e610be4565b606091505b50509050600015158115151415610c27576040517f81063e5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa93afc57f3be4641cf20c7165d11856f3b46dd376108e5fffb06f73f2b2a6d58848434604051610c5a9392919061238a565b60405180910390a150505050565b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610cdd5750600160008054906101000a900460ff1660ff16105b80610d0a5750610cec3061144c565b158015610d095750600160008054906101000a900460ff1660ff16145b5b610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d40906124db565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610d86576001600060016101000a81548160ff0219169083151502179055505b610d8e61146f565b610d966114c8565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dfd576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508015610e975760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610e8e91906123de565b60405180910390a15b5050565b610eea3360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838573ffffffffffffffffffffffffffffffffffffffff16611519909392919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f35fb30ed1b8e81eb91001dad742b13b1491a67c722e8c593a886a18500f7d9af858584604051610f349392919061238a565b60405180910390a250505050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610f70611308565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd79061241b565b60405180910390fd5b610fe981611386565b50565b60606000808573ffffffffffffffffffffffffffffffffffffffff16348686604051611019929190612286565b60006040518083038185875af1925050503d8060008114611056576040519150601f19603f3d011682016040523d82523d6000602084013e61105b565b606091505b509150915081611097576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006110d17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611102611308565b50565b6111317f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6115ac565b60000160009054906101000a900460ff161561115557611150836115b6565b61127d565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561119b57600080fd5b505afa9250505080156111cc57506040513d601f19601f820116820180604052508101906111c99190611e2e565b60015b61120b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611202906124fb565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611270576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611267906124bb565b60405180910390fd5b5061127c83838361166f565b5b505050565b6113038363a9059cbb60e01b84846040516024016112a1929190612346565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b505050565b611310611762565b73ffffffffffffffffffffffffffffffffffffffff1661132e610af5565b73ffffffffffffffffffffffffffffffffffffffff1614611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b9061253b565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b59061257b565b60405180910390fd5b6114c661176a565b565b600060019054906101000a900460ff16611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e9061257b565b60405180910390fd5b565b61159c846323b872dd60e01b85858560405160240161153a939291906122e6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061169b565b50505050565b6000819050919050565b6000819050919050565b6115bf8161144c565b6115fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f59061251b565b60405180910390fd5b8061162b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6115a2565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611678836117cb565b6000825111806116855750805b1561169657611694838361181a565b505b505050565b60006116fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166118479092919063ffffffff16565b905060008151111561175d578080602001905181019061171d9190611e01565b61175c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117539061259b565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff166117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09061257b565b60405180910390fd5b6117c96117c4611762565b611386565b565b6117d4816115b6565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b606061183f8383604051806060016040528060278152602001612bf16027913961185f565b905092915050565b606061185684846000856118e5565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611889919061229f565b600060405180830381855af49150503d80600081146118c4576040519150601f19603f3d011682016040523d82523d6000602084013e6118c9565b606091505b50915091506118da868383876119b2565b925050509392505050565b60608247101561192a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119219061247b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611953919061229f565b60006040518083038185875af1925050503d8060008114611990576040519150601f19603f3d011682016040523d82523d6000602084013e611995565b606091505b50915091506119a687838387611a28565b92505050949350505050565b60608315611a1557600083511415611a0d576119cd8561144c565b611a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a039061255b565b60405180910390fd5b5b829050611a20565b611a1f8383611a9e565b5b949350505050565b60608315611a8b57600083511415611a8357611a4385611aee565b611a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a799061255b565b60405180910390fd5b5b829050611a96565b611a958383611b11565b5b949350505050565b600082511115611ab15781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae591906123f9565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611b245781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5891906123f9565b60405180910390fd5b6000611b74611b6f84612612565b6125ed565b905082815260208101848484011115611b9057611b8f6127ba565b5b611b9b848285612709565b509392505050565b600081359050611bb281612b94565b92915050565b600081519050611bc781612bab565b92915050565b600081519050611bdc81612bc2565b92915050565b60008083601f840112611bf857611bf76127b0565b5b8235905067ffffffffffffffff811115611c1557611c146127ab565b5b602083019150836001820283011115611c3157611c306127b5565b5b9250929050565b600082601f830112611c4d57611c4c6127b0565b5b8135611c5d848260208601611b61565b91505092915050565b600081359050611c7581612bd9565b92915050565b600081519050611c8a81612bd9565b92915050565b600060208284031215611ca657611ca56127c4565b5b6000611cb484828501611ba3565b91505092915050565b600080600080600060808688031215611cd957611cd86127c4565b5b6000611ce788828901611ba3565b9550506020611cf888828901611ba3565b9450506040611d0988828901611c66565b935050606086013567ffffffffffffffff811115611d2a57611d296127bf565b5b611d3688828901611be2565b92509250509295509295909350565b600080600060408486031215611d5e57611d5d6127c4565b5b6000611d6c86828701611ba3565b935050602084013567ffffffffffffffff811115611d8d57611d8c6127bf565b5b611d9986828701611be2565b92509250509250925092565b60008060408385031215611dbc57611dbb6127c4565b5b6000611dca85828601611ba3565b925050602083013567ffffffffffffffff811115611deb57611dea6127bf565b5b611df785828601611c38565b9150509250929050565b600060208284031215611e1757611e166127c4565b5b6000611e2584828501611bb8565b91505092915050565b600060208284031215611e4457611e436127c4565b5b6000611e5284828501611bcd565b91505092915050565b60008060008060608587031215611e7557611e746127c4565b5b600085013567ffffffffffffffff811115611e9357611e926127bf565b5b611e9f87828801611be2565b94509450506020611eb287828801611ba3565b9250506040611ec387828801611c66565b91505092959194509250565b600080600060408486031215611ee857611ee76127c4565b5b600084013567ffffffffffffffff811115611f0657611f056127bf565b5b611f1286828701611be2565b93509350506020611f2586828701611c66565b9150509250925092565b600060208284031215611f4557611f446127c4565b5b6000611f5384828501611c7b565b91505092915050565b611f6581612686565b82525050565b611f74816126a4565b82525050565b6000611f868385612659565b9350611f93838584612709565b611f9c836127c9565b840190509392505050565b6000611fb3838561266a565b9350611fc0838584612709565b82840190509392505050565b6000611fd782612643565b611fe18185612659565b9350611ff1818560208601612718565b611ffa816127c9565b840191505092915050565b600061201082612643565b61201a818561266a565b935061202a818560208601612718565b80840191505092915050565b61203f816126e5565b82525050565b61204e816126f7565b82525050565b600061205f8261264e565b6120698185612675565b9350612079818560208601612718565b612082816127c9565b840191505092915050565b600061209a602683612675565b91506120a5826127da565b604082019050919050565b60006120bd602c83612675565b91506120c882612829565b604082019050919050565b60006120e0602c83612675565b91506120eb82612878565b604082019050919050565b6000612103602683612675565b915061210e826128c7565b604082019050919050565b6000612126603883612675565b915061213182612916565b604082019050919050565b6000612149602983612675565b915061215482612965565b604082019050919050565b600061216c602e83612675565b9150612177826129b4565b604082019050919050565b600061218f602e83612675565b915061219a82612a03565b604082019050919050565b60006121b2602d83612675565b91506121bd82612a52565b604082019050919050565b60006121d5602083612675565b91506121e082612aa1565b602082019050919050565b60006121f860008361266a565b915061220382612aca565b600082019050919050565b600061221b601d83612675565b915061222682612acd565b602082019050919050565b600061223e602b83612675565b915061224982612af6565b604082019050919050565b6000612261602a83612675565b915061226c82612b45565b604082019050919050565b612280816126ce565b82525050565b6000612293828486611fa7565b91508190509392505050565b60006122ab8284612005565b915081905092915050565b60006122c1826121eb565b9150819050919050565b60006020820190506122e06000830184611f5c565b92915050565b60006060820190506122fb6000830186611f5c565b6123086020830185611f5c565b6123156040830184612277565b949350505050565b60006040820190506123326000830185611f5c565b61233f6020830184612036565b9392505050565b600060408201905061235b6000830185611f5c565b6123686020830184612277565b9392505050565b60006020820190506123846000830184611f6b565b92915050565b600060408201905081810360008301526123a5818587611f7a565b90506123b46020830184612277565b949350505050565b600060208201905081810360008301526123d68184611fcc565b905092915050565b60006020820190506123f36000830184612045565b92915050565b600060208201905081810360008301526124138184612054565b905092915050565b600060208201905081810360008301526124348161208d565b9050919050565b60006020820190508181036000830152612454816120b0565b9050919050565b60006020820190508181036000830152612474816120d3565b9050919050565b60006020820190508181036000830152612494816120f6565b9050919050565b600060208201905081810360008301526124b481612119565b9050919050565b600060208201905081810360008301526124d48161213c565b9050919050565b600060208201905081810360008301526124f48161215f565b9050919050565b6000602082019050818103600083015261251481612182565b9050919050565b60006020820190508181036000830152612534816121a5565b9050919050565b60006020820190508181036000830152612554816121c8565b9050919050565b600060208201905081810360008301526125748161220e565b9050919050565b6000602082019050818103600083015261259481612231565b9050919050565b600060208201905081810360008301526125b481612254565b9050919050565b60006040820190506125d06000830186612277565b81810360208301526125e3818486611f7a565b9050949350505050565b60006125f7612608565b9050612603828261274b565b919050565b6000604051905090565b600067ffffffffffffffff82111561262d5761262c61277c565b5b612636826127c9565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612691826126ae565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006126f0826126ce565b9050919050565b6000612702826126d8565b9050919050565b82818337600083830152505050565b60005b8381101561273657808201518184015260208101905061271b565b83811115612745576000848401525b50505050565b612754826127c9565b810181811067ffffffffffffffff821117156127735761277261277c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b612b9d81612686565b8114612ba857600080fd5b50565b612bb481612698565b8114612bbf57600080fd5b50565b612bcb816126a4565b8114612bd657600080fd5b50565b612be2816126ce565b8114612bed57600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220699c2256eca66f8488c1485e7974cf745161cc9a860fbfb0f8c6b08bc28e39a364736f6c63430008070033"; type GatewayEVMUpgradeTestConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/prototypes/evm/GatewayEVM__factory.ts b/typechain-types/factories/contracts/prototypes/evm/GatewayEVM__factory.ts index 3203cdfb..4aaaf5aa 100644 --- a/typechain-types/factories/contracts/prototypes/evm/GatewayEVM__factory.ts +++ b/typechain-types/factories/contracts/prototypes/evm/GatewayEVM__factory.ts @@ -535,7 +535,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220154452ab17b7ec6558ae20cf0777deee4780b8e192489db9d10e2ac9e3d689a364736f6c63430008070033"; + "0x60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c61312362000243600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220dc52fc7d58bfe3dc5ace9e348e11ef61df6b49159168382a1ac68268acb86ebf64736f6c63430008070033"; type GatewayEVMConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/prototypes/evm/ReceiverEVM__factory.ts b/typechain-types/factories/contracts/prototypes/evm/ReceiverEVM__factory.ts index cda804bb..a5587719 100644 --- a/typechain-types/factories/contracts/prototypes/evm/ReceiverEVM__factory.ts +++ b/typechain-types/factories/contracts/prototypes/evm/ReceiverEVM__factory.ts @@ -201,7 +201,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea2646970667358221220086a1c9f56ed96506c7198d50cf431a5b03003c16cd4168d2395cdedfc1ac06164736f6c63430008070033"; + "0x608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea264697066735822122051bc1e54f38c77a2494563adb3467b39c2fd6e537d1dc0ced5a09c32d03b765064736f6c63430008070033"; type ReceiverEVMConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/prototypes/evm/TestERC20__factory.ts b/typechain-types/factories/contracts/prototypes/evm/TestERC20__factory.ts index d6f04373..3db34bce 100644 --- a/typechain-types/factories/contracts/prototypes/evm/TestERC20__factory.ts +++ b/typechain-types/factories/contracts/prototypes/evm/TestERC20__factory.ts @@ -317,7 +317,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c63430008070033"; + "0x60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220545991303ac9a4f6b3cfc261c565c8e48863d83d13d75ba6df5ddb3ee8e609dd64736f6c63430008070033"; type TestERC20ConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/prototypes/index.ts b/typechain-types/factories/contracts/prototypes/index.ts index 242fb084..33289123 100644 --- a/typechain-types/factories/contracts/prototypes/index.ts +++ b/typechain-types/factories/contracts/prototypes/index.ts @@ -2,5 +2,4 @@ /* tslint:disable */ /* eslint-disable */ export * as evm from "./evm"; -export * as test from "./test"; export * as zevm from "./zevm"; diff --git a/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest__factory.ts b/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest__factory.ts new file mode 100644 index 00000000..fc0a9953 --- /dev/null +++ b/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest__factory.ts @@ -0,0 +1,970 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../../common"; +import type { + GatewayEVMInboundTest, + GatewayEVMInboundTestInterface, +} from "../../../../../contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMInboundTest"; + +const _abi = [ + { + inputs: [], + name: "ApprovalFailed", + type: "error", + }, + { + inputs: [], + name: "CustodyInitialized", + type: "error", + }, + { + inputs: [], + name: "DepositFailed", + type: "error", + }, + { + inputs: [], + name: "ExecutionFailed", + type: "error", + }, + { + inputs: [], + name: "InsufficientERC20Amount", + type: "error", + }, + { + inputs: [], + name: "InsufficientETHAmount", + type: "error", + }, + { + inputs: [], + name: "ZeroAddress", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "payload", + type: "bytes", + }, + ], + name: "Call", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "receiver", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "asset", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "payload", + type: "bytes", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "destination", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "Executed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "ExecutedWithERC20", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "destination", + type: "address", + }, + ], + name: "ReceivedERC20", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ReceivedNoParams", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "string[]", + name: "strs", + type: "string[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "nums", + type: "uint256[]", + }, + { + indexed: false, + internalType: "bool", + name: "flag", + type: "bool", + }, + ], + name: "ReceivedNonPayable", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "str", + type: "string", + }, + { + indexed: false, + internalType: "uint256", + name: "num", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "flag", + type: "bool", + }, + ], + name: "ReceivedPayable", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "", + type: "string", + }, + ], + name: "log", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "", + type: "address", + }, + ], + name: "log_address", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256[]", + name: "val", + type: "uint256[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "int256[]", + name: "val", + type: "int256[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address[]", + name: "val", + type: "address[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "log_bytes", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "log_bytes32", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "int256", + name: "", + type: "int256", + }, + ], + name: "log_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "address", + name: "val", + type: "address", + }, + ], + name: "log_named_address", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256[]", + name: "val", + type: "uint256[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256[]", + name: "val", + type: "int256[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "address[]", + name: "val", + type: "address[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "val", + type: "bytes", + }, + ], + name: "log_named_bytes", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "bytes32", + name: "val", + type: "bytes32", + }, + ], + name: "log_named_bytes32", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256", + name: "val", + type: "int256", + }, + { + indexed: false, + internalType: "uint256", + name: "decimals", + type: "uint256", + }, + ], + name: "log_named_decimal_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256", + name: "val", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "decimals", + type: "uint256", + }, + ], + name: "log_named_decimal_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256", + name: "val", + type: "int256", + }, + ], + name: "log_named_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "val", + type: "string", + }, + ], + name: "log_named_string", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256", + name: "val", + type: "uint256", + }, + ], + name: "log_named_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "", + type: "string", + }, + ], + name: "log_string", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "log_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "logs", + type: "event", + }, + { + inputs: [], + name: "IS_TEST", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeArtifacts", + outputs: [ + { + internalType: "string[]", + name: "excludedArtifacts_", + type: "string[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeContracts", + outputs: [ + { + internalType: "address[]", + name: "excludedContracts_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeSelectors", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzSelector[]", + name: "excludedSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeSenders", + outputs: [ + { + internalType: "address[]", + name: "excludedSenders_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "failed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "setUp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "targetArtifactSelectors", + outputs: [ + { + components: [ + { + internalType: "string", + name: "artifact", + type: "string", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzArtifactSelector[]", + name: "targetedArtifactSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetArtifacts", + outputs: [ + { + internalType: "string[]", + name: "targetedArtifacts_", + type: "string[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetContracts", + outputs: [ + { + internalType: "address[]", + name: "targetedContracts_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetInterfaces", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "string[]", + name: "artifacts", + type: "string[]", + }, + ], + internalType: "struct StdInvariant.FuzzInterface[]", + name: "targetedInterfaces_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetSelectors", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzSelector[]", + name: "targetedSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetSenders", + outputs: [ + { + internalType: "address[]", + name: "targetedSenders_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "testCallWithPayload", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testDepositERC20ToCustody", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testDepositERC20ToCustodyWithPayload", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testDepositEthToTss", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testDepositEthToTssWithPayload", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testFailDepositERC20ToCustodyIfAmountIs0", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testFailDepositERC20ToCustodyWithPayloadIfAmountIs0", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testFailDepositEthToTssIfAmountIs0", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testFailDepositEthToTssWithPayloadIfAmountIs0", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff021916908315150217905550620f424060255534801561004d57600080fd5b50619b58806200005e6000396000f3fe60806040523480156200001157600080fd5b5060043610620001605760003560e01c8063916a17c611620000c9578063ba414fa61162000087578063ba414fa614620002eb578063bb93f11e146200030d578063c13d738f1462000319578063e20c9f711462000325578063f96c02df1462000347578063fa7626d414620003535762000160565b8063916a17c6146200026d5780639fd1e597146200028f578063aa030c1c146200029b578063b0464fdc14620002a7578063b5508aa914620002c95762000160565b806330f7c04f116200012357806330f7c04f14620001cd5780633e5e3c2314620001d95780633f7286f414620001fb5780636459542a146200021d57806366d9a9a0146200022957806385226c81146200024b5762000160565b806306978ca314620001655780630724d8e314620001715780630a9254e4146200017d5780631ed7831c14620001895780632ade388014620001ab575b600080fd5b6200016f62000375565b005b6200017b620004be565b005b6200018762000780565b005b6200019362000be4565b604051620001a29190620039be565b60405180910390f35b620001b562000c74565b604051620001c4919062003a2a565b60405180910390f35b620001d762000e0e565b005b620001e3620014ce565b604051620001f29190620039be565b60405180910390f35b620002056200155e565b604051620002149190620039be565b60405180910390f35b62000227620015ee565b005b6200023362001bf3565b60405162000242919062003a06565b60405180910390f35b6200025562001d8a565b604051620002649190620039e2565b60405180910390f35b6200027762001e6d565b60405162000286919062003a4e565b60405180910390f35b6200029962001fc0565b005b620002a56200233d565b005b620002b162002614565b604051620002c0919062003a4e565b60405180910390f35b620002d362002767565b604051620002e29190620039e2565b60405180910390f35b620002f56200284a565b60405162000304919062003a72565b60405180910390f35b620003176200297d565b005b6200032362002ba3565b005b6200032f62002da4565b6040516200033e9190620039be565b60405180910390f35b6200035162002e34565b005b6200035d6200307a565b6040516200036c919062003a72565b60405180910390f35b60007f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518163ffffffff1660e01b8152600401620003d39062003b69565b600060405180830381600087803b158015620003ee57600080fd5b505af115801562000403573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f340fa0182602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040162000487919062003882565b6000604051808303818588803b158015620004a157600080fd5b505af1158015620004b6573d6000803e3d6000fd5b505050505050565b6000620186a090506000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163190507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200058e95949392919062003a8f565b600060405180830381600087803b158015620005a957600080fd5b505af1158015620005be573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48460006040516200066892919062003bcf565b60405180910390a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f340fa0183602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401620006f0919062003882565b6000604051808303818588803b1580156200070a57600080fd5b505af11580156200071f573d6000803e3d6000fd5b50505050506000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163190506200077b838362000774919062003dee565b826200308d565b505050565b30602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615678602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620008559062003123565b620008609062003b32565b604051809103906000f0801580156200087d573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620008cc9062003131565b604051809103906000f080158015620008e9573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200095b906200313f565b62000967919062003882565b604051809103906000f08015801562000984573d6000803e3d6000fd5b50602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de8602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000a44919062003882565b600060405180830381600087803b15801562000a5f57600080fd5b505af115801562000a74573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae7a3a6f602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000af7919062003882565b600060405180830381600087803b15801562000b1257600080fd5b505af115801562000b27573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166025546040518363ffffffff1660e01b815260040162000bae92919062003900565b600060405180830381600087803b15801562000bc957600080fd5b505af115801562000bde573d6000803e3d6000fd5b50505050565b6060601680548060200260200160405190810160405280929190818152602001828054801562000c6a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000c1f575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000e0557838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b8282101562000ded57838290600052602060002001805462000d599062003f3c565b80601f016020809104026020016040519081016040528092919081815260200182805462000d879062003f3c565b801562000dd85780601f1062000dac5761010080835404028352916020019162000dd8565b820191906000526020600020905b81548152906001019060200180831162000dba57829003601f168201915b50505050508152602001906001019062000d37565b50505050815250508152602001906001019062000c98565b50505050905090565b6000620186a090506000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000e97919062003882565b60206040518083038186803b15801562000eb057600080fd5b505afa15801562000ec5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000eeb9190620031f6565b905062000efa6000826200308d565b6000602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240162000f31919062003882565b6040516020818303038152906040527f84fae760000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b81526004016200103192919062003900565b602060405180830381600087803b1580156200104c57600080fd5b505af115801562001061573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001087919062003192565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200111295949392919062003a8f565b600060405180830381600087803b1580156200112d57600080fd5b505af115801562001142573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a485602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040516200120f9392919062003b8b565b60405180910390a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c6f037f602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518563ffffffff1660e01b8152600401620012be94939291906200396a565b600060405180830381600087803b158015620012d957600080fd5b505af1158015620012ee573d6000803e3d6000fd5b505050506000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001373919062003882565b60206040518083038186803b1580156200138c57600080fd5b505afa158015620013a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013c79190620031f6565b9050620013d584826200308d565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001456919062003882565b60206040518083038186803b1580156200146f57600080fd5b505afa15801562001484573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014aa9190620031f6565b9050620014c785602554620014c0919062003e4b565b826200308d565b5050505050565b606060188054806020026020016040519081016040528092919081815260200182805480156200155457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001509575b5050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015620015e457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001599575b5050505050905090565b6000620186a090506000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001677919062003882565b60206040518083038186803b1580156200169057600080fd5b505afa158015620016a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016cb9190620031f6565b9050620016da6000826200308d565b602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b81526004016200175b92919062003900565b602060405180830381600087803b1580156200177657600080fd5b505af11580156200178b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017b1919062003192565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200183c95949392919062003a8f565b600060405180830381600087803b1580156200185757600080fd5b505af11580156200186c573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a484602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200193792919062003bcf565b60405180910390a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f45346dc602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401620019e4939291906200392d565b600060405180830381600087803b158015620019ff57600080fd5b505af115801562001a14573d6000803e3d6000fd5b505050506000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001a99919062003882565b60206040518083038186803b15801562001ab257600080fd5b505afa15801562001ac7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001aed9190620031f6565b905062001afb83826200308d565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001b7c919062003882565b60206040518083038186803b15801562001b9557600080fd5b505afa15801562001baa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bd09190620031f6565b905062001bed8460255462001be6919062003e4b565b826200308d565b50505050565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001d81578382906000526020600020906002020160405180604001604052908160008201805462001c4d9062003f3c565b80601f016020809104026020016040519081016040528092919081815260200182805462001c7b9062003f3c565b801562001ccc5780601f1062001ca05761010080835404028352916020019162001ccc565b820191906000526020600020905b81548152906001019060200180831162001cae57829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801562001d6857602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162001d145790505b5050505050815250508152602001906001019062001c17565b50505050905090565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001e6457838290600052602060002001805462001dd09062003f3c565b80601f016020809104026020016040519081016040528092919081815260200182805462001dfe9062003f3c565b801562001e4f5780601f1062001e235761010080835404028352916020019162001e4f565b820191906000526020600020905b81548152906001019060200180831162001e3157829003601f168201915b50505050508152602001906001019062001dae565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562001fb757838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562001f9e57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162001f4a5790505b5050505050815250508152602001906001019062001e91565b50505050905090565b6000620186a090506000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163190506000602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516024016200203d919062003882565b6040516020818303038152906040527f84fae760000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200214695949392919062003a8f565b600060405180830381600087803b1580156200216157600080fd5b505af115801562002176573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a485600085604051620022229392919062003b8b565b60405180910390a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329c59b5d84602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401620022ac929190620038cc565b6000604051808303818588803b158015620022c657600080fd5b505af1158015620022db573d6000803e3d6000fd5b50505050506000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905062002337848462002330919062003dee565b826200308d565b50505050565b6000602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240162002374919062003882565b6040516020818303038152906040527f84fae760000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200247d95949392919062003a8f565b600060405180830381600087803b1580156200249857600080fd5b505af1158015620024ad573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde38360405162002554919062003aec565b60405180910390a3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631b8b921d602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401620025dd929190620038cc565b600060405180830381600087803b158015620025f857600080fd5b505af11580156200260d573d6000803e3d6000fd5b5050505050565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200275e57838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156200274557602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620026f15790505b5050505050815250508152602001906001019062002638565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562002841578382906000526020600020018054620027ad9062003f3c565b80601f0160208091040260200160405190810160405280929190818152602001828054620027db9062003f3c565b80156200282c5780601f1062002800576101008083540402835291602001916200282c565b820191906000526020600020905b8154815290600101906020018083116200280e57829003601f168201915b5050505050815260200190600101906200278b565b50505050905090565b6000600860009054906101000a900460ff16156200287a57600860009054906101000a900460ff1690506200297a565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401620029219291906200389f565b60206040518083038186803b1580156200293a57600080fd5b505afa1580156200294f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620029759190620031c4565b141590505b90565b600080602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602401620029b5919062003882565b6040516020818303038152906040527f84fae760000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518163ffffffff1660e01b815260040162002a909062003b10565b600060405180830381600087803b15801562002aab57600080fd5b505af115801562002ac0573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c6f037f602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518563ffffffff1660e01b815260040162002b6b94939291906200396a565b600060405180830381600087803b15801562002b8657600080fd5b505af115801562002b9b573d6000803e3d6000fd5b505050505050565b600080602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240162002bdb919062003882565b6040516020818303038152906040527f84fae760000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518163ffffffff1660e01b815260040162002cb69062003b69565b600060405180830381600087803b15801562002cd157600080fd5b505af115801562002ce6573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166329c59b5d83602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b815260040162002d6c929190620038cc565b6000604051808303818588803b15801562002d8657600080fd5b505af115801562002d9b573d6000803e3d6000fd5b50505050505050565b6060601580548060200260200160405190810160405280929190818152602001828054801562002e2a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162002ddf575b5050505050905090565b6000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040162002eb792919062003900565b602060405180830381600087803b15801562002ed257600080fd5b505af115801562002ee7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002f0d919062003192565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f28dceb36040518163ffffffff1660e01b815260040162002f6a9062003b10565b600060405180830381600087803b15801562002f8557600080fd5b505af115801562002f9a573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f45346dc602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b815260040162003043939291906200392d565b600060405180830381600087803b1580156200305e57600080fd5b505af115801562003073573d6000803e3d6000fd5b5050505050565b601f60009054906101000a900460ff1681565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166398296c5483836040518363ffffffff1660e01b8152600401620030ed92919062003c11565b60006040518083038186803b1580156200310657600080fd5b505afa1580156200311b573d6000803e3d6000fd5b505050505050565b61181380620040dc83390190565b6131a480620058ef83390190565b6110908062008a9383390190565b6000815190506200315e816200408d565b92915050565b6000815190506200317581620040a7565b92915050565b6000815190506200318c81620040c1565b92915050565b600060208284031215620031ab57620031aa62003fd0565b5b6000620031bb848285016200314d565b91505092915050565b600060208284031215620031dd57620031dc62003fd0565b5b6000620031ed8482850162003164565b91505092915050565b6000602082840312156200320f576200320e62003fd0565b5b60006200321f848285016200317b565b91505092915050565b6000620032368383620032b4565b60208301905092915050565b600062003250838362003651565b60208301905092915050565b60006200326a8383620036a3565b905092915050565b6000620032808383620037a7565b905092915050565b6000620032968383620037ef565b905092915050565b6000620032ac838362003830565b905092915050565b620032bf8162003e86565b82525050565b620032d08162003e86565b82525050565b6000620032e38262003c9e565b620032ef818562003d44565b9350620032fc8362003c3e565b8060005b838110156200333357815162003317888262003228565b9750620033248362003cf6565b92505060018101905062003300565b5085935050505092915050565b60006200334d8262003ca9565b62003359818562003d55565b9350620033668362003c4e565b8060005b838110156200339d57815162003381888262003242565b97506200338e8362003d03565b9250506001810190506200336a565b5085935050505092915050565b6000620033b78262003cb4565b620033c3818562003d66565b935083602082028501620033d78562003c5e565b8060005b85811015620034195784840389528151620033f785826200325c565b9450620034048362003d10565b925060208a01995050600181019050620033db565b50829750879550505050505092915050565b6000620034388262003cb4565b62003444818562003d77565b935083602082028501620034588562003c5e565b8060005b858110156200349a57848403895281516200347885826200325c565b9450620034858362003d10565b925060208a019950506001810190506200345c565b50829750879550505050505092915050565b6000620034b98262003cbf565b620034c5818562003d88565b935083602082028501620034d98562003c6e565b8060005b858110156200351b5784840389528151620034f9858262003272565b9450620035068362003d1d565b925060208a01995050600181019050620034dd565b50829750879550505050505092915050565b60006200353a8262003cca565b62003546818562003d99565b9350836020820285016200355a8562003c7e565b8060005b858110156200359c57848403895281516200357a858262003288565b9450620035878362003d2a565b925060208a019950506001810190506200355e565b50829750879550505050505092915050565b6000620035bb8262003cd5565b620035c7818562003daa565b935083602082028501620035db8562003c8e565b8060005b858110156200361d5784840389528151620035fb85826200329e565b9450620036088362003d37565b925060208a01995050600181019050620035df565b50829750879550505050505092915050565b6200363a8162003e9a565b82525050565b6200364b8162003ea6565b82525050565b6200365c8162003eb0565b82525050565b60006200366f8262003ce0565b6200367b818562003dbb565b93506200368d81856020860162003f06565b620036988162003fd5565b840191505092915050565b6000620036b08262003ceb565b620036bc818562003dcc565b9350620036ce81856020860162003f06565b620036d98162003fd5565b840191505092915050565b6000620036f360038362003ddd565b9150620037008262003fe6565b602082019050919050565b60006200371a60178362003dbb565b915062003727826200400f565b602082019050919050565b60006200374160048362003ddd565b91506200374e8262004038565b602082019050919050565b60006200376860008362003dbb565b9150620037758262004061565b600082019050919050565b60006200378f60158362003dbb565b91506200379c8262004064565b602082019050919050565b60006040830160008301518482036000860152620037c68282620036a3565b91505060208301518482036020860152620037e2828262003340565b9150508091505092915050565b6000604083016000830151620038096000860182620032b4565b5060208301518482036020860152620038238282620033aa565b9150508091505092915050565b60006040830160008301516200384a6000860182620032b4565b506020830151848203602086015262003864828262003340565b9150508091505092915050565b6200387c8162003efc565b82525050565b6000602082019050620038996000830184620032c5565b92915050565b6000604082019050620038b66000830185620032c5565b620038c5602083018462003640565b9392505050565b6000604082019050620038e36000830185620032c5565b8181036020830152620038f7818462003662565b90509392505050565b6000604082019050620039176000830185620032c5565b62003926602083018462003871565b9392505050565b6000606082019050620039446000830186620032c5565b62003953602083018562003871565b620039626040830184620032c5565b949350505050565b6000608082019050620039816000830187620032c5565b62003990602083018662003871565b6200399f6040830185620032c5565b8181036060830152620039b3818462003662565b905095945050505050565b60006020820190508181036000830152620039da8184620032d6565b905092915050565b60006020820190508181036000830152620039fe81846200342b565b905092915050565b6000602082019050818103600083015262003a228184620034ac565b905092915050565b6000602082019050818103600083015262003a4681846200352d565b905092915050565b6000602082019050818103600083015262003a6a8184620035ae565b905092915050565b600060208201905062003a8960008301846200362f565b92915050565b600060a08201905062003aa660008301886200362f565b62003ab560208301876200362f565b62003ac460408301866200362f565b62003ad360608301856200362f565b62003ae26080830184620032c5565b9695505050505050565b6000602082019050818103600083015262003b08818462003662565b905092915050565b6000602082019050818103600083015262003b2b816200370b565b9050919050565b6000604082019050818103600083015262003b4d8162003732565b9050818103602083015262003b6281620036e4565b9050919050565b6000602082019050818103600083015262003b848162003780565b9050919050565b600060608201905062003ba2600083018662003871565b62003bb16020830185620032c5565b818103604083015262003bc5818462003662565b9050949350505050565b600060608201905062003be6600083018562003871565b62003bf56020830184620032c5565b818103604083015262003c088162003759565b90509392505050565b600060408201905062003c28600083018562003871565b62003c37602083018462003871565b9392505050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600062003dfb8262003efc565b915062003e088362003efc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562003e405762003e3f62003f72565b5b828201905092915050565b600062003e588262003efc565b915062003e658362003efc565b92508282101562003e7b5762003e7a62003f72565b5b828203905092915050565b600062003e938262003edc565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562003f2657808201518184015260208101905062003f09565b8381111562003f36576000848401525b50505050565b6000600282049050600182168062003f5557607f821691505b6020821081141562003f6c5762003f6b62003fa1565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f54544b0000000000000000000000000000000000000000000000000000000000600082015250565b7f496e73756666696369656e744552433230416d6f756e74000000000000000000600082015250565b7f7465737400000000000000000000000000000000000000000000000000000000600082015250565b50565b7f496e73756666696369656e74455448416d6f756e740000000000000000000000600082015250565b620040988162003e9a565b8114620040a457600080fd5b50565b620040b28162003ea6565b8114620040be57600080fd5b50565b620040cc8162003efc565b8114620040d857600080fd5b5056fe60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220bda16da68115d43d899e50b7ec6d5a336fd24cf187474373ee646397da0aedcc64736f6c6343000807003360806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033a26469706673582212202ce8815d151e695af42ea67f3ed856bc49e806dac3d45f97220dc65e9895f17664736f6c63430008070033"; + +type GatewayEVMInboundTestConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GatewayEVMInboundTestConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GatewayEVMInboundTest__factory extends ContractFactory { + constructor(...args: GatewayEVMInboundTestConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): GatewayEVMInboundTest { + return super.attach(address) as GatewayEVMInboundTest; + } + override connect(signer: Signer): GatewayEVMInboundTest__factory { + return super.connect(signer) as GatewayEVMInboundTest__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GatewayEVMInboundTestInterface { + return new utils.Interface(_abi) as GatewayEVMInboundTestInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GatewayEVMInboundTest { + return new Contract( + address, + _abi, + signerOrProvider + ) as GatewayEVMInboundTest; + } +} diff --git a/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest__factory.ts b/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest__factory.ts index 3a79b828..25d78957 100644 --- a/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest__factory.ts +++ b/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest__factory.ts @@ -850,6 +850,34 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "testForwardCallToReceiveERC20ThroughCustody", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testForwardCallToReceiveNoParams", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testForwardCallToReceiveNoParamsThroughCustody", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testForwardCallToReceiveNonPayable", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [], name: "testForwardCallToReceivePayable", @@ -860,7 +888,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b5061807d806100566000396000f3fe60806040523480156200001157600080fd5b5060043610620001005760003560e01c8063916a17c61162000099578063ba414fa6116200006f578063ba414fa61462000243578063e20c9f711462000265578063fa7626d41462000287578063fe7bdbb214620002a95762000100565b8063916a17c614620001dd578063b0464fdc14620001ff578063b5508aa914620002215762000100565b80633e5e3c2311620000db5780633e5e3c2314620001555780633f7286f4146200017757806366d9a9a0146200019957806385226c8114620001bb5762000100565b80630a9254e414620001055780631ed7831c14620001115780632ade38801462000133575b600080fd5b6200010f620002b5565b005b6200011b620007f5565b6040516200012a919062001fc1565b60405180910390f35b6200013d62000885565b6040516200014c91906200202d565b60405180910390f35b6200015f62000a1f565b6040516200016e919062001fc1565b60405180910390f35b6200018162000aaf565b60405162000190919062001fc1565b60405180910390f35b620001a362000b3f565b604051620001b2919062002009565b60405180910390f35b620001c562000cd6565b604051620001d4919062001fe5565b60405180910390f35b620001e762000db9565b604051620001f6919062002051565b60405180910390f35b6200020962000f0c565b60405162000218919062002051565b60405180910390f35b6200022b6200105f565b6040516200023a919062001fe5565b60405180910390f35b6200024d62001142565b6040516200025c919062002075565b60405180910390f35b6200026f62001275565b6040516200027e919062001fc1565b60405180910390f35b6200029162001305565b604051620002a0919062002075565b60405180910390f35b620002b362001318565b005b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615678602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040516200038a90620016d2565b620003959062002133565b604051809103906000f080158015620003b2573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040516200040190620016e0565b604051809103906000f0801580156200041e573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200049090620016ee565b6200049c919062001ea5565b604051809103906000f080158015620004b9573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de8602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000579919062001ea5565b600060405180830381600087803b1580156200059457600080fd5b505af1158015620005a9573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae7a3a6f602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200062c919062001ea5565b600060405180830381600087803b1580156200064757600080fd5b505af11580156200065c573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b8152600401620006e492919062001f23565b600060405180830381600087803b158015620006ff57600080fd5b505af115801562000714573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166207a1206040518363ffffffff1660e01b81526004016200079c92919062001f50565b602060405180830381600087803b158015620007b757600080fd5b505af1158015620007cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007f29190620017a8565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200087b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000830575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000a1657838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015620009fe5783829060005260206000200180546200096a906200248b565b80601f016020809104026020016040519081016040528092919081815260200182805462000998906200248b565b8015620009e95780601f10620009bd57610100808354040283529160200191620009e9565b820191906000526020600020905b815481529060010190602001808311620009cb57829003601f168201915b50505050508152602001906001019062000948565b505050508152505081526020019060010190620008a9565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000aa557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000a5a575b5050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000b3557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000aea575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562000ccd578382906000526020600020906002020160405180604001604052908160008201805462000b99906200248b565b80601f016020809104026020016040519081016040528092919081815260200182805462000bc7906200248b565b801562000c185780601f1062000bec5761010080835404028352916020019162000c18565b820191906000526020600020905b81548152906001019060200180831162000bfa57829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801562000cb457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000c605790505b5050505050815250508152602001906001019062000b63565b50505050905090565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562000db057838290600052602060002001805462000d1c906200248b565b80601f016020809104026020016040519081016040528092919081815260200182805462000d4a906200248b565b801562000d9b5780601f1062000d6f5761010080835404028352916020019162000d9b565b820191906000526020600020905b81548152906001019060200180831162000d7d57829003601f168201915b50505050508152602001906001019062000cfa565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562000f0357838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562000eea57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000e965790505b5050505050815250508152602001906001019062000ddd565b50505050905090565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200105657838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156200103d57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162000fe95790505b5050505050815250508152602001906001019062000f30565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001139578382906000526020600020018054620010a5906200248b565b80601f0160208091040260200160405190810160405280929190818152602001828054620010d3906200248b565b8015620011245780601f10620010f85761010080835404028352916020019162001124565b820191906000526020600020905b8154815290600101906020018083116200110657829003601f168201915b50505050508152602001906001019062001083565b50505050905090565b6000600860009054906101000a900460ff16156200117257600860009054906101000a900460ff16905062001272565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016200121992919062001ec2565b60206040518083038186803b1580156200123257600080fd5b505afa15801562001247573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200126d9190620017da565b141590505b90565b60606015805480602002602001604051908101604052809291908181526020018280548015620012fb57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620012b0575b5050505050905090565b601f60009054906101000a900460ff1681565b60006040518060400160405280600f81526020017f48656c6c6f2c20466f756e64727921000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a7640000905060008484846040516024016200138493929190620020ef565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f30c7ba3602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684846040518463ffffffff1660e01b8152600401620014879392919062001f7d565b600060405180830381600087803b158015620014a257600080fd5b505af1158015620014b7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200154595949392919062002092565b600060405180830381600087803b1580156200156057600080fd5b505af115801562001575573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f8383604051620015e59291906200216a565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd83602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b81526004016200166f92919062001eef565b6000604051808303818588803b1580156200168957600080fd5b505af11580156200169e573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f82011682018060405250810190620016ca91906200180c565b505050505050565b611813806200260183390190565b6131a48062003e1483390190565b6110908062006fb883390190565b6000620017136200170d84620021c7565b6200219e565b9050828152602081018484840111156200173257620017316200255a565b5b6200173f84828562002455565b509392505050565b6000815190506200175881620025cc565b92915050565b6000815190506200176f81620025e6565b92915050565b600082601f8301126200178d576200178c62002555565b5b81516200179f848260208601620016fc565b91505092915050565b600060208284031215620017c157620017c062002564565b5b6000620017d18482850162001747565b91505092915050565b600060208284031215620017f357620017f262002564565b5b600062001803848285016200175e565b91505092915050565b60006020828403121562001825576200182462002564565b5b600082015167ffffffffffffffff8111156200184657620018456200255f565b5b620018548482850162001775565b91505092915050565b60006200186b8383620018e9565b60208301905092915050565b600062001885838362001c86565b60208301905092915050565b60006200189f838362001cfa565b905092915050565b6000620018b5838362001dca565b905092915050565b6000620018cb838362001e12565b905092915050565b6000620018e1838362001e53565b905092915050565b620018f481620023ad565b82525050565b6200190581620023ad565b82525050565b600062001918826200225d565b62001924818562002303565b93506200193183620021fd565b8060005b83811015620019685781516200194c88826200185d565b97506200195983620022b5565b92505060018101905062001935565b5085935050505092915050565b6000620019828262002268565b6200198e818562002314565b93506200199b836200220d565b8060005b83811015620019d2578151620019b6888262001877565b9750620019c383620022c2565b9250506001810190506200199f565b5085935050505092915050565b6000620019ec8262002273565b620019f8818562002325565b93508360208202850162001a0c856200221d565b8060005b8581101562001a4e578484038952815162001a2c858262001891565b945062001a3983620022cf565b925060208a0199505060018101905062001a10565b50829750879550505050505092915050565b600062001a6d8262002273565b62001a79818562002336565b93508360208202850162001a8d856200221d565b8060005b8581101562001acf578484038952815162001aad858262001891565b945062001aba83620022cf565b925060208a0199505060018101905062001a91565b50829750879550505050505092915050565b600062001aee826200227e565b62001afa818562002347565b93508360208202850162001b0e856200222d565b8060005b8581101562001b50578484038952815162001b2e8582620018a7565b945062001b3b83620022dc565b925060208a0199505060018101905062001b12565b50829750879550505050505092915050565b600062001b6f8262002289565b62001b7b818562002358565b93508360208202850162001b8f856200223d565b8060005b8581101562001bd1578484038952815162001baf8582620018bd565b945062001bbc83620022e9565b925060208a0199505060018101905062001b93565b50829750879550505050505092915050565b600062001bf08262002294565b62001bfc818562002369565b93508360208202850162001c10856200224d565b8060005b8581101562001c52578484038952815162001c308582620018d3565b945062001c3d83620022f6565b925060208a0199505060018101905062001c14565b50829750879550505050505092915050565b62001c6f81620023c1565b82525050565b62001c8081620023cd565b82525050565b62001c9181620023d7565b82525050565b600062001ca4826200229f565b62001cb081856200237a565b935062001cc281856020860162002455565b62001ccd8162002569565b840191505092915050565b62001ce3816200242d565b82525050565b62001cf48162002441565b82525050565b600062001d0782620022aa565b62001d1381856200238b565b935062001d2581856020860162002455565b62001d308162002569565b840191505092915050565b600062001d4882620022aa565b62001d5481856200239c565b935062001d6681856020860162002455565b62001d718162002569565b840191505092915050565b600062001d8b6003836200239c565b915062001d98826200257a565b602082019050919050565b600062001db26004836200239c565b915062001dbf82620025a3565b602082019050919050565b6000604083016000830151848203600086015262001de9828262001cfa565b9150506020830151848203602086015262001e05828262001975565b9150508091505092915050565b600060408301600083015162001e2c6000860182620018e9565b506020830151848203602086015262001e468282620019df565b9150508091505092915050565b600060408301600083015162001e6d6000860182620018e9565b506020830151848203602086015262001e87828262001975565b9150508091505092915050565b62001e9f8162002423565b82525050565b600060208201905062001ebc6000830184620018fa565b92915050565b600060408201905062001ed96000830185620018fa565b62001ee8602083018462001c75565b9392505050565b600060408201905062001f066000830185620018fa565b818103602083015262001f1a818462001c97565b90509392505050565b600060408201905062001f3a6000830185620018fa565b62001f49602083018462001cd8565b9392505050565b600060408201905062001f676000830185620018fa565b62001f76602083018462001ce9565b9392505050565b600060608201905062001f946000830186620018fa565b62001fa3602083018562001e94565b818103604083015262001fb7818462001c97565b9050949350505050565b6000602082019050818103600083015262001fdd81846200190b565b905092915050565b6000602082019050818103600083015262002001818462001a60565b905092915050565b6000602082019050818103600083015262002025818462001ae1565b905092915050565b6000602082019050818103600083015262002049818462001b62565b905092915050565b600060208201905081810360008301526200206d818462001be3565b905092915050565b60006020820190506200208c600083018462001c64565b92915050565b600060a082019050620020a9600083018862001c64565b620020b8602083018762001c64565b620020c7604083018662001c64565b620020d6606083018562001c64565b620020e56080830184620018fa565b9695505050505050565b600060608201905081810360008301526200210b818662001d3b565b90506200211c602083018562001e94565b6200212b604083018462001c64565b949350505050565b600060408201905081810360008301526200214e8162001da3565b90508181036020830152620021638162001d7c565b9050919050565b600060408201905062002181600083018562001e94565b818103602083015262002195818462001c97565b90509392505050565b6000620021aa620021bd565b9050620021b88282620024c1565b919050565b6000604051905090565b600067ffffffffffffffff821115620021e557620021e462002526565b5b620021f08262002569565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620023ba8262002403565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200243a8262002423565b9050919050565b60006200244e8262002423565b9050919050565b60005b838110156200247557808201518184015260208101905062002458565b8381111562002485576000848401525b50505050565b60006002820490506001821680620024a457607f821691505b60208210811415620024bb57620024ba620024f7565b5b50919050565b620024cc8262002569565b810181811067ffffffffffffffff82111715620024ee57620024ed62002526565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54544b0000000000000000000000000000000000000000000000000000000000600082015250565b7f7465737400000000000000000000000000000000000000000000000000000000600082015250565b620025d781620023c1565b8114620025e357600080fd5b50565b620025f181620023cd565b8114620025fd57600080fd5b5056fe60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220154452ab17b7ec6558ae20cf0777deee4780b8e192489db9d10e2ac9e3d689a364736f6c6343000807003360806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033a2646970667358221220f8f2d8477a234d7a8fcaca5977a1df95d9cfab29717831cdaf5b49b35190234764736f6c63430008070033"; + "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b5061b15780620000576000396000f3fe60806040523480156200001157600080fd5b5060043610620001305760003560e01c8063a3f9d0e011620000b1578063cbd57e2f116200007b578063cbd57e2f14620002ad578063e20c9f7114620002b9578063f68bd1c014620002db578063fa7626d414620002e7578063fe7bdbb214620003095762000130565b8063a3f9d0e0146200023b578063b0464fdc1462000247578063b5508aa91462000269578063ba414fa6146200028b5762000130565b80633f7286f411620000ff5780633f7286f414620001a757806344671b9414620001c957806366d9a9a014620001d557806385226c8114620001f7578063916a17c614620002195762000130565b80630a9254e414620001355780631ed7831c14620001415780632ade388014620001635780633e5e3c231462000185575b600080fd5b6200013f62000315565b005b6200014b620008c1565b6040516200015a919062003e08565b60405180910390f35b6200016d62000951565b6040516200017c919062003ebf565b60405180910390f35b6200018f62000aeb565b6040516200019e919062003e08565b60405180910390f35b620001b162000b7b565b604051620001c0919062003e08565b60405180910390f35b620001d362000c0b565b005b620001df62001077565b604051620001ee919062003e9b565b60405180910390f35b620002016200120e565b60405162000210919062003e2c565b60405180910390f35b62000223620012f1565b60405162000232919062003ee3565b60405180910390f35b6200024562001444565b005b6200025162001b5a565b60405162000260919062003ee3565b60405180910390f35b6200027362001cad565b60405162000282919062003e2c565b60405180910390f35b6200029562001d90565b604051620002a4919062003f07565b60405180910390f35b620002b762001ec3565b005b620002c362002684565b604051620002d2919062003e08565b60405180910390f35b620002e562002714565b005b620002f162002cc7565b60405162000300919062003f07565b60405180910390f35b6200031362002cda565b005b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615678602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620003ea906200324b565b620003f59062003ff9565b604051809103906000f08015801562000412573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620004619062003259565b604051809103906000f0801580156200047e573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620004f09062003267565b620004fc919062003b1b565b604051809103906000f08015801562000519573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620005689062003275565b604051809103906000f08015801562000585573d6000803e3d6000fd5b50602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de8602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000645919062003b1b565b600060405180830381600087803b1580156200066057600080fd5b505af115801562000675573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae7a3a6f602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620006f8919062003b1b565b600060405180830381600087803b1580156200071357600080fd5b505af115801562000728573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b8152600401620007b092919062003cb9565b600060405180830381600087803b158015620007cb57600080fd5b505af1158015620007e0573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166207a1206040518363ffffffff1660e01b81526004016200086892919062003ce6565b602060405180830381600087803b1580156200088357600080fd5b505af115801562000898573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008be919062003346565b50565b606060168054806020026020016040519081016040528092919081815260200182805480156200094757602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620008fc575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000ae257838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b8282101562000aca57838290600052602060002001805462000a369062004443565b80601f016020809104026020016040519081016040528092919081815260200182805462000a649062004443565b801562000ab55780601f1062000a895761010080835404028352916020019162000ab5565b820191906000526020600020905b81548152906001019060200180831162000a9757829003601f168201915b50505050508152602001906001019062000a14565b50505050815250508152602001906001019062000975565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000b7157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000b26575b5050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000c0157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000bb6575b5050505050905090565b60006040516024016040516020818303038152906040527f6ed70169000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f30c7ba3602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000846040518463ffffffff1660e01b815260040162000d179392919062003c75565b600060405180830381600087803b15801562000d3257600080fd5b505af115801562000d47573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162000dd595949392919062003f24565b600060405180830381600087803b15801562000df057600080fd5b505af115801562000e05573d6000803e3d6000fd5b505050507fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162000e5c919062003b1b565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162000eee95949392919062003f24565b600060405180830381600087803b15801562000f0957600080fd5b505af115801562000f1e573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f60008360405162000f8f92919062003f81565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016200101892919062003c41565b600060405180830381600087803b1580156200103357600080fd5b505af115801562001048573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190620010739190620033aa565b5050565b6060601b805480602002602001604051908101604052809291908181526020016000905b82821015620012055783829060005260206000209060020201604051806040016040529081600082018054620010d19062004443565b80601f0160208091040260200160405190810160405280929190818152602001828054620010ff9062004443565b8015620011505780601f10620011245761010080835404028352916020019162001150565b820191906000526020600020905b8154815290600101906020018083116200113257829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015620011ec57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620011985790505b505050505081525050815260200190600101906200109b565b50505050905090565b6060601a805480602002602001604051908101604052809291908181526020016000905b82821015620012e8578382906000526020600020018054620012549062004443565b80601f0160208091040260200160405190810160405280929190818152602001828054620012829062004443565b8015620012d35780601f10620012a757610100808354040283529160200191620012d3565b820191906000526020600020905b815481529060010190602001808311620012b557829003601f168201915b50505050508152602001906001019062001232565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b828210156200143b57838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156200142257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620013ce5790505b5050505050815250508152602001906001019062001315565b50505050905090565b6000620186a0905060006040516024016040516020818303038152906040527f6ed70169000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001554919062003b1b565b60206040518083038186803b1580156200156d57600080fd5b505afa15801562001582573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620015a89190620033fb565b9050620015b7816000620031b5565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001638919062003b1b565b60206040518083038186803b1580156200165157600080fd5b505afa15801562001666573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200168c9190620033fb565b90507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200171895949392919062003f24565b600060405180830381600087803b1580156200173357600080fd5b505af115801562001748573d6000803e3d6000fd5b505050507fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200179f919062003b1b565b60405180910390a1602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321fc65f2602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687876040518563ffffffff1660e01b81526004016200184e949392919062003b65565b600060405180830381600087803b1580156200186957600080fd5b505af11580156200187e573d6000803e3d6000fd5b505050506000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001903919062003b1b565b60206040518083038186803b1580156200191c57600080fd5b505afa15801562001931573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620019579190620033fb565b905062001966816000620031b5565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620019e7919062003b1b565b60206040518083038186803b15801562001a0057600080fd5b505afa15801562001a15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a3b9190620033fb565b905062001a498184620031b5565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040162001aee92919062003b38565b60206040518083038186803b15801562001b0757600080fd5b505afa15801562001b1c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b429190620033fb565b905062001b51816000620031b5565b50505050505050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562001ca457838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562001c8b57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162001c375790505b5050505050815250508152602001906001019062001b7e565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001d8757838290600052602060002001805462001cf39062004443565b80601f016020809104026020016040519081016040528092919081815260200182805462001d219062004443565b801562001d725780601f1062001d465761010080835404028352916020019162001d72565b820191906000526020600020905b81548152906001019060200180831162001d5457829003601f168201915b50505050508152602001906001019062001cd1565b50505050905090565b6000600860009054906101000a900460ff161562001dc057600860009054906101000a900460ff16905062001ec0565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040162001e6792919062003c14565b60206040518083038186803b15801562001e8057600080fd5b505afa15801562001e95573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001ebb919062003378565b141590505b90565b6000620186a09050600081602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240162001f289392919062004030565b6040516020818303038152906040527f357fc5a2000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162002028919062003b1b565b60206040518083038186803b1580156200204157600080fd5b505afa15801562002056573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200207c9190620033fb565b90506200208b816000620031b5565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200210c919062003b1b565b60206040518083038186803b1580156200212557600080fd5b505afa1580156200213a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021609190620033fb565b90507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b8152600401620021ec95949392919062003f24565b600060405180830381600087803b1580156200220757600080fd5b505af11580156200221c573d6000803e3d6000fd5b505050507f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af60601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620022bd949392919062003d13565b60405180910390a1602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321fc65f2602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687876040518563ffffffff1660e01b81526004016200236c949392919062003b65565b600060405180830381600087803b1580156200238757600080fd5b505af11580156200239c573d6000803e3d6000fd5b505050506000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162002421919062003b1b565b60206040518083038186803b1580156200243a57600080fd5b505afa1580156200244f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024759190620033fb565b9050620024838186620031b5565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162002504919062003b1b565b60206040518083038186803b1580156200251d57600080fd5b505afa15801562002532573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620025589190620033fb565b9050620025738187856200256d919062004316565b620031b5565b6000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016200261892919062003b38565b60206040518083038186803b1580156200263157600080fd5b505afa15801562002646573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200266c9190620033fb565b90506200267b816000620031b5565b50505050505050565b606060158054806020026020016040519081016040528092919081815260200182805480156200270a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620026bf575b5050505050905090565b6000600167ffffffffffffffff8111156200273457620027336200453c565b5b6040519080825280602002602001820160405280156200276957816020015b6060815260200190600190039081620027535790505b5090506040518060400160405280600f81526020017f48656c6c6f2c20466f756e64727921000000000000000000000000000000000081525081600081518110620027b957620027b86200450d565b5b60200260200101819052506000600167ffffffffffffffff811115620027e457620027e36200453c565b5b604051908082528060200260200182016040528015620028135781602001602082028036833780820191505090505b509050602a816000815181106200282f576200282e6200450d565b5b60200260200101818152505060006001905060008383836040516024016200285a9392919062003e50565b6040516020818303038152906040527ff05b6abf000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f30c7ba3602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000846040518463ffffffff1660e01b81526004016200295e9392919062003c75565b600060405180830381600087803b1580156200297957600080fd5b505af11580156200298e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162002a1c95949392919062003f24565b600060405180830381600087803b15801562002a3757600080fd5b505af115801562002a4c573d6000803e3d6000fd5b505050507f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685858560405162002aa9949392919062003bb9565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162002b3b95949392919062003f24565b600060405180830381600087803b15801562002b5657600080fd5b505af115801562002b6b573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f60008360405162002bdc92919062003f81565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040162002c6592919062003c41565b600060405180830381600087803b15801562002c8057600080fd5b505af115801562002c95573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019062002cc09190620033aa565b5050505050565b601f60009054906101000a900460ff1681565b60006040518060400160405280600f81526020017f48656c6c6f2c20466f756e64727921000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a76400009050600084848460405160240162002d469392919062003fb5565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f30c7ba3602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684846040518463ffffffff1660e01b815260040162002e499392919062003d60565b600060405180830381600087803b15801562002e6457600080fd5b505af115801562002e79573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162002f0795949392919062003f24565b600060405180830381600087803b15801562002f2257600080fd5b505af115801562002f37573d6000803e3d6000fd5b505050507f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168387878760405162002f9695949392919062003da4565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200302895949392919062003f24565b600060405180830381600087803b1580156200304357600080fd5b505af115801562003058573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f8383604051620030c89291906200406d565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd83602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b81526004016200315292919062003c41565b6000604051808303818588803b1580156200316c57600080fd5b505af115801562003181573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f82011682018060405250810190620031ad9190620033aa565b505050505050565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166398296c5483836040518363ffffffff1660e01b815260040162003215929190620040a1565b60006040518083038186803b1580156200322e57600080fd5b505afa15801562003243573d6000803e3d6000fd5b505050505050565b611813806200463183390190565b6131a48062005e4483390190565b6110908062008fe883390190565b6110aa806200a07883390190565b60006200329a6200329484620040f7565b620040ce565b905082815260208101848484011115620032b957620032b862004570565b5b620032c68482856200440d565b509392505050565b600081519050620032df81620045e2565b92915050565b600081519050620032f681620045fc565b92915050565b600082601f8301126200331457620033136200456b565b5b81516200332684826020860162003283565b91505092915050565b600081519050620033408162004616565b92915050565b6000602082840312156200335f576200335e6200457a565b5b60006200336f84828501620032ce565b91505092915050565b6000602082840312156200339157620033906200457a565b5b6000620033a184828501620032e5565b91505092915050565b600060208284031215620033c357620033c26200457a565b5b600082015167ffffffffffffffff811115620033e457620033e362004575565b5b620033f284828501620032fc565b91505092915050565b6000602082840312156200341457620034136200457a565b5b600062003424848285016200332f565b91505092915050565b60006200343b8383620034d3565b60208301905092915050565b6000620034558383620038da565b60208301905092915050565b60006200346f83836200395f565b905092915050565b600062003485838362003a2f565b905092915050565b60006200349b838362003a77565b905092915050565b6000620034b1838362003ab8565b905092915050565b6000620034c7838362003af9565b60208301905092915050565b620034de8162004351565b82525050565b620034ef8162004351565b82525050565b600062003502826200419d565b6200350e81856200425b565b93506200351b836200412d565b8060005b83811015620035525781516200353688826200342d565b9750620035438362004200565b9250506001810190506200351f565b5085935050505092915050565b60006200356c82620041a8565b6200357881856200426c565b935062003585836200413d565b8060005b83811015620035bc578151620035a0888262003447565b9750620035ad836200420d565b92505060018101905062003589565b5085935050505092915050565b6000620035d682620041b3565b620035e281856200427d565b935083602082028501620035f6856200414d565b8060005b8581101562003638578484038952815162003616858262003461565b945062003623836200421a565b925060208a01995050600181019050620035fa565b50829750879550505050505092915050565b60006200365782620041b3565b6200366381856200428e565b93508360208202850162003677856200414d565b8060005b85811015620036b9578484038952815162003697858262003461565b9450620036a4836200421a565b925060208a019950506001810190506200367b565b50829750879550505050505092915050565b6000620036d882620041be565b620036e481856200429f565b935083602082028501620036f8856200415d565b8060005b858110156200373a578484038952815162003718858262003477565b9450620037258362004227565b925060208a01995050600181019050620036fc565b50829750879550505050505092915050565b60006200375982620041c9565b620037658185620042b0565b93508360208202850162003779856200416d565b8060005b85811015620037bb57848403895281516200379985826200348d565b9450620037a68362004234565b925060208a019950506001810190506200377d565b50829750879550505050505092915050565b6000620037da82620041d4565b620037e68185620042c1565b935083602082028501620037fa856200417d565b8060005b858110156200383c57848403895281516200381a8582620034a3565b9450620038278362004241565b925060208a01995050600181019050620037fe565b50829750879550505050505092915050565b60006200385b82620041df565b620038678185620042d2565b935062003874836200418d565b8060005b83811015620038ab5781516200388f8882620034b9565b97506200389c836200424e565b92505060018101905062003878565b5085935050505092915050565b620038c38162004365565b82525050565b620038d48162004371565b82525050565b620038e5816200437b565b82525050565b6000620038f882620041ea565b620039048185620042e3565b9350620039168185602086016200440d565b62003921816200457f565b840191505092915050565b6200393781620043d1565b82525050565b6200394881620043e5565b82525050565b6200395981620043f9565b82525050565b60006200396c82620041f5565b620039788185620042f4565b93506200398a8185602086016200440d565b62003995816200457f565b840191505092915050565b6000620039ad82620041f5565b620039b9818562004305565b9350620039cb8185602086016200440d565b620039d6816200457f565b840191505092915050565b6000620039f060038362004305565b9150620039fd8262004590565b602082019050919050565b600062003a1760048362004305565b915062003a2482620045b9565b602082019050919050565b6000604083016000830151848203600086015262003a4e82826200395f565b9150506020830151848203602086015262003a6a82826200355f565b9150508091505092915050565b600060408301600083015162003a916000860182620034d3565b506020830151848203602086015262003aab8282620035c9565b9150508091505092915050565b600060408301600083015162003ad26000860182620034d3565b506020830151848203602086015262003aec82826200355f565b9150508091505092915050565b62003b0481620043c7565b82525050565b62003b1581620043c7565b82525050565b600060208201905062003b326000830184620034e4565b92915050565b600060408201905062003b4f6000830185620034e4565b62003b5e6020830184620034e4565b9392505050565b600060808201905062003b7c6000830187620034e4565b62003b8b6020830186620034e4565b62003b9a604083018562003b0a565b818103606083015262003bae8184620038eb565b905095945050505050565b600060808201905062003bd06000830187620034e4565b818103602083015262003be481866200364a565b9050818103604083015262003bfa81856200384e565b905062003c0b6060830184620038b8565b95945050505050565b600060408201905062003c2b6000830185620034e4565b62003c3a6020830184620038c9565b9392505050565b600060408201905062003c586000830185620034e4565b818103602083015262003c6c8184620038eb565b90509392505050565b600060608201905062003c8c6000830186620034e4565b62003c9b60208301856200392c565b818103604083015262003caf8184620038eb565b9050949350505050565b600060408201905062003cd06000830185620034e4565b62003cdf60208301846200393d565b9392505050565b600060408201905062003cfd6000830185620034e4565b62003d0c60208301846200394e565b9392505050565b600060808201905062003d2a6000830187620034e4565b62003d39602083018662003b0a565b62003d486040830185620034e4565b62003d576060830184620034e4565b95945050505050565b600060608201905062003d776000830186620034e4565b62003d86602083018562003b0a565b818103604083015262003d9a8184620038eb565b9050949350505050565b600060a08201905062003dbb6000830188620034e4565b62003dca602083018762003b0a565b818103604083015262003dde8186620039a0565b905062003def606083018562003b0a565b62003dfe6080830184620038b8565b9695505050505050565b6000602082019050818103600083015262003e248184620034f5565b905092915050565b6000602082019050818103600083015262003e4881846200364a565b905092915050565b6000606082019050818103600083015262003e6c81866200364a565b9050818103602083015262003e8281856200384e565b905062003e936040830184620038b8565b949350505050565b6000602082019050818103600083015262003eb78184620036cb565b905092915050565b6000602082019050818103600083015262003edb81846200374c565b905092915050565b6000602082019050818103600083015262003eff8184620037cd565b905092915050565b600060208201905062003f1e6000830184620038b8565b92915050565b600060a08201905062003f3b6000830188620038b8565b62003f4a6020830187620038b8565b62003f596040830186620038b8565b62003f686060830185620038b8565b62003f776080830184620034e4565b9695505050505050565b600060408201905062003f9860008301856200392c565b818103602083015262003fac8184620038eb565b90509392505050565b6000606082019050818103600083015262003fd18186620039a0565b905062003fe2602083018562003b0a565b62003ff16040830184620038b8565b949350505050565b60006040820190508181036000830152620040148162003a08565b905081810360208301526200402981620039e1565b9050919050565b600060608201905062004047600083018662003b0a565b620040566020830185620034e4565b620040656040830184620034e4565b949350505050565b600060408201905062004084600083018562003b0a565b8181036020830152620040988184620038eb565b90509392505050565b6000604082019050620040b8600083018562003b0a565b620040c7602083018462003b0a565b9392505050565b6000620040da620040ed565b9050620040e8828262004479565b919050565b6000604051905090565b600067ffffffffffffffff8211156200411557620041146200453c565b5b62004120826200457f565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006200432382620043c7565b91506200433083620043c7565b925082821015620043465762004345620044af565b5b828203905092915050565b60006200435e82620043a7565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000620043de82620043c7565b9050919050565b6000620043f282620043c7565b9050919050565b60006200440682620043c7565b9050919050565b60005b838110156200442d57808201518184015260208101905062004410565b838111156200443d576000848401525b50505050565b600060028204905060018216806200445c57607f821691505b60208210811415620044735762004472620044de565b5b50919050565b62004484826200457f565b810181811067ffffffffffffffff82111715620044a657620044a56200453c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f54544b0000000000000000000000000000000000000000000000000000000000600082015250565b7f7465737400000000000000000000000000000000000000000000000000000000600082015250565b620045ed8162004365565b8114620045f957600080fd5b50565b620046078162004371565b81146200461357600080fd5b50565b6200462181620043c7565b81146200462d57600080fd5b5056fe60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220bda16da68115d43d899e50b7ec6d5a336fd24cf187474373ee646397da0aedcc64736f6c6343000807003360806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea2646970667358221220086a1c9f56ed96506c7198d50cf431a5b03003c16cd4168d2395cdedfc1ac06164736f6c63430008070033a26469706673582212205f68314d70cbca5df72618f63a245250a727cf186b1089e2d7971f0a9103e8a464736f6c63430008070033"; type GatewayEVMTestConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/index.ts b/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/index.ts index 9427818e..aa9a507c 100644 --- a/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/index.ts +++ b/typechain-types/factories/contracts/prototypes/test/GatewayEVM.t.sol/index.ts @@ -1,4 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ +export { GatewayEVMInboundTest__factory } from "./GatewayEVMInboundTest__factory"; export { GatewayEVMTest__factory } from "./GatewayEVMTest__factory"; diff --git a/typechain-types/factories/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest__factory.ts b/typechain-types/factories/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest__factory.ts index 51673daa..9dd7b542 100644 --- a/typechain-types/factories/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest__factory.ts +++ b/typechain-types/factories/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest__factory.ts @@ -953,6 +953,13 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "testCallReceiverEVMFromSenderZEVM", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [], name: "testCallReceiverEVMFromZEVM", @@ -960,10 +967,24 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [], + name: "testWithdrawAndCallReceiverEVMFromSenderZEVM", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testWithdrawAndCallReceiverEVMFromZEVM", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, ] as const; const _bytecode = - "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b506201142f80620000586000396000f3fe60806040523480156200001157600080fd5b5060043610620001005760003560e01c8063916a17c61162000099578063b5508aa9116200006f578063b5508aa9146200022d578063ba414fa6146200024f578063e20c9f711462000271578063fa7626d414620002935762000100565b8063916a17c614620001dd5780639683c69514620001ff578063b0464fdc146200020b5762000100565b80633e5e3c2311620000db5780633e5e3c2314620001555780633f7286f4146200017757806366d9a9a0146200019957806385226c8114620001bb5762000100565b80630a9254e414620001055780631ed7831c14620001115780632ade38801462000133575b600080fd5b6200010f620002b5565b005b6200011b620010b4565b6040516200012a919062002c9b565b60405180910390f35b6200013d62001144565b6040516200014c919062002d07565b60405180910390f35b6200015f620012de565b6040516200016e919062002c9b565b60405180910390f35b620001816200136e565b60405162000190919062002c9b565b60405180910390f35b620001a3620013fe565b604051620001b2919062002ce3565b60405180910390f35b620001c562001595565b604051620001d4919062002cbf565b60405180910390f35b620001e762001678565b604051620001f6919062002d2b565b60405180910390f35b62000209620017cb565b005b6200021562001e6a565b60405162000224919062002d2b565b60405180910390f35b6200023762001fbd565b60405162000246919062002cbf565b60405180910390f35b62000259620020a0565b60405162000268919062002d4f565b60405180910390f35b6200027b620021d3565b6040516200028a919062002c9b565b60405180910390f35b6200029d62002263565b604051620002ac919062002d4f565b60405180910390f35b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615678602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614321602a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620003cd9062002276565b620003d89062002f3a565b604051809103906000f080158015620003f5573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620004449062002284565b604051809103906000f08015801562000461573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620004d39062002292565b620004df919062002b59565b604051809103906000f080158015620004fc573d6000803e3d6000fd5b50602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de8602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620005bc919062002b59565b600060405180830381600087803b158015620005d757600080fd5b505af1158015620005ec573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae7a3a6f602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200066f919062002b59565b600060405180830381600087803b1580156200068a57600080fd5b505af11580156200069f573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b81526004016200072792919062002c14565b600060405180830381600087803b1580156200074257600080fd5b505af115801562000757573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166207a1206040518363ffffffff1660e01b8152600401620007df92919062002c41565b602060405180830381600087803b158015620007fa57600080fd5b505af11580156200080f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000835919062002392565b506040516200084490620022a0565b604051809103906000f08015801562000861573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620008b090620022ae565b604051809103906000f080158015620008cd573d6000803e3d6000fd5b50602660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200093f90620022bc565b6200094b919062002b59565b604051809103906000f08015801562000968573d6000803e3d6000fd5b50602760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073735b14bb79463307aacbed86daf3322b1e6226ab90507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166306447d56826040518263ffffffff1660e01b815260040162000a20919062002b59565b600060405180830381600087803b15801562000a3b57600080fd5b505af115801562000a50573d6000803e3d6000fd5b50505050600080600060405162000a6790620022ca565b62000a759392919062002b76565b604051809103906000f08015801562000a92573d6000803e3d6000fd5b50602860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060126001600080602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162000b2e90620022d8565b62000b3f9695949392919062002ea2565b604051809103906000f08015801562000b5c573d6000803e3d6000fd5b50602960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee2815ba6001602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040162000c1f92919062002e04565b600060405180830381600087803b15801562000c3a57600080fd5b505af115801562000c4f573d6000803e3d6000fd5b50505050602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7cb05076001806040518363ffffffff1660e01b815260040162000cb392919062002e31565b600060405180830381600087803b15801562000cce57600080fd5b505af115801562000ce3573d6000803e3d6000fd5b50505050602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b815260040162000d6b92919062002c14565b602060405180830381600087803b15801562000d8657600080fd5b505af115801562000d9b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000dc1919062002392565b50602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b815260040162000e4692919062002c14565b602060405180830381600087803b15801562000e6157600080fd5b505af115801562000e76573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e9c919062002392565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000f0957600080fd5b505af115801562000f1e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000fa2919062002b59565b600060405180830381600087803b15801562000fbd57600080fd5b505af115801562000fd2573d6000803e3d6000fd5b50505050602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b81526004016200105a92919062002c14565b602060405180830381600087803b1580156200107557600080fd5b505af11580156200108a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010b0919062002392565b5050565b606060168054806020026020016040519081016040528092919081815260200182805480156200113a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620010ef575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b82821015620012d557838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015620012bd578382906000526020600020018054620012299062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620012579062003340565b8015620012a85780601f106200127c57610100808354040283529160200191620012a8565b820191906000526020600020905b8154815290600101906020018083116200128a57829003601f168201915b50505050508152602001906001019062001207565b50505050815250508152602001906001019062001168565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156200136457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001319575b5050505050905090565b60606017805480602002602001604051908101604052809291908181526020018280548015620013f457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620013a9575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200158c5783829060005260206000209060020201604051806040016040529081600082018054620014589062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620014869062003340565b8015620014d75780601f10620014ab57610100808354040283529160200191620014d7565b820191906000526020600020905b815481529060010190602001808311620014b957829003601f168201915b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156200157357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116200151f5790505b5050505050815250508152602001906001019062001422565b50505050905090565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200166f578382906000526020600020018054620015db9062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620016099062003340565b80156200165a5780601f106200162e576101008083540402835291602001916200165a565b820191906000526020600020905b8154815290600101906020018083116200163c57829003601f168201915b505050505081526020019060010190620015b9565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015620017c257838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020018280548015620017a957602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620017555790505b505050505081525050815260200190600101906200169c565b50505050905090565b60006040518060400160405280600f81526020017f48656c6c6f2c204861726468617421000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a76400009050600063e04d4f9760e01b8585856040516024016200183f9392919062002e5e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200191e919062002b59565b600060405180830381600087803b1580156200193957600080fd5b505af11580156200194e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b8152600401620019dc95949392919062002d6c565b600060405180830381600087803b158015620019f757600080fd5b505af115801562001a0c573d6000803e3d6000fd5b50505050602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001a9f919062002b3c565b6040516020818303038152906040528360405162001abf92919062002dc9565b60405180910390a2602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ac7c44c602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001b3a919062002b3c565b604051602081830303815290604052836040518363ffffffff1660e01b815260040162001b6992919062002dc9565b600060405180830381600087803b15801562001b8457600080fd5b505af115801562001b99573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040162001c1f92919062002c6e565b600060405180830381600087803b15801562001c3a57600080fd5b505af115801562001c4f573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162001cdd95949392919062002d6c565b600060405180830381600087803b15801562001cf857600080fd5b505af115801562001d0d573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f838360405162001d7d92919062002f71565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd83602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b815260040162001e0792919062002be0565b6000604051808303818588803b15801562001e2157600080fd5b505af115801562001e36573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f8201168201806040525081019062001e629190620023f6565b505050505050565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562001fb457838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562001f9b57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162001f475790505b5050505050815250508152602001906001019062001e8e565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562002097578382906000526020600020018054620020039062003340565b80601f0160208091040260200160405190810160405280929190818152602001828054620020319062003340565b8015620020825780601f10620020565761010080835404028352916020019162002082565b820191906000526020600020905b8154815290600101906020018083116200206457829003601f168201915b50505050508152602001906001019062001fe1565b50505050905090565b6000600860009054906101000a900460ff1615620020d057600860009054906101000a900460ff169050620021d0565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016200217792919062002bb3565b60206040518083038186803b1580156200219057600080fd5b505afa158015620021a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620021cb9190620023c4565b141590505b90565b606060158054806020026020016040519081016040528092919081815260200182805480156200225957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116200220e575b5050505050905090565b601f60009054906101000a900460ff1681565b611813806200358383390190565b6131a48062004d9683390190565b6110908062007f3a83390190565b6110aa8062008fca83390190565b612eb5806200a07483390190565b610bcd806200cf2983390190565b6110d7806200daf683390190565b61282d806200ebcd83390190565b6000620022fd620022f78462002fce565b62002fa5565b9050828152602081018484840111156200231c576200231b62003466565b5b620023298482856200330a565b509392505050565b60008151905062002342816200354e565b92915050565b600081519050620023598162003568565b92915050565b600082601f83011262002377576200237662003461565b5b815162002389848260208601620022e6565b91505092915050565b600060208284031215620023ab57620023aa62003470565b5b6000620023bb8482850162002331565b91505092915050565b600060208284031215620023dd57620023dc62003470565b5b6000620023ed8482850162002348565b91505092915050565b6000602082840312156200240f576200240e62003470565b5b600082015167ffffffffffffffff81111562002430576200242f6200346b565b5b6200243e848285016200235f565b91505092915050565b6000620024558383620024d3565b60208301905092915050565b60006200246f838362002870565b60208301905092915050565b600062002489838362002943565b905092915050565b60006200249f838362002a61565b905092915050565b6000620024b5838362002aa9565b905092915050565b6000620024cb838362002aea565b905092915050565b620024de81620031b4565b82525050565b620024ef81620031b4565b82525050565b6000620025028262003064565b6200250e81856200310a565b93506200251b8362003004565b8060005b838110156200255257815162002536888262002447565b97506200254383620030bc565b9250506001810190506200251f565b5085935050505092915050565b60006200256c826200306f565b6200257881856200311b565b9350620025858362003014565b8060005b83811015620025bc578151620025a0888262002461565b9750620025ad83620030c9565b92505060018101905062002589565b5085935050505092915050565b6000620025d6826200307a565b620025e281856200312c565b935083602082028501620025f68562003024565b8060005b858110156200263857848403895281516200261685826200247b565b94506200262383620030d6565b925060208a01995050600181019050620025fa565b50829750879550505050505092915050565b600062002657826200307a565b6200266381856200313d565b935083602082028501620026778562003024565b8060005b85811015620026b957848403895281516200269785826200247b565b9450620026a483620030d6565b925060208a019950506001810190506200267b565b50829750879550505050505092915050565b6000620026d88262003085565b620026e481856200314e565b935083602082028501620026f88562003034565b8060005b858110156200273a578484038952815162002718858262002491565b94506200272583620030e3565b925060208a01995050600181019050620026fc565b50829750879550505050505092915050565b6000620027598262003090565b6200276581856200315f565b935083602082028501620027798562003044565b8060005b85811015620027bb5784840389528151620027998582620024a7565b9450620027a683620030f0565b925060208a019950506001810190506200277d565b50829750879550505050505092915050565b6000620027da826200309b565b620027e6818562003170565b935083602082028501620027fa8562003054565b8060005b858110156200283c57848403895281516200281a8582620024bd565b94506200282783620030fd565b925060208a01995050600181019050620027fe565b50829750879550505050505092915050565b6200285981620031c8565b82525050565b6200286a81620031d4565b82525050565b6200287b81620031de565b82525050565b60006200288e82620030a6565b6200289a818562003181565b9350620028ac8185602086016200330a565b620028b78162003475565b840191505092915050565b620028d7620028d18262003256565b620033ac565b82525050565b620028e8816200326a565b82525050565b620028f9816200327e565b82525050565b6200290a8162003292565b82525050565b6200291b81620032a6565b82525050565b6200292c81620032ba565b82525050565b6200293d81620032ce565b82525050565b60006200295082620030b1565b6200295c818562003192565b93506200296e8185602086016200330a565b620029798162003475565b840191505092915050565b60006200299182620030b1565b6200299d8185620031a3565b9350620029af8185602086016200330a565b620029ba8162003475565b840191505092915050565b6000620029d4600383620031a3565b9150620029e18262003493565b602082019050919050565b6000620029fb600583620031a3565b915062002a0882620034bc565b602082019050919050565b600062002a22600483620031a3565b915062002a2f82620034e5565b602082019050919050565b600062002a49600383620031a3565b915062002a56826200350e565b602082019050919050565b6000604083016000830151848203600086015262002a80828262002943565b9150506020830151848203602086015262002a9c82826200255f565b9150508091505092915050565b600060408301600083015162002ac36000860182620024d3565b506020830151848203602086015262002add8282620025c9565b9150508091505092915050565b600060408301600083015162002b046000860182620024d3565b506020830151848203602086015262002b1e82826200255f565b9150508091505092915050565b62002b36816200323f565b82525050565b600062002b4a8284620028c2565b60148201915081905092915050565b600060208201905062002b706000830184620024e4565b92915050565b600060608201905062002b8d6000830186620024e4565b62002b9c6020830185620024e4565b62002bab6040830184620024e4565b949350505050565b600060408201905062002bca6000830185620024e4565b62002bd960208301846200285f565b9392505050565b600060408201905062002bf76000830185620024e4565b818103602083015262002c0b818462002881565b90509392505050565b600060408201905062002c2b6000830185620024e4565b62002c3a6020830184620028ff565b9392505050565b600060408201905062002c586000830185620024e4565b62002c67602083018462002932565b9392505050565b600060408201905062002c856000830185620024e4565b62002c94602083018462002b2b565b9392505050565b6000602082019050818103600083015262002cb78184620024f5565b905092915050565b6000602082019050818103600083015262002cdb81846200264a565b905092915050565b6000602082019050818103600083015262002cff8184620026cb565b905092915050565b6000602082019050818103600083015262002d2381846200274c565b905092915050565b6000602082019050818103600083015262002d478184620027cd565b905092915050565b600060208201905062002d6660008301846200284e565b92915050565b600060a08201905062002d8360008301886200284e565b62002d9260208301876200284e565b62002da160408301866200284e565b62002db060608301856200284e565b62002dbf6080830184620024e4565b9695505050505050565b6000604082019050818103600083015262002de5818562002881565b9050818103602083015262002dfb818462002881565b90509392505050565b600060408201905062002e1b600083018562002921565b62002e2a6020830184620024e4565b9392505050565b600060408201905062002e48600083018562002921565b62002e57602083018462002921565b9392505050565b6000606082019050818103600083015262002e7a818662002984565b905062002e8b602083018562002b2b565b62002e9a60408301846200284e565b949350505050565b600061010082019050818103600083015262002ebe81620029ec565b9050818103602083015262002ed38162002a3a565b905062002ee4604083018962002910565b62002ef3606083018862002921565b62002f026080830187620028dd565b62002f1160a0830186620028ee565b62002f2060c0830185620024e4565b62002f2f60e0830184620024e4565b979650505050505050565b6000604082019050818103600083015262002f558162002a13565b9050818103602083015262002f6a81620029c5565b9050919050565b600060408201905062002f88600083018562002b2b565b818103602083015262002f9c818462002881565b90509392505050565b600062002fb162002fc4565b905062002fbf828262003376565b919050565b6000604051905090565b600067ffffffffffffffff82111562002fec5762002feb62003432565b5b62002ff78262003475565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620031c1826200321f565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506200321a8262003537565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006200326382620032e2565b9050919050565b600062003277826200320a565b9050919050565b60006200328b826200323f565b9050919050565b60006200329f826200323f565b9050919050565b6000620032b38262003249565b9050919050565b6000620032c7826200323f565b9050919050565b6000620032db826200323f565b9050919050565b6000620032ef82620032f6565b9050919050565b600062003303826200321f565b9050919050565b60005b838110156200332a5780820151818401526020810190506200330d565b838111156200333a576000848401525b50505050565b600060028204905060018216806200335957607f821691505b6020821081141562003370576200336f62003403565b5b50919050565b620033818262003475565b810181811067ffffffffffffffff82111715620033a357620033a262003432565b5b80604052505050565b6000620033b982620033c0565b9050919050565b6000620033cd8262003486565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f54544b0000000000000000000000000000000000000000000000000000000000600082015250565b7f544f4b454e000000000000000000000000000000000000000000000000000000600082015250565b7f7465737400000000000000000000000000000000000000000000000000000000600082015250565b7f544b4e0000000000000000000000000000000000000000000000000000000000600082015250565b600381106200354b576200354a620033d4565b5b50565b6200355981620031c8565b81146200356557600080fd5b50565b6200357381620031d4565b81146200357f57600080fd5b5056fe60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220154452ab17b7ec6558ae20cf0777deee4780b8e192489db9d10e2ac9e3d689a364736f6c6343000807003360806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea2646970667358221220086a1c9f56ed96506c7198d50cf431a5b03003c16cd4168d2395cdedfc1ac06164736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c726200024360003960008181610433015281816104c2015281816105d40152818161066301526107130152612c726000f3fe6080604052600436106100dd5760003560e01c80637993c1e01161007f578063bcf7f32b11610059578063bcf7f32b14610251578063c39aca371461027a578063f2fde38b146102a3578063f45346dc146102cc576100dd565b80637993c1e0146101e65780638129fc1c1461020f5780638da5cb5b14610226576100dd565b80633ce4a5bc116100bb5780633ce4a5bc1461015d5780634f1ef2861461018857806352d1902d146101a4578063715018a6146101cf576100dd565b80630ac7c44c146100e2578063135390f91461010b5780633659cfe614610134575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190611c80565b6102f5565b005b34801561011757600080fd5b50610132600480360381019061012d9190611cfc565b61034c565b005b34801561014057600080fd5b5061015b60048036038101906101569190611b0a565b610431565b005b34801561016957600080fd5b506101726105ba565b60405161017f919061226e565b60405180910390f35b6101a2600480360381019061019d9190611b37565b6105d2565b005b3480156101b057600080fd5b506101b961070f565b6040516101c691906122e9565b60405180910390f35b3480156101db57600080fd5b506101e46107c8565b005b3480156101f257600080fd5b5061020d60048036038101906102089190611d6b565b6107dc565b005b34801561021b57600080fd5b506102246108c7565b005b34801561023257600080fd5b5061023b610a0d565b604051610248919061226e565b60405180910390f35b34801561025d57600080fd5b5061027860048036038101906102739190611e0f565b610a37565b005b34801561028657600080fd5b506102a1600480360381019061029c9190611e0f565b610b2b565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190611b0a565b610d5d565b005b3480156102d857600080fd5b506102f360048036038101906102ee9190611bd3565b610de1565b005b3373ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f84848460405161033f93929190612304565b60405180910390a2505050565b60006103588383610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8585848673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103db57600080fd5b505afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104139190611ec5565b60405161042394939291906123a0565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614156104c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b79061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104ff61128d565b73ffffffffffffffffffffffffffffffffffffffff1614610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c9061247c565b60405180910390fd5b61055e816112e4565b6105b781600067ffffffffffffffff81111561057d5761057c61282b565b5b6040519080825280601f01601f1916602001820160405280156105af5781602001600182028036833780820191505090505b5060006112ef565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106589061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106a061128d565b73ffffffffffffffffffffffffffffffffffffffff16146106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed9061247c565b60405180910390fd5b6106ff826112e4565b61070b828260016112ef565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461079f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107969061249c565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b6107d061146c565b6107da60006114ea565b565b60006107e88585610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8787848873ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190611ec5565b88886040516108b79695949392919061233d565b60405180910390a2505050505050565b60008060019054906101000a900460ff161590508080156108f85750600160008054906101000a900460ff1660ff16105b806109255750610907306115b0565b1580156109245750600160008054906101000a900460ff1660ff16145b5b610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b906124dc565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156109a1576001600060016101000a81548160ff0219169083151502179055505b6109a96115d3565b6109b161162c565b8015610a0a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610a0191906123ff565b60405180910390a15b50565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610af195949392919061259c565b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50505050505050505050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba4576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610c1d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610c54576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166347e7ef2484866040518363ffffffff1660e01b8152600401610c8f9291906122c0565b602060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce19190611c26565b508273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610d2395949392919061259c565b600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b50505050505050505050565b610d6561146c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc9061243c565b60405180910390fd5b610dde816114ea565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610ed357503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610f0a576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166347e7ef2482846040518363ffffffff1660e01b8152600401610f459291906122c0565b602060405180830381600087803b158015610f5f57600080fd5b505af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611c26565b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b8152600401604080518083038186803b158015610fe757600080fd5b505afa158015610ffb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101f9190611b93565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b815260040161107493929190612289565b602060405180830381600087803b15801561108e57600080fd5b505af11580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190611c26565b6110fc576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b815260040161113993929190612289565b602060405180830381600087803b15801561115357600080fd5b505af1158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190611c26565b6111c1576040517f4dd9ee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166342966c68866040518263ffffffff1660e01b81526004016111fa91906125f1565b602060405180830381600087803b15801561121457600080fd5b505af1158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190611c26565b611282576040517f2c77e05c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809250505092915050565b60006112bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112ec61146c565b50565b61131b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b611687565b60000160009054906101000a900460ff161561133f5761133a83611691565b611467565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561138557600080fd5b505afa9250505080156113b657506040513d601f19601f820116820180604052508101906113b39190611c53565b60015b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec906124fc565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b811461145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906124bc565b60405180910390fd5b5061146683838361174a565b5b505050565b611474611776565b73ffffffffffffffffffffffffffffffffffffffff16611492610a0d565b73ffffffffffffffffffffffffffffffffffffffff16146114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9061253c565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611622576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116199061257c565b60405180910390fd5b61162a61177e565b565b600060019054906101000a900460ff1661167b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116729061257c565b60405180910390fd5b565b6000819050919050565b6000819050919050565b61169a816115b0565b6116d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d09061251c565b60405180910390fd5b806117067f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611753836117df565b6000825111806117605750805b156117715761176f838361182e565b505b505050565b600033905090565b600060019054906101000a900460ff166117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061257c565b60405180910390fd5b6117dd6117d8611776565b6114ea565b565b6117e881611691565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60606118538383604051806060016040528060278152602001612c166027913961185b565b905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516118859190612257565b600060405180830381855af49150503d80600081146118c0576040519150601f19603f3d011682016040523d82523d6000602084013e6118c5565b606091505b50915091506118d6868383876118e1565b925050509392505050565b606083156119445760008351141561193c576118fc856115b0565b61193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119329061255c565b60405180910390fd5b5b82905061194f565b61194e8383611957565b5b949350505050565b60008251111561196a5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e919061241a565b60405180910390fd5b60006119ba6119b584612631565b61260c565b9050828152602081018484840111156119d6576119d5612878565b5b6119e18482856127b8565b509392505050565b6000813590506119f881612bb9565b92915050565b600081519050611a0d81612bb9565b92915050565b600081519050611a2281612bd0565b92915050565b600081519050611a3781612be7565b92915050565b60008083601f840112611a5357611a52612864565b5b8235905067ffffffffffffffff811115611a7057611a6f61285f565b5b602083019150836001820283011115611a8c57611a8b612873565b5b9250929050565b600082601f830112611aa857611aa7612864565b5b8135611ab88482602086016119a7565b91505092915050565b600060608284031215611ad757611ad6612869565b5b81905092915050565b600081359050611aef81612bfe565b92915050565b600081519050611b0481612bfe565b92915050565b600060208284031215611b2057611b1f612887565b5b6000611b2e848285016119e9565b91505092915050565b60008060408385031215611b4e57611b4d612887565b5b6000611b5c858286016119e9565b925050602083013567ffffffffffffffff811115611b7d57611b7c61287d565b5b611b8985828601611a93565b9150509250929050565b60008060408385031215611baa57611ba9612887565b5b6000611bb8858286016119fe565b9250506020611bc985828601611af5565b9150509250929050565b600080600060608486031215611bec57611beb612887565b5b6000611bfa868287016119e9565b9350506020611c0b86828701611ae0565b9250506040611c1c868287016119e9565b9150509250925092565b600060208284031215611c3c57611c3b612887565b5b6000611c4a84828501611a13565b91505092915050565b600060208284031215611c6957611c68612887565b5b6000611c7784828501611a28565b91505092915050565b600080600060408486031215611c9957611c98612887565b5b600084013567ffffffffffffffff811115611cb757611cb661287d565b5b611cc386828701611a93565b935050602084013567ffffffffffffffff811115611ce457611ce361287d565b5b611cf086828701611a3d565b92509250509250925092565b600080600060608486031215611d1557611d14612887565b5b600084013567ffffffffffffffff811115611d3357611d3261287d565b5b611d3f86828701611a93565b9350506020611d5086828701611ae0565b9250506040611d61868287016119e9565b9150509250925092565b600080600080600060808688031215611d8757611d86612887565b5b600086013567ffffffffffffffff811115611da557611da461287d565b5b611db188828901611a93565b9550506020611dc288828901611ae0565b9450506040611dd3888289016119e9565b935050606086013567ffffffffffffffff811115611df457611df361287d565b5b611e0088828901611a3d565b92509250509295509295909350565b60008060008060008060a08789031215611e2c57611e2b612887565b5b600087013567ffffffffffffffff811115611e4a57611e4961287d565b5b611e5689828a01611ac1565b9650506020611e6789828a016119e9565b9550506040611e7889828a01611ae0565b9450506060611e8989828a016119e9565b935050608087013567ffffffffffffffff811115611eaa57611ea961287d565b5b611eb689828a01611a3d565b92509250509295509295509295565b600060208284031215611edb57611eda612887565b5b6000611ee984828501611af5565b91505092915050565b611efb81612747565b82525050565b611f0a81612747565b82525050565b611f1981612765565b82525050565b6000611f2b8385612678565b9350611f388385846127b8565b611f418361288c565b840190509392505050565b6000611f588385612689565b9350611f658385846127b8565b611f6e8361288c565b840190509392505050565b6000611f8482612662565b611f8e8185612689565b9350611f9e8185602086016127c7565b611fa78161288c565b840191505092915050565b6000611fbd82612662565b611fc7818561269a565b9350611fd78185602086016127c7565b80840191505092915050565b611fec816127a6565b82525050565b6000611ffd8261266d565b61200781856126a5565b93506120178185602086016127c7565b6120208161288c565b840191505092915050565b60006120386026836126a5565b91506120438261289d565b604082019050919050565b600061205b602c836126a5565b9150612066826128ec565b604082019050919050565b600061207e602c836126a5565b91506120898261293b565b604082019050919050565b60006120a16038836126a5565b91506120ac8261298a565b604082019050919050565b60006120c46029836126a5565b91506120cf826129d9565b604082019050919050565b60006120e7602e836126a5565b91506120f282612a28565b604082019050919050565b600061210a602e836126a5565b915061211582612a77565b604082019050919050565b600061212d602d836126a5565b915061213882612ac6565b604082019050919050565b60006121506020836126a5565b915061215b82612b15565b602082019050919050565b6000612173600083612689565b915061217e82612b3e565b600082019050919050565b6000612196601d836126a5565b91506121a182612b41565b602082019050919050565b60006121b9602b836126a5565b91506121c482612b6a565b604082019050919050565b6000606083016121e260008401846126cd565b85830360008701526121f5838284611f1f565b9250505061220660208401846126b6565b6122136020860182611ef2565b506122216040840184612730565b61222e6040860182612239565b508091505092915050565b6122428161278f565b82525050565b6122518161278f565b82525050565b60006122638284611fb2565b915081905092915050565b60006020820190506122836000830184611f01565b92915050565b600060608201905061229e6000830186611f01565b6122ab6020830185611f01565b6122b86040830184612248565b949350505050565b60006040820190506122d56000830185611f01565b6122e26020830184612248565b9392505050565b60006020820190506122fe6000830184611f10565b92915050565b6000604082019050818103600083015261231e8186611f79565b90508181036020830152612333818486611f4c565b9050949350505050565b600060a08201905081810360008301526123578189611f79565b90506123666020830188612248565b6123736040830187612248565b6123806060830186612248565b8181036080830152612393818486611f4c565b9050979650505050505050565b600060a08201905081810360008301526123ba8187611f79565b90506123c96020830186612248565b6123d66040830185612248565b6123e36060830184612248565b81810360808301526123f481612166565b905095945050505050565b60006020820190506124146000830184611fe3565b92915050565b600060208201905081810360008301526124348184611ff2565b905092915050565b600060208201905081810360008301526124558161202b565b9050919050565b600060208201905081810360008301526124758161204e565b9050919050565b6000602082019050818103600083015261249581612071565b9050919050565b600060208201905081810360008301526124b581612094565b9050919050565b600060208201905081810360008301526124d5816120b7565b9050919050565b600060208201905081810360008301526124f5816120da565b9050919050565b60006020820190508181036000830152612515816120fd565b9050919050565b6000602082019050818103600083015261253581612120565b9050919050565b6000602082019050818103600083015261255581612143565b9050919050565b6000602082019050818103600083015261257581612189565b9050919050565b60006020820190508181036000830152612595816121ac565b9050919050565b600060808201905081810360008301526125b681886121cf565b90506125c56020830187611f01565b6125d26040830186612248565b81810360608301526125e5818486611f4c565b90509695505050505050565b60006020820190506126066000830184612248565b92915050565b6000612616612627565b905061262282826127fa565b919050565b6000604051905090565b600067ffffffffffffffff82111561264c5761264b61282b565b5b6126558261288c565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006126c560208401846119e9565b905092915050565b600080833560016020038436030381126126ea576126e9612882565b5b83810192508235915060208301925067ffffffffffffffff8211156127125761271161285a565b5b6001820236038413156127285761272761286e565b5b509250929050565b600061273f6020840184611ae0565b905092915050565b60006127528261276f565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127b182612799565b9050919050565b82818337600083830152505050565b60005b838110156127e55780820151818401526020810190506127ca565b838111156127f4576000848401525b50505050565b6128038261288c565b810181811067ffffffffffffffff821117156128225761282161282b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b612bc281612747565b8114612bcd57600080fd5b50565b612bd981612759565b8114612be457600080fd5b50565b612bf081612765565b8114612bfb57600080fd5b50565b612c078161278f565b8114612c1257600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220627eb039ecb52d09fd70ebde1f5eca61fe0f91321a96929ebe38dc8e38d999ab64736f6c63430008070033608060405234801561001057600080fd5b50604051610bcd380380610bcd8339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600081519050610087816100f1565b92915050565b6000602082840312156100a3576100a26100ec565b5b60006100b184828501610078565b91505092915050565b60006100c5826100cc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6100fa816100ba565b811461010557600080fd5b50565b610ab6806101176000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630abd890514610046578063116191b614610062578063a0a1730b14610080575b600080fd5b610060600480360381019061005b91906105fd565b61009c565b005b61006a6102af565b6040516100779190610761565b60405180910390f35b61009a6004803603810190610095919061055e565b6102d3565b005b60008383836040516024016100b39392919061082f565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886040518363ffffffff1660e01b815260040161018d92919061077c565b602060405180830381600087803b1580156101a757600080fd5b505af11580156101bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101df9190610531565b610215576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637993c1e0888888856040518563ffffffff1660e01b815260040161027494939291906107dc565b600060405180830381600087803b15801561028e57600080fd5b505af11580156102a2573d6000803e3d6000fd5b5050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383836040516024016102ea9392919061082f565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ac7c44c86836040518363ffffffff1660e01b81526004016103c49291906107a5565b600060405180830381600087803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b505050505050505050565b600061041061040b84610892565b61086d565b90508281526020810184848401111561042c5761042b610a1b565b5b610437848285610974565b509392505050565b600061045261044d846108c3565b61086d565b90508281526020810184848401111561046e5761046d610a1b565b5b610479848285610974565b509392505050565b60008135905061049081610a3b565b92915050565b6000813590506104a581610a52565b92915050565b6000815190506104ba81610a52565b92915050565b600082601f8301126104d5576104d4610a16565b5b81356104e58482602086016103fd565b91505092915050565b600082601f83011261050357610502610a16565b5b813561051384826020860161043f565b91505092915050565b60008135905061052b81610a69565b92915050565b60006020828403121561054757610546610a25565b5b6000610555848285016104ab565b91505092915050565b6000806000806080858703121561057857610577610a25565b5b600085013567ffffffffffffffff81111561059657610595610a20565b5b6105a2878288016104c0565b945050602085013567ffffffffffffffff8111156105c3576105c2610a20565b5b6105cf878288016104ee565b93505060406105e08782880161051c565b92505060606105f187828801610496565b91505092959194509250565b60008060008060008060c0878903121561061a57610619610a25565b5b600087013567ffffffffffffffff81111561063857610637610a20565b5b61064489828a016104c0565b965050602061065589828a0161051c565b955050604061066689828a01610481565b945050606087013567ffffffffffffffff81111561068757610686610a20565b5b61069389828a016104ee565b93505060806106a489828a0161051c565b92505060a06106b589828a01610496565b9150509295509295509295565b6106cb8161092c565b82525050565b6106da8161093e565b82525050565b60006106eb826108f4565b6106f5818561090a565b9350610705818560208601610983565b61070e81610a2a565b840191505092915050565b6000610724826108ff565b61072e818561091b565b935061073e818560208601610983565b61074781610a2a565b840191505092915050565b61075b8161096a565b82525050565b600060208201905061077660008301846106c2565b92915050565b600060408201905061079160008301856106c2565b61079e6020830184610752565b9392505050565b600060408201905081810360008301526107bf81856106e0565b905081810360208301526107d381846106e0565b90509392505050565b600060808201905081810360008301526107f681876106e0565b90506108056020830186610752565b61081260408301856106c2565b818103606083015261082481846106e0565b905095945050505050565b600060608201905081810360008301526108498186610719565b90506108586020830185610752565b61086560408301846106d1565b949350505050565b6000610877610888565b905061088382826109b6565b919050565b6000604051905090565b600067ffffffffffffffff8211156108ad576108ac6109e7565b5b6108b682610a2a565b9050602081019050919050565b600067ffffffffffffffff8211156108de576108dd6109e7565b5b6108e782610a2a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006109378261094a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109a1578082015181840152602081019050610986565b838111156109b0576000848401525b50505050565b6109bf82610a2a565b810181811067ffffffffffffffff821117156109de576109dd6109e7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610a448161092c565b8114610a4f57600080fd5b50565b610a5b8161093e565b8114610a6657600080fd5b50565b610a728161096a565b8114610a7d57600080fd5b5056fea2646970667358221220192b4e23b9b6daaae9f30fb00f65433e56a5d8a6906223e4fbd169def800a8a264736f6c6343000807003360806040523480156200001157600080fd5b50604051620010d7380380620010d7833981810160405281019062000037919062000146565b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f80699e81136d69cb8367ad52a994e25c722a86da654b561d0c14b61a777e7ac560405160405180910390a1505050620001f5565b6000815190506200014081620001db565b92915050565b600080600060608486031215620001625762000161620001d6565b5b600062000172868287016200012f565b935050602062000185868287016200012f565b925050604062000198868287016200012f565b9150509250925092565b6000620001af82620001b6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b620001e681620001a2565b8114620001f257600080fd5b50565b610ed280620002056000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806397770dff1161007157806397770dff14610166578063a7cb050714610182578063c63585cc1461019e578063d7fd7afb146101ce578063d936a012146101fe578063ee2815ba1461021c576100a9565b80630be15547146100ae5780633c669d55146100de578063513a9c05146100fa578063569541b91461012a578063842da36d14610148575b600080fd5b6100c860048036038101906100c3919061094d565b610238565b6040516100d59190610bce565b60405180910390f35b6100f860048036038101906100f39190610898565b61026b565b005b610114600480360381019061010f919061094d565b6103b8565b6040516101219190610bce565b60405180910390f35b6101326103eb565b60405161013f9190610bce565b60405180910390f35b610150610411565b60405161015d9190610bce565b60405180910390f35b610180600480360381019061017b9190610818565b610437565b005b61019c600480360381019061019791906109ba565b6104d4565b005b6101b860048036038101906101b39190610845565b610528565b6040516101c59190610bce565b60405180910390f35b6101e860048036038101906101e3919061094d565b61059a565b6040516101f59190610c67565b60405180910390f35b6102066105b2565b6040516102139190610bce565b60405180910390f35b6102366004803603810190610231919061097a565b6105d8565b005b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060405180606001604052806040518060200160405280600081525081526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014681525090508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87866040518363ffffffff1660e01b81526004016102ea929190610be9565b602060405180830381600087803b15801561030457600080fd5b505af1158015610318573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033c9190610920565b508573ffffffffffffffffffffffffffffffffffffffff1663de43156e82878787876040518663ffffffff1660e01b815260040161037e959493929190610c12565b600060405180830381600087803b15801561039857600080fd5b505af11580156103ac573d6000803e3d6000fd5b50505050505050505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdba79d534382d1a8ae108e4c8ecb27c6ae42ab8b91d44eedf88bd329f3868d5e600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516104c99190610bce565b60405180910390a150565b80600080848152602001908152602001600020819055507f49f492222906ac486c3c1401fa545626df1f0c0e5a77a05597ea2ed66af9850d828260405161051c929190610cab565b60405180910390a15050565b60008060006105378585610667565b9150915085828260405160200161054f929190610b60565b60405160208183030381529060405280519060200120604051602001610576929190610b8c565b6040516020818303038152906040528051906020012060001c925050509392505050565b60006020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1b36d30f6248e97c473b4d1348ca164a4ef6759022f54a58ec200326c39c45d828260405161065b929190610c82565b60405180910390a15050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156106d0576040517fcb1e7cfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061070a57828461070d565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561077c576040517f78b507da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b60008135905061079281610e57565b92915050565b6000815190506107a781610e6e565b92915050565b60008083601f8401126107c3576107c2610dd3565b5b8235905067ffffffffffffffff8111156107e0576107df610dce565b5b6020830191508360018202830111156107fc576107fb610dd8565b5b9250929050565b60008135905061081281610e85565b92915050565b60006020828403121561082e5761082d610de2565b5b600061083c84828501610783565b91505092915050565b60008060006060848603121561085e5761085d610de2565b5b600061086c86828701610783565b935050602061087d86828701610783565b925050604061088e86828701610783565b9150509250925092565b6000806000806000608086880312156108b4576108b3610de2565b5b60006108c288828901610783565b95505060206108d388828901610783565b94505060406108e488828901610803565b935050606086013567ffffffffffffffff81111561090557610904610ddd565b5b610911888289016107ad565b92509250509295509295909350565b60006020828403121561093657610935610de2565b5b600061094484828501610798565b91505092915050565b60006020828403121561096357610962610de2565b5b600061097184828501610803565b91505092915050565b6000806040838503121561099157610990610de2565b5b600061099f85828601610803565b92505060206109b085828601610783565b9150509250929050565b600080604083850312156109d1576109d0610de2565b5b60006109df85828601610803565b92505060206109f085828601610803565b9150509250929050565b610a0381610d0c565b82525050565b610a1281610d0c565b82525050565b610a29610a2482610d0c565b610da0565b82525050565b610a40610a3b82610d2a565b610db2565b82525050565b6000610a528385610cf0565b9350610a5f838584610d5e565b610a6883610de7565b840190509392505050565b6000610a7e82610cd4565b610a888185610cdf565b9350610a98818560208601610d6d565b610aa181610de7565b840191505092915050565b6000610ab9602083610d01565b9150610ac482610e05565b602082019050919050565b6000610adc600183610d01565b9150610ae782610e2e565b600182019050919050565b60006060830160008301518482036000860152610b0f8282610a73565b9150506020830151610b2460208601826109fa565b506040830151610b376040860182610b42565b508091505092915050565b610b4b81610d54565b82525050565b610b5a81610d54565b82525050565b6000610b6c8285610a18565b601482019150610b7c8284610a18565b6014820191508190509392505050565b6000610b9782610acf565b9150610ba38285610a18565b601482019150610bb38284610a2f565b602082019150610bc282610aac565b91508190509392505050565b6000602082019050610be36000830184610a09565b92915050565b6000604082019050610bfe6000830185610a09565b610c0b6020830184610b51565b9392505050565b60006080820190508181036000830152610c2c8188610af2565b9050610c3b6020830187610a09565b610c486040830186610b51565b8181036060830152610c5b818486610a46565b90509695505050505050565b6000602082019050610c7c6000830184610b51565b92915050565b6000604082019050610c976000830185610b51565b610ca46020830184610a09565b9392505050565b6000604082019050610cc06000830185610b51565b610ccd6020830184610b51565b9392505050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000610d1782610d34565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610d8b578082015181840152602081019050610d70565b83811115610d9a576000848401525b50505050565b6000610dab82610dbc565b9050919050565b6000819050919050565b6000610dc782610df8565b9050919050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b610e6081610d0c565b8114610e6b57600080fd5b50565b610e7781610d1e565b8114610e8257600080fd5b50565b610e8e81610d54565b8114610e9957600080fd5b5056fea2646970667358221220fc7ae99de1eb543fc941c22b053bacc8edc14f929260909668ffd15cbad6fbfb64736f6c6343000807003360c06040523480156200001157600080fd5b506040516200282d3803806200282d83398181016040528101906200003791906200035b565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620000b1576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8760079080519060200190620000c9929190620001d1565b508660089080519060200190620000e2929190620001d1565b5085600960006101000a81548160ff021916908360ff16021790555084608081815250508360028111156200011c576200011b620005ae565b5b60a0816002811115620001345762000133620005ae565b5b60f81b8152505082600281905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050620006bf565b828054620001df9062000542565b90600052602060002090601f0160209004810192826200020357600085556200024f565b82601f106200021e57805160ff19168380011785556200024f565b828001600101855582156200024f579182015b828111156200024e57825182559160200191906001019062000231565b5b5090506200025e919062000262565b5090565b5b808211156200027d57600081600090555060010162000263565b5090565b60006200029862000292846200048b565b62000462565b905082815260208101848484011115620002b757620002b662000640565b5b620002c48482856200050c565b509392505050565b600081519050620002dd8162000660565b92915050565b600081519050620002f4816200067a565b92915050565b600082601f8301126200031257620003116200063b565b5b81516200032484826020860162000281565b91505092915050565b6000815190506200033e816200068b565b92915050565b6000815190506200035581620006a5565b92915050565b600080600080600080600080610100898b0312156200037f576200037e6200064a565b5b600089015167ffffffffffffffff811115620003a0576200039f62000645565b5b620003ae8b828c01620002fa565b985050602089015167ffffffffffffffff811115620003d257620003d162000645565b5b620003e08b828c01620002fa565b9750506040620003f38b828c0162000344565b9650506060620004068b828c016200032d565b9550506080620004198b828c01620002e3565b94505060a06200042c8b828c016200032d565b93505060c06200043f8b828c01620002cc565b92505060e0620004528b828c01620002cc565b9150509295985092959890939650565b60006200046e62000481565b90506200047c828262000578565b919050565b6000604051905090565b600067ffffffffffffffff821115620004a957620004a86200060c565b5b620004b4826200064f565b9050602081019050919050565b6000620004ce82620004d5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200052c5780820151818401526020810190506200050f565b838111156200053c576000848401525b50505050565b600060028204905060018216806200055b57607f821691505b60208210811415620005725762000571620005dd565b5b50919050565b62000583826200064f565b810181811067ffffffffffffffff82111715620005a557620005a46200060c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6200066b81620004c1565b81146200067757600080fd5b50565b600381106200068857600080fd5b50565b6200069681620004f5565b8114620006a257600080fd5b50565b620006b081620004ff565b8114620006bc57600080fd5b50565b60805160a05160f81c612137620006f660003960006109580152600081816108a201528181610c250152610d5a01526121376000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806385e1f4d0116100c3578063d9eeebed1161007c578063d9eeebed146103cc578063dd62ed3e146103eb578063e2f535b81461041b578063eddeb12314610439578063f2441b3214610455578063f687d12a146104735761014d565b806385e1f4d0146102f657806395d89b4114610314578063a3413d0314610332578063a9059cbb14610350578063c701262614610380578063c835d7cc146103b05761014d565b8063313ce56711610115578063313ce5671461020c5780633ce4a5bc1461022a57806342966c681461024857806347e7ef24146102785780634d8943bb146102a857806370a08231146102c65761014d565b806306fdde0314610152578063091d278814610170578063095ea7b31461018e57806318160ddd146101be57806323b872dd146101dc575b600080fd5b61015a61048f565b6040516101679190611cad565b60405180910390f35b610178610521565b6040516101859190611ccf565b60405180910390f35b6101a860048036038101906101a3919061196e565b610527565b6040516101b59190611bfb565b60405180910390f35b6101c6610545565b6040516101d39190611ccf565b60405180910390f35b6101f660048036038101906101f1919061191b565b61054f565b6040516102039190611bfb565b60405180910390f35b610214610647565b6040516102219190611cea565b60405180910390f35b61023261065e565b60405161023f9190611b80565b60405180910390f35b610262600480360381019061025d9190611a37565b610676565b60405161026f9190611bfb565b60405180910390f35b610292600480360381019061028d919061196e565b61068b565b60405161029f9190611bfb565b60405180910390f35b6102b0610851565b6040516102bd9190611ccf565b60405180910390f35b6102e060048036038101906102db9190611881565b610857565b6040516102ed9190611ccf565b60405180910390f35b6102fe6108a0565b60405161030b9190611ccf565b60405180910390f35b61031c6108c4565b6040516103299190611cad565b60405180910390f35b61033a610956565b6040516103479190611c92565b60405180910390f35b61036a6004803603810190610365919061196e565b61097a565b6040516103779190611bfb565b60405180910390f35b61039a600480360381019061039591906119db565b610998565b6040516103a79190611bfb565b60405180910390f35b6103ca60048036038101906103c59190611881565b610aee565b005b6103d4610be1565b6040516103e2929190611bd2565b60405180910390f35b610405600480360381019061040091906118db565b610e4e565b6040516104129190611ccf565b60405180910390f35b610423610ed5565b6040516104309190611b80565b60405180910390f35b610453600480360381019061044e9190611a37565b610efb565b005b61045d610fb5565b60405161046a9190611b80565b60405180910390f35b61048d60048036038101906104889190611a37565b610fd9565b005b60606007805461049e90611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546104ca90611f33565b80156105175780601f106104ec57610100808354040283529160200191610517565b820191906000526020600020905b8154815290600101906020018083116104fa57829003601f168201915b5050505050905090565b60025481565b600061053b610534611093565b848461109b565b6001905092915050565b6000600654905090565b600061055c848484611254565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a7611093565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061e576040517f10bad14700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063b8561062a611093565b85846106369190611e43565b61109b565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b600061068233836114b0565b60019050919050565b600073735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610729575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156107835750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156107ba576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c48383611668565b8273ffffffffffffffffffffffffffffffffffffffff167f67fc7bdaed5b0ec550d8706b87d60568ab70c6b781263c70101d54cd1564aab373735b14bb79463307aacbed86daf3322b1e6226ab6040516020016108219190611b65565b6040516020818303038152906040528460405161083f929190611c16565b60405180910390a26001905092915050565b60035481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600880546108d390611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff90611f33565b801561094c5780601f106109215761010080835404028352916020019161094c565b820191906000526020600020905b81548152906001019060200180831161092f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061098e610987611093565b8484611254565b6001905092915050565b60008060006109a5610be1565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b81526004016109fa93929190611b9b565b602060405180830381600087803b158015610a1457600080fd5b505af1158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c91906119ae565b610a82576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a8c33856114b0565b3373ffffffffffffffffffffffffffffffffffffffff167f9ffbffc04a397460ee1dbe8c9503e098090567d6b7f4b3c02a8617d800b6d955868684600354604051610ada9493929190611c46565b60405180910390a260019250505092915050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b67576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd55614e962c5fd6ece71614f6348d702468a997a394dd5e5c1677950226d97ae81604051610bd69190611b80565b60405180910390a150565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630be155477f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610c609190611ccf565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb091906118ae565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d19576040517f78fff39600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d7fd7afb7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610d959190611ccf565b60206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de59190611a64565b90506000811415610e22576040517fe661aed000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060035460025483610e359190611de9565b610e3f9190611d93565b90508281945094505050509091565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806003819055507fef13af88e424b5d15f49c77758542c1938b08b8b95b91ed0751f98ba99000d8f81604051610faa9190611ccf565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611052576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806002819055507fff5788270f43bfc1ca41c503606d2594aa3023a1a7547de403a3e2f146a4a80a816040516110889190611ccf565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611102576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611169576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112479190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112bb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611322576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113a0576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816113ac9190611e43565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461143e9190611d93565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114a29190611ccf565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611517576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611595576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816115a19190611e43565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546115f69190611e43565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161165b9190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116cf576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600660008282546116e19190611d93565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117379190611d93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161179c9190611ccf565b60405180910390a35050565b60006117bb6117b684611d2a565b611d05565b9050828152602081018484840111156117d7576117d661207b565b5b6117e2848285611ef1565b509392505050565b6000813590506117f9816120bc565b92915050565b60008151905061180e816120bc565b92915050565b600081519050611823816120d3565b92915050565b600082601f83011261183e5761183d612076565b5b813561184e8482602086016117a8565b91505092915050565b600081359050611866816120ea565b92915050565b60008151905061187b816120ea565b92915050565b60006020828403121561189757611896612085565b5b60006118a5848285016117ea565b91505092915050565b6000602082840312156118c4576118c3612085565b5b60006118d2848285016117ff565b91505092915050565b600080604083850312156118f2576118f1612085565b5b6000611900858286016117ea565b9250506020611911858286016117ea565b9150509250929050565b60008060006060848603121561193457611933612085565b5b6000611942868287016117ea565b9350506020611953868287016117ea565b925050604061196486828701611857565b9150509250925092565b6000806040838503121561198557611984612085565b5b6000611993858286016117ea565b92505060206119a485828601611857565b9150509250929050565b6000602082840312156119c4576119c3612085565b5b60006119d284828501611814565b91505092915050565b600080604083850312156119f2576119f1612085565b5b600083013567ffffffffffffffff811115611a1057611a0f612080565b5b611a1c85828601611829565b9250506020611a2d85828601611857565b9150509250929050565b600060208284031215611a4d57611a4c612085565b5b6000611a5b84828501611857565b91505092915050565b600060208284031215611a7a57611a79612085565b5b6000611a888482850161186c565b91505092915050565b611a9a81611e77565b82525050565b611ab1611aac82611e77565b611f96565b82525050565b611ac081611e89565b82525050565b6000611ad182611d5b565b611adb8185611d71565b9350611aeb818560208601611f00565b611af48161208a565b840191505092915050565b611b0881611edf565b82525050565b6000611b1982611d66565b611b238185611d82565b9350611b33818560208601611f00565b611b3c8161208a565b840191505092915050565b611b5081611ec8565b82525050565b611b5f81611ed2565b82525050565b6000611b718284611aa0565b60148201915081905092915050565b6000602082019050611b956000830184611a91565b92915050565b6000606082019050611bb06000830186611a91565b611bbd6020830185611a91565b611bca6040830184611b47565b949350505050565b6000604082019050611be76000830185611a91565b611bf46020830184611b47565b9392505050565b6000602082019050611c106000830184611ab7565b92915050565b60006040820190508181036000830152611c308185611ac6565b9050611c3f6020830184611b47565b9392505050565b60006080820190508181036000830152611c608187611ac6565b9050611c6f6020830186611b47565b611c7c6040830185611b47565b611c896060830184611b47565b95945050505050565b6000602082019050611ca76000830184611aff565b92915050565b60006020820190508181036000830152611cc78184611b0e565b905092915050565b6000602082019050611ce46000830184611b47565b92915050565b6000602082019050611cff6000830184611b56565b92915050565b6000611d0f611d20565b9050611d1b8282611f65565b919050565b6000604051905090565b600067ffffffffffffffff821115611d4557611d44612047565b5b611d4e8261208a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d9e82611ec8565b9150611da983611ec8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611dde57611ddd611fba565b5b828201905092915050565b6000611df482611ec8565b9150611dff83611ec8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e3857611e37611fba565b5b828202905092915050565b6000611e4e82611ec8565b9150611e5983611ec8565b925082821015611e6c57611e6b611fba565b5b828203905092915050565b6000611e8282611ea8565b9050919050565b60008115159050919050565b6000819050611ea3826120a8565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611eea82611e95565b9050919050565b82818337600083830152505050565b60005b83811015611f1e578082015181840152602081019050611f03565b83811115611f2d576000848401525b50505050565b60006002820490506001821680611f4b57607f821691505b60208210811415611f5f57611f5e612018565b5b50919050565b611f6e8261208a565b810181811067ffffffffffffffff82111715611f8d57611f8c612047565b5b80604052505050565b6000611fa182611fa8565b9050919050565b6000611fb38261209b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b600381106120b9576120b8611fe9565b5b50565b6120c581611e77565b81146120d057600080fd5b50565b6120dc81611e89565b81146120e757600080fd5b50565b6120f381611ec8565b81146120fe57600080fd5b5056fea26469706673582212206982505c1a546edfb86a1aaaca0ad6b7e5542f2d1f24ac30a032805fc80a650e64736f6c63430008070033a26469706673582212208d7d8b6bb4286c593437bf31bb250c9ee5f1513d5b4607baa1d5deb2c2daad8b64736f6c63430008070033"; + "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b506201343780620000586000396000f3fe60806040523480156200001157600080fd5b5060043610620001245760003560e01c806385226c8111620000b1578063b5508aa9116200007b578063b5508aa91462000269578063ba414fa6146200028b578063d7a525fc14620002ad578063e20c9f7114620002b9578063fa7626d414620002db5762000124565b806385226c8114620001f7578063916a17c614620002195780639683c695146200023b578063b0464fdc14620002475762000124565b80633f7286f411620000f35780633f7286f4146200019b5780635247441314620001bd57806366d9a9a014620001c95780636ff15ccc14620001eb5762000124565b80630a9254e414620001295780631ed7831c14620001355780632ade388014620001575780633e5e3c231462000179575b600080fd5b62000133620002fd565b005b6200013f620010fc565b6040516200014e9190620049d8565b60405180910390f35b620001616200118c565b60405162000170919062004a44565b60405180910390f35b6200018362001326565b604051620001929190620049d8565b60405180910390f35b620001a5620013b6565b604051620001b49190620049d8565b60405180910390f35b620001c762001446565b005b620001d362001e46565b604051620001e2919062004a20565b60405180910390f35b620001f562001fdd565b005b6200020162002958565b604051620002109190620049fc565b60405180910390f35b6200022362002a3b565b60405162000232919062004a68565b60405180910390f35b6200024562002b8e565b005b620002516200322d565b60405162000260919062004a68565b60405180910390f35b6200027362003380565b604051620002829190620049fc565b60405180910390f35b6200029562003463565b604051620002a4919062004a8c565b60405180910390f35b620002b762003596565b005b620002c362003d78565b604051620002d29190620049d8565b60405180910390f35b620002e562003e08565b604051620002f4919062004a8c565b60405180910390f35b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615678602560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614321602a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620004159062003eb1565b620004209062004e6e565b604051809103906000f0801580156200043d573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040516200048c9062003ebf565b604051809103906000f080158015620004a9573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200051b9062003ecd565b620005279190620047ee565b604051809103906000f08015801562000544573d6000803e3d6000fd5b50602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de8602560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620006049190620047ee565b600060405180830381600087803b1580156200061f57600080fd5b505af115801562000634573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ae7a3a6f602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620006b79190620047ee565b600060405180830381600087803b158015620006d257600080fd5b505af1158015620006e7573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b81526004016200076f929190620048ed565b600060405180830381600087803b1580156200078a57600080fd5b505af11580156200079f573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166207a1206040518363ffffffff1660e01b8152600401620008279291906200491a565b602060405180830381600087803b1580156200084257600080fd5b505af115801562000857573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200087d919062003fe4565b506040516200088c9062003edb565b604051809103906000f080158015620008a9573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620008f89062003ee9565b604051809103906000f08015801562000915573d6000803e3d6000fd5b50602660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620009879062003ef7565b620009939190620047ee565b604051809103906000f080158015620009b0573d6000803e3d6000fd5b50602760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073735b14bb79463307aacbed86daf3322b1e6226ab90507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166306447d56826040518263ffffffff1660e01b815260040162000a689190620047ee565b600060405180830381600087803b15801562000a8357600080fd5b505af115801562000a98573d6000803e3d6000fd5b50505050600080600060405162000aaf9062003f05565b62000abd939291906200480b565b604051809103906000f08015801562000ada573d6000803e3d6000fd5b50602860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060126001600080602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162000b769062003f13565b62000b879695949392919062004dd6565b604051809103906000f08015801562000ba4573d6000803e3d6000fd5b50602960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee2815ba6001602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040162000c6792919062004d38565b600060405180830381600087803b15801562000c8257600080fd5b505af115801562000c97573d6000803e3d6000fd5b50505050602860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7cb05076001806040518363ffffffff1660e01b815260040162000cfb92919062004d65565b600060405180830381600087803b15801562000d1657600080fd5b505af115801562000d2b573d6000803e3d6000fd5b50505050602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b815260040162000db3929190620048ed565b602060405180830381600087803b15801562000dce57600080fd5b505af115801562000de3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e09919062003fe4565b50602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b815260040162000e8e929190620048ed565b602060405180830381600087803b15801562000ea957600080fd5b505af115801562000ebe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ee4919062003fe4565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000f5157600080fd5b505af115801562000f66573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000fea9190620047ee565b600060405180830381600087803b1580156200100557600080fd5b505af11580156200101a573d6000803e3d6000fd5b50505050602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620f42406040518363ffffffff1660e01b8152600401620010a2929190620048ed565b602060405180830381600087803b158015620010bd57600080fd5b505af1158015620010d2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f8919062003fe4565b5050565b606060168054806020026020016040519081016040528092919081815260200182805480156200118257602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001137575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b828210156200131d57838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015620013055783829060005260206000200180546200127190620052ff565b80601f01602080910402602001604051908101604052809291908181526020018280546200129f90620052ff565b8015620012f05780601f10620012c457610100808354040283529160200191620012f0565b820191906000526020600020905b815481529060010190602001808311620012d257829003601f168201915b5050505050815260200190600101906200124f565b505050508152505081526020019060010190620011b0565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020018280548015620013ac57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001361575b5050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200143c57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620013f1575b5050505050905090565b60006040518060400160405280600681526020017f48656c6c6f21000000000000000000000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a764000090506000602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200151a9190620047ee565b60206040518083038186803b1580156200153357600080fd5b505afa15801562001548573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200156e919062004099565b9050600063e04d4f9760e01b868686604051602401620015919392919062004d92565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620016279190620047d1565b604051602081830303815290604052620f4240602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460405160240162001673949392919062004b41565b6040516020818303038152906040527f7993c1e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f30c7ba3602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000846040518463ffffffff1660e01b81526004016200177793929190620048a9565b600060405180830381600087803b1580156200179257600080fd5b505af1158015620017a7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200182b9190620047ee565b600060405180830381600087803b1580156200184657600080fd5b505af11580156200185b573d6000803e3d6000fd5b50505050602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630abd8905602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620018d29190620047d1565b604051602081830303815290604052620f4240602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168b8b8b6040518763ffffffff1660e01b81526004016200192e9695949392919062004bf7565b600060405180830381600087803b1580156200194957600080fd5b505af11580156200195e573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518363ffffffff1660e01b8152600401620019e492919062004947565b600060405180830381600087803b158015620019ff57600080fd5b505af115801562001a14573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162001aa295949392919062004aa9565b600060405180830381600087803b15801562001abd57600080fd5b505af115801562001ad2573d6000803e3d6000fd5b505050507f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168589898960405162001b3195949392919062004974565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162001bc395949392919062004aa9565b600060405180830381600087803b15801562001bde57600080fd5b505af115801562001bf3573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f858460405162001c6392919062004ea5565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd85602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b815260040162001ced92919062004875565b6000604051808303818588803b15801562001d0757600080fd5b505af115801562001d1c573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f8201168201806040525081019062001d48919062004048565b506000602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001dca9190620047ee565b60206040518083038186803b15801562001de357600080fd5b505afa15801562001df8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e1e919062004099565b905062001e3c81620f42408662001e36919062005115565b62003e1b565b5050505050505050565b6060601b805480602002602001604051908101604052809291908181526020016000905b8282101562001fd4578382906000526020600020906002020160405180604001604052908160008201805462001ea090620052ff565b80601f016020809104026020016040519081016040528092919081815260200182805462001ece90620052ff565b801562001f1f5780601f1062001ef35761010080835404028352916020019162001f1f565b820191906000526020600020905b81548152906001019060200180831162001f0157829003601f168201915b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801562001fbb57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162001f675790505b5050505050815250508152602001906001019062001e6a565b50505050905090565b60006040518060400160405280600681526020017f48656c6c6f21000000000000000000000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a76400009050600063e04d4f9760e01b858585604051602401620020519392919062004d92565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200213a95949392919062004aa9565b600060405180830381600087803b1580156200215557600080fd5b505af11580156200216a573d6000803e3d6000fd5b50505050602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620021fd9190620047d1565b604051602081830303815290604052620f42406000602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200227b57600080fd5b505afa15801562002290573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022b6919062004099565b86604051620022ca95949392919062004c72565b60405180910390a27f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620023529190620047ee565b600060405180830381600087803b1580156200236d57600080fd5b505af115801562002382573d6000803e3d6000fd5b50505050602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637993c1e0602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620023f99190620047d1565b604051602081830303815290604052620f4240602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518563ffffffff1660e01b815260040162002451949392919062004b9c565b600060405180830381600087803b1580156200246c57600080fd5b505af115801562002481573d6000803e3d6000fd5b505050506000602960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620025069190620047ee565b60206040518083038186803b1580156200251f57600080fd5b505afa15801562002534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200255a919062004099565b90506200256981600062003e1b565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b8152600401620025eb92919062004947565b600060405180830381600087803b1580156200260657600080fd5b505af11580156200261b573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b8152600401620026a995949392919062004aa9565b600060405180830381600087803b158015620026c457600080fd5b505af1158015620026d9573d6000803e3d6000fd5b505050507f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848888886040516200273895949392919062004974565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b8152600401620027ca95949392919062004aa9565b600060405180830381600087803b158015620027e557600080fd5b505af1158015620027fa573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f84846040516200286a92919062004ea5565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd84602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401620028f492919062004875565b6000604051808303818588803b1580156200290e57600080fd5b505af115801562002923573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f820116820180604052508101906200294f919062004048565b50505050505050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562002a325783829060005260206000200180546200299e90620052ff565b80601f0160208091040260200160405190810160405280929190818152602001828054620029cc90620052ff565b801562002a1d5780601f10620029f15761010080835404028352916020019162002a1d565b820191906000526020600020905b815481529060010190602001808311620029ff57829003601f168201915b5050505050815260200190600101906200297c565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b8282101562002b8557838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562002b6c57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001906004019060208260030104928301926001038202915080841162002b185790505b5050505050815250508152602001906001019062002a5f565b50505050905090565b60006040518060400160405280600681526020017f48656c6c6f21000000000000000000000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a76400009050600063e04d4f9760e01b85858560405160240162002c029392919062004d92565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162002ce19190620047ee565b600060405180830381600087803b15801562002cfc57600080fd5b505af115801562002d11573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162002d9f95949392919062004aa9565b600060405180830381600087803b15801562002dba57600080fd5b505af115801562002dcf573d6000803e3d6000fd5b50505050602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162002e629190620047d1565b6040516020818303038152906040528360405162002e8292919062004b06565b60405180910390a2602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ac7c44c602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162002efd9190620047d1565b604051602081830303815290604052836040518363ffffffff1660e01b815260040162002f2c92919062004b06565b600060405180830381600087803b15801562002f4757600080fd5b505af115801562002f5c573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040162002fe292919062004947565b600060405180830381600087803b15801562002ffd57600080fd5b505af115801562003012573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b8152600401620030a095949392919062004aa9565b600060405180830381600087803b158015620030bb57600080fd5b505af1158015620030d0573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f83836040516200314092919062004ea5565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd83602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401620031ca92919062004875565b6000604051808303818588803b158015620031e457600080fd5b505af1158015620031f9573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f8201168201806040525081019062003225919062004048565b505050505050565b6060601c805480602002602001604051908101604052809291908181526020016000905b828210156200337757838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156200335e57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116200330a5790505b5050505050815250508152602001906001019062003251565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200345a578382906000526020600020018054620033c690620052ff565b80601f0160208091040260200160405190810160405280929190818152602001828054620033f490620052ff565b8015620034455780601f10620034195761010080835404028352916020019162003445565b820191906000526020600020905b8154815290600101906020018083116200342757829003601f168201915b505050505081526020019060010190620033a4565b50505050905090565b6000600860009054906101000a900460ff16156200349357600860009054906101000a900460ff16905062003593565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016200353a92919062004848565b60206040518083038186803b1580156200355357600080fd5b505afa15801562003568573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200358e919062004016565b141590505b90565b60006040518060400160405280600681526020017f48656c6c6f21000000000000000000000000000000000000000000000000000081525090506000602a90506000600190506000670de0b6b3a76400009050600063e04d4f9760e01b8585856040516024016200360a9392919062004d92565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620036a09190620047d1565b60405160208183030381529060405282604051602401620036c392919062004b06565b6040516020818303038152906040527f0ac7c44c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663f30c7ba3602660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000846040518463ffffffff1660e01b8152600401620037c793929190620048a9565b600060405180830381600087803b158015620037e257600080fd5b505af1158015620037f7573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200387b9190620047ee565b600060405180830381600087803b1580156200389657600080fd5b505af1158015620038ab573d6000803e3d6000fd5b50505050602760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a0a1730b602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051602001620039229190620047d1565b6040516020818303038152906040528888886040518563ffffffff1660e01b815260040162003955949392919062004cdd565b600060405180830381600087803b1580156200397057600080fd5b505af115801562003985573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518363ffffffff1660e01b815260040162003a0b92919062004947565b600060405180830381600087803b15801562003a2657600080fd5b505af115801562003a3b573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162003ac995949392919062004aa9565b600060405180830381600087803b15801562003ae457600080fd5b505af115801562003af9573d6000803e3d6000fd5b505050507f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168488888860405162003b5895949392919062004974565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162003bea95949392919062004aa9565b600060405180830381600087803b15801562003c0557600080fd5b505af115801562003c1a573d6000803e3d6000fd5b50505050602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f848460405162003c8a92919062004ea5565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cff79cd84602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b815260040162003d1492919062004875565b6000604051808303818588803b15801562003d2e57600080fd5b505af115801562003d43573d6000803e3d6000fd5b50505050506040513d6000823e3d601f19601f8201168201806040525081019062003d6f919062004048565b50505050505050565b6060601580548060200260200160405190810160405280929190818152602001828054801562003dfe57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162003db3575b5050505050905090565b601f60009054906101000a900460ff1681565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166398296c5483836040518363ffffffff1660e01b815260040162003e7b92919062004ed9565b60006040518083038186803b15801562003e9457600080fd5b505afa15801562003ea9573d6000803e3d6000fd5b505050505050565b611813806200558b83390190565b6131a48062006d9e83390190565b6110908062009f4283390190565b6110aa806200afd283390190565b612eb5806200c07c83390190565b610bcd806200ef3183390190565b6110d7806200fafe83390190565b61282d8062010bd583390190565b600062003f3862003f328462004f2f565b62004f06565b90508281526020810184848401111562003f575762003f5662005454565b5b62003f64848285620052c9565b509392505050565b60008151905062003f7d816200553c565b92915050565b60008151905062003f948162005556565b92915050565b600082601f83011262003fb25762003fb16200544f565b5b815162003fc484826020860162003f21565b91505092915050565b60008151905062003fde8162005570565b92915050565b60006020828403121562003ffd5762003ffc6200545e565b5b60006200400d8482850162003f6c565b91505092915050565b6000602082840312156200402f576200402e6200545e565b5b60006200403f8482850162003f83565b91505092915050565b6000602082840312156200406157620040606200545e565b5b600082015167ffffffffffffffff81111562004082576200408162005459565b5b620040908482850162003f9a565b91505092915050565b600060208284031215620040b257620040b16200545e565b5b6000620040c28482850162003fcd565b91505092915050565b6000620040d9838362004157565b60208301905092915050565b6000620040f38383620044f4565b60208301905092915050565b60006200410d8383620045d8565b905092915050565b6000620041238383620046f6565b905092915050565b60006200413983836200473e565b905092915050565b60006200414f83836200477f565b905092915050565b620041628162005150565b82525050565b620041738162005150565b82525050565b6000620041868262004fc5565b6200419281856200506b565b93506200419f8362004f65565b8060005b83811015620041d6578151620041ba8882620040cb565b9750620041c7836200501d565b925050600181019050620041a3565b5085935050505092915050565b6000620041f08262004fd0565b620041fc81856200507c565b9350620042098362004f75565b8060005b8381101562004240578151620042248882620040e5565b975062004231836200502a565b9250506001810190506200420d565b5085935050505092915050565b60006200425a8262004fdb565b6200426681856200508d565b9350836020820285016200427a8562004f85565b8060005b85811015620042bc57848403895281516200429a8582620040ff565b9450620042a78362005037565b925060208a019950506001810190506200427e565b50829750879550505050505092915050565b6000620042db8262004fdb565b620042e781856200509e565b935083602082028501620042fb8562004f85565b8060005b858110156200433d57848403895281516200431b8582620040ff565b9450620043288362005037565b925060208a01995050600181019050620042ff565b50829750879550505050505092915050565b60006200435c8262004fe6565b620043688185620050af565b9350836020820285016200437c8562004f95565b8060005b85811015620043be57848403895281516200439c858262004115565b9450620043a98362005044565b925060208a0199505060018101905062004380565b50829750879550505050505092915050565b6000620043dd8262004ff1565b620043e98185620050c0565b935083602082028501620043fd8562004fa5565b8060005b858110156200443f57848403895281516200441d85826200412b565b94506200442a8362005051565b925060208a0199505060018101905062004401565b50829750879550505050505092915050565b60006200445e8262004ffc565b6200446a8185620050d1565b9350836020820285016200447e8562004fb5565b8060005b85811015620044c057848403895281516200449e858262004141565b9450620044ab836200505e565b925060208a0199505060018101905062004482565b50829750879550505050505092915050565b620044dd8162005164565b82525050565b620044ee8162005170565b82525050565b620044ff816200517a565b82525050565b6000620045128262005007565b6200451e8185620050e2565b935062004530818560208601620052c9565b6200453b8162005463565b840191505092915050565b6200455b620045558262005201565b6200536b565b82525050565b6200456c8162005215565b82525050565b6200457d8162005229565b82525050565b6200458e816200523d565b82525050565b6200459f8162005251565b82525050565b620045b08162005265565b82525050565b620045c18162005279565b82525050565b620045d2816200528d565b82525050565b6000620045e58262005012565b620045f18185620050f3565b935062004603818560208601620052c9565b6200460e8162005463565b840191505092915050565b6000620046268262005012565b62004632818562005104565b935062004644818560208601620052c9565b6200464f8162005463565b840191505092915050565b60006200466960038362005104565b9150620046768262005481565b602082019050919050565b60006200469060058362005104565b91506200469d82620054aa565b602082019050919050565b6000620046b760048362005104565b9150620046c482620054d3565b602082019050919050565b6000620046de60038362005104565b9150620046eb82620054fc565b602082019050919050565b60006040830160008301518482036000860152620047158282620045d8565b91505060208301518482036020860152620047318282620041e3565b9150508091505092915050565b600060408301600083015162004758600086018262004157565b50602083015184820360208601526200477282826200424d565b9150508091505092915050565b600060408301600083015162004799600086018262004157565b5060208301518482036020860152620047b38282620041e3565b9150508091505092915050565b620047cb81620051ea565b82525050565b6000620047df828462004546565b60148201915081905092915050565b600060208201905062004805600083018462004168565b92915050565b600060608201905062004822600083018662004168565b62004831602083018562004168565b62004840604083018462004168565b949350505050565b60006040820190506200485f600083018562004168565b6200486e6020830184620044e3565b9392505050565b60006040820190506200488c600083018562004168565b8181036020830152620048a0818462004505565b90509392505050565b6000606082019050620048c0600083018662004168565b620048cf602083018562004572565b8181036040830152620048e3818462004505565b9050949350505050565b600060408201905062004904600083018562004168565b62004913602083018462004594565b9392505050565b600060408201905062004931600083018562004168565b620049406020830184620045c7565b9392505050565b60006040820190506200495e600083018562004168565b6200496d6020830184620047c0565b9392505050565b600060a0820190506200498b600083018862004168565b6200499a6020830187620047c0565b8181036040830152620049ae818662004619565b9050620049bf6060830185620047c0565b620049ce6080830184620044d2565b9695505050505050565b60006020820190508181036000830152620049f4818462004179565b905092915050565b6000602082019050818103600083015262004a188184620042ce565b905092915050565b6000602082019050818103600083015262004a3c81846200434f565b905092915050565b6000602082019050818103600083015262004a608184620043d0565b905092915050565b6000602082019050818103600083015262004a84818462004451565b905092915050565b600060208201905062004aa36000830184620044d2565b92915050565b600060a08201905062004ac06000830188620044d2565b62004acf6020830187620044d2565b62004ade6040830186620044d2565b62004aed6060830185620044d2565b62004afc608083018462004168565b9695505050505050565b6000604082019050818103600083015262004b22818562004505565b9050818103602083015262004b38818462004505565b90509392505050565b6000608082019050818103600083015262004b5d818762004505565b905062004b6e602083018662004583565b62004b7d604083018562004168565b818103606083015262004b91818462004505565b905095945050505050565b6000608082019050818103600083015262004bb8818762004505565b905062004bc9602083018662004594565b62004bd8604083018562004168565b818103606083015262004bec818462004505565b905095945050505050565b600060c082019050818103600083015262004c13818962004505565b905062004c24602083018862004594565b62004c33604083018762004168565b818103606083015262004c47818662004619565b905062004c586080830185620047c0565b62004c6760a0830184620044d2565b979650505050505050565b600060a082019050818103600083015262004c8e818862004505565b905062004c9f602083018762004594565b62004cae604083018662004572565b62004cbd6060830185620047c0565b818103608083015262004cd1818462004505565b90509695505050505050565b6000608082019050818103600083015262004cf9818762004505565b9050818103602083015262004d0f818662004619565b905062004d206040830185620047c0565b62004d2f6060830184620044d2565b95945050505050565b600060408201905062004d4f6000830185620045b6565b62004d5e602083018462004168565b9392505050565b600060408201905062004d7c6000830185620045b6565b62004d8b6020830184620045b6565b9392505050565b6000606082019050818103600083015262004dae818662004619565b905062004dbf6020830185620047c0565b62004dce6040830184620044d2565b949350505050565b600061010082019050818103600083015262004df28162004681565b9050818103602083015262004e0781620046cf565b905062004e186040830189620045a5565b62004e276060830188620045b6565b62004e36608083018762004561565b62004e4560a083018662004572565b62004e5460c083018562004168565b62004e6360e083018462004168565b979650505050505050565b6000604082019050818103600083015262004e8981620046a8565b9050818103602083015262004e9e816200465a565b9050919050565b600060408201905062004ebc6000830185620047c0565b818103602083015262004ed0818462004505565b90509392505050565b600060408201905062004ef06000830185620047c0565b62004eff6020830184620047c0565b9392505050565b600062004f1262004f25565b905062004f20828262005335565b919050565b6000604051905090565b600067ffffffffffffffff82111562004f4d5762004f4c62005420565b5b62004f588262005463565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006200512282620051ea565b91506200512f83620051ea565b92508282101562005145576200514462005393565b5b828203905092915050565b60006200515d82620051bb565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050620051b68262005525565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062ffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006200520e82620052a1565b9050919050565b60006200522282620051a6565b9050919050565b60006200523682620051ea565b9050919050565b60006200524a82620051db565b9050919050565b60006200525e82620051ea565b9050919050565b60006200527282620051f4565b9050919050565b60006200528682620051ea565b9050919050565b60006200529a82620051ea565b9050919050565b6000620052ae82620052b5565b9050919050565b6000620052c282620051bb565b9050919050565b60005b83811015620052e9578082015181840152602081019050620052cc565b83811115620052f9576000848401525b50505050565b600060028204905060018216806200531857607f821691505b602082108114156200532f576200532e620053f1565b5b50919050565b620053408262005463565b810181811067ffffffffffffffff8211171562005362576200536162005420565b5b80604052505050565b600062005378826200537f565b9050919050565b60006200538c8262005474565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f54544b0000000000000000000000000000000000000000000000000000000000600082015250565b7f544f4b454e000000000000000000000000000000000000000000000000000000600082015250565b7f7465737400000000000000000000000000000000000000000000000000000000600082015250565b7f544b4e0000000000000000000000000000000000000000000000000000000000600082015250565b60038110620055395762005538620053c2565b5b50565b620055478162005164565b81146200555357600080fd5b50565b620055618162005170565b81146200556d57600080fd5b50565b6200557b81620051ea565b81146200558757600080fd5b5056fe60806040523480156200001157600080fd5b5060405162001813380380620018138339818101604052810190620000379190620001a3565b818181600390805190602001906200005192919062000075565b5080600490805190602001906200006a92919062000075565b5050505050620003ac565b8280546200008390620002bd565b90600052602060002090601f016020900481019282620000a75760008555620000f3565b82601f10620000c257805160ff1916838001178555620000f3565b82800160010185558215620000f3579182015b82811115620000f2578251825591602001919060010190620000d5565b5b50905062000102919062000106565b5090565b5b808211156200012157600081600090555060010162000107565b5090565b60006200013c620001368462000251565b62000228565b9050828152602081018484840111156200015b576200015a6200038c565b5b6200016884828562000287565b509392505050565b600082601f83011262000188576200018762000387565b5b81516200019a84826020860162000125565b91505092915050565b60008060408385031215620001bd57620001bc62000396565b5b600083015167ffffffffffffffff811115620001de57620001dd62000391565b5b620001ec8582860162000170565b925050602083015167ffffffffffffffff81111562000210576200020f62000391565b5b6200021e8582860162000170565b9150509250929050565b60006200023462000247565b9050620002428282620002f3565b919050565b6000604051905090565b600067ffffffffffffffff8211156200026f576200026e62000358565b5b6200027a826200039b565b9050602081019050919050565b60005b83811015620002a75780820151818401526020810190506200028a565b83811115620002b7576000848401525b50505050565b60006002820490506001821680620002d657607f821691505b60208210811415620002ed57620002ec62000329565b5b50919050565b620002fe826200039b565b810181811067ffffffffffffffff8211171562000320576200031f62000358565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b61145780620003bc6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806340c10f191161007157806340c10f19146101a357806370a08231146101bf57806395d89b41146101ef578063a457c2d71461020d578063a9059cbb1461023d578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190610ecf565b60405180910390f35b6100f160048036038101906100ec9190610cf6565b61032f565b6040516100fe9190610eb4565b60405180910390f35b61010f610352565b60405161011c9190610ff1565b60405180910390f35b61013f600480360381019061013a9190610ca3565b61035c565b60405161014c9190610eb4565b60405180910390f35b61015d61038b565b60405161016a919061100c565b60405180910390f35b61018d60048036038101906101889190610cf6565b610394565b60405161019a9190610eb4565b60405180910390f35b6101bd60048036038101906101b89190610cf6565b6103cb565b005b6101d960048036038101906101d49190610c36565b6103d9565b6040516101e69190610ff1565b60405180910390f35b6101f7610421565b6040516102049190610ecf565b60405180910390f35b61022760048036038101906102229190610cf6565b6104b3565b6040516102349190610eb4565b60405180910390f35b61025760048036038101906102529190610cf6565b61052a565b6040516102649190610eb4565b60405180910390f35b61028760048036038101906102829190610c63565b61054d565b6040516102949190610ff1565b60405180910390f35b6060600380546102ac90611121565b80601f01602080910402602001604051908101604052809291908181526020018280546102d890611121565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b60008061033a6105d4565b90506103478185856105dc565b600191505092915050565b6000600254905090565b6000806103676105d4565b90506103748582856107a7565b61037f858585610833565b60019150509392505050565b60006012905090565b60008061039f6105d4565b90506103c08185856103b1858961054d565b6103bb9190611043565b6105dc565b600191505092915050565b6103d58282610aab565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461043090611121565b80601f016020809104026020016040519081016040528092919081815260200182805461045c90611121565b80156104a95780601f1061047e576101008083540402835291602001916104a9565b820191906000526020600020905b81548152906001019060200180831161048c57829003601f168201915b5050505050905090565b6000806104be6105d4565b905060006104cc828661054d565b905083811015610511576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050890610fb1565b60405180910390fd5b61051e82868684036105dc565b60019250505092915050565b6000806105356105d4565b9050610542818585610833565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064390610f91565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b390610f11565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161079a9190610ff1565b60405180910390a3505050565b60006107b3848461054d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461082d578181101561081f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081690610f31565b60405180910390fd5b61082c84848484036105dc565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90610f71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090a90610ef1565b60405180910390fd5b61091e838383610c02565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b90610f51565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a929190610ff1565b60405180910390a3610aa5848484610c07565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1290610fd1565b60405180910390fd5b610b2760008383610c02565b8060026000828254610b399190611043565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610bea9190610ff1565b60405180910390a3610bfe60008383610c07565b5050565b505050565b505050565b600081359050610c1b816113f3565b92915050565b600081359050610c308161140a565b92915050565b600060208284031215610c4c57610c4b6111b1565b5b6000610c5a84828501610c0c565b91505092915050565b60008060408385031215610c7a57610c796111b1565b5b6000610c8885828601610c0c565b9250506020610c9985828601610c0c565b9150509250929050565b600080600060608486031215610cbc57610cbb6111b1565b5b6000610cca86828701610c0c565b9350506020610cdb86828701610c0c565b9250506040610cec86828701610c21565b9150509250925092565b60008060408385031215610d0d57610d0c6111b1565b5b6000610d1b85828601610c0c565b9250506020610d2c85828601610c21565b9150509250929050565b610d3f816110ab565b82525050565b6000610d5082611027565b610d5a8185611032565b9350610d6a8185602086016110ee565b610d73816111b6565b840191505092915050565b6000610d8b602383611032565b9150610d96826111c7565b604082019050919050565b6000610dae602283611032565b9150610db982611216565b604082019050919050565b6000610dd1601d83611032565b9150610ddc82611265565b602082019050919050565b6000610df4602683611032565b9150610dff8261128e565b604082019050919050565b6000610e17602583611032565b9150610e22826112dd565b604082019050919050565b6000610e3a602483611032565b9150610e458261132c565b604082019050919050565b6000610e5d602583611032565b9150610e688261137b565b604082019050919050565b6000610e80601f83611032565b9150610e8b826113ca565b602082019050919050565b610e9f816110d7565b82525050565b610eae816110e1565b82525050565b6000602082019050610ec96000830184610d36565b92915050565b60006020820190508181036000830152610ee98184610d45565b905092915050565b60006020820190508181036000830152610f0a81610d7e565b9050919050565b60006020820190508181036000830152610f2a81610da1565b9050919050565b60006020820190508181036000830152610f4a81610dc4565b9050919050565b60006020820190508181036000830152610f6a81610de7565b9050919050565b60006020820190508181036000830152610f8a81610e0a565b9050919050565b60006020820190508181036000830152610faa81610e2d565b9050919050565b60006020820190508181036000830152610fca81610e50565b9050919050565b60006020820190508181036000830152610fea81610e73565b9050919050565b60006020820190506110066000830184610e96565b92915050565b60006020820190506110216000830184610ea5565b92915050565b600081519050919050565b600082825260208201905092915050565b600061104e826110d7565b9150611059836110d7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561108e5761108d611153565b5b828201905092915050565b60006110a4826110b7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561110c5780820151818401526020810190506110f1565b8381111561111b576000848401525b50505050565b6000600282049050600182168061113957607f821691505b6020821081141561114d5761114c611182565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6113fc81611099565b811461140757600080fd5b50565b611413816110d7565b811461141e57600080fd5b5056fea2646970667358221220d4c96329400732e284f624232c8d7228fc90c00ee7b1a48a85080262107815d864736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561004657600080fd5b5060805160601c613123610081600039600081816105fc0152818161068b01528181610785015281816108140152610bae01526131236000f3fe6080604052600436106100fe5760003560e01c8063715018a611610095578063c4d66de811610064578063c4d66de8146102e4578063dda79b751461030d578063f2fde38b14610338578063f340fa0114610361578063f45346dc1461037d576100fe565b8063715018a6146102505780638c6f037f146102675780638da5cb5b14610290578063ae7a3a6f146102bb576100fe565b80634f1ef286116100d15780634f1ef286146101a15780635131ab59146101bd57806352d1902d146101fa5780635b11259114610225576100fe565b80631b8b921d146101035780631cff79cd1461012c57806329c59b5d1461015c5780633659cfe614610178575b600080fd5b34801561010f57600080fd5b5061012a60048036038101906101259190612183565b6103a6565b005b61014660048036038101906101419190612183565b610412565b6040516101539190612816565b60405180910390f35b61017660048036038101906101719190612183565b610480565b005b34801561018457600080fd5b5061019f600480360381019061019a91906120ce565b6105fa565b005b6101bb60048036038101906101b691906121e3565b610783565b005b3480156101c957600080fd5b506101e460048036038101906101df91906120fb565b6108c0565b6040516101f19190612816565b60405180910390f35b34801561020657600080fd5b5061020f610baa565b60405161021c91906127d7565b60405180910390f35b34801561023157600080fd5b5061023a610c63565b6040516102479190612733565b60405180910390f35b34801561025c57600080fd5b50610265610c89565b005b34801561027357600080fd5b5061028e60048036038101906102899190612292565b610c9d565b005b34801561029c57600080fd5b506102a5610d99565b6040516102b29190612733565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd91906120ce565b610dc3565b005b3480156102f057600080fd5b5061030b600480360381019061030691906120ce565b610e8f565b005b34801561031957600080fd5b5061032261107e565b60405161032f9190612733565b60405180910390f35b34801561034457600080fd5b5061035f600480360381019061035a91906120ce565b6110a4565b005b61037b600480360381019061037691906120ce565b611128565b005b34801561038957600080fd5b506103a4600480360381019061039f919061223f565b61129c565b005b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2a21062ee9199c2e205622999eeb7c3da73153674f36a0acd3f74fa6af67bde384846040516104059291906127f2565b60405180910390a3505050565b60606000610421858585611392565b90508473ffffffffffffffffffffffffffffffffffffffff167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f34868660405161046d93929190612a91565b60405180910390a2809150509392505050565b60003414156104bb576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516105039061271e565b60006040518083038185875af1925050503d8060008114610540576040519150601f19603f3d011682016040523d82523d6000602084013e610545565b606091505b50509050600015158115151415610588576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a434600087876040516105ec9493929190612a15565b60405180910390a350505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068090612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106c8611449565b73ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906128b5565b60405180910390fd5b610727816114a0565b61078081600067ffffffffffffffff81111561074657610745612c52565b5b6040519080825280601f01601f1916602001820160405280156107785781602001600182028036833780820191505090505b5060006114ab565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080990612895565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610851611449565b73ffffffffffffffffffffffffffffffffffffffff16146108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e906128b5565b60405180910390fd5b6108b0826114a0565b6108bc828260016114ab565b5050565b606060008414156108fd576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109078686611628565b61093d576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663095ea7b386866040518363ffffffff1660e01b81526004016109789291906127ae565b602060405180830381600087803b15801561099257600080fd5b505af11580156109a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ca919061231a565b610a00576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a0d868585611392565b9050610a198787611628565b610a4f576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a8a9190612733565b60206040518083038186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ada9190612374565b90506000811115610b3357610b3260c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828a73ffffffffffffffffffffffffffffffffffffffff166116c09092919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f29c40793bffd84cb810179f15d1ceec72bc7f0785514c668ba36645cf99b7382888888604051610b9493929190612a91565b60405180910390a3819250505095945050505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c31906128f5565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c91611746565b610c9b60006117c4565b565b6000841415610cd8576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d273360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868673ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a486868686604051610d8a9493929190612a15565b60405180910390a35050505050565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff1660c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4b576040517fb337f37800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060019054906101000a900460ff16159050808015610ec05750600160008054906101000a900460ff1660ff16105b80610eed5750610ecf30611913565b158015610eec5750600160008054906101000a900460ff1660ff16145b5b610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2390612935565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610f69576001600060016101000a81548160ff0219169083151502179055505b610f71611936565b610f7961198f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fe0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550801561107a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516110719190612838565b60405180910390a15b5050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110ac611746565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561111c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111390612875565b60405180910390fd5b611125816117c4565b50565b6000341415611163576040517f7671265e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16346040516111ab9061271e565b60006040518083038185875af1925050503d80600081146111e8576040519150601f19603f3d011682016040523d82523d6000602084013e6111ed565b606091505b50509050600015158115151415611230576040517f79cacff100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a4346000604051611290929190612a55565b60405180910390a35050565b60008214156112d7576040517f951e19ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113263360c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848473ffffffffffffffffffffffffffffffffffffffff1661188a909392919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f2103daedac6c1eee9e5bfbd02064d751c9ec3c03fb9bc3e4f94ca41afa38c1a48484604051611385929190612a55565b60405180910390a3505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff163486866040516113bf9291906126ee565b60006040518083038185875af1925050503d80600081146113fc576040519150601f19603f3d011682016040523d82523d6000602084013e611401565b606091505b50915091508161143d576040517facfdb44400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80925050509392505050565b60006114777f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6114a8611746565b50565b6114d77f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b6119ea565b60000160009054906101000a900460ff16156114fb576114f6836119f4565b611623565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561154157600080fd5b505afa92505050801561157257506040513d601f19601f8201168201806040525081019061156f9190612347565b60015b6115b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a890612955565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b8114611616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160d90612915565b60405180910390fd5b50611622838383611aad565b5b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1663095ea7b38360006040518363ffffffff1660e01b8152600401611666929190612785565b602060405180830381600087803b15801561168057600080fd5b505af1158015611694573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b8919061231a565b905092915050565b6117418363a9059cbb60e01b84846040516024016116df9291906127ae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b505050565b61174e611ba0565b73ffffffffffffffffffffffffffffffffffffffff1661176c610d99565b73ffffffffffffffffffffffffffffffffffffffff16146117c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b990612995565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61190d846323b872dd60e01b8585856040516024016118ab9392919061274e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ad9565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c906129d5565b60405180910390fd5b61198d611ba8565b565b600060019054906101000a900460ff166119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d5906129d5565b60405180910390fd5b565b6000819050919050565b6000819050919050565b6119fd81611913565b611a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3390612975565b60405180910390fd5b80611a697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6119e0565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611ab683611c09565b600082511180611ac35750805b15611ad457611ad28383611c58565b505b505050565b6000611b3b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611c859092919063ffffffff16565b9050600081511115611b9b5780806020019051810190611b5b919061231a565b611b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b91906129f5565b60405180910390fd5b5b505050565b600033905090565b600060019054906101000a900460ff16611bf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bee906129d5565b60405180910390fd5b611c07611c02611ba0565b6117c4565b565b611c12816119f4565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b6060611c7d83836040518060600160405280602781526020016130c760279139611c9d565b905092915050565b6060611c948484600085611d23565b90509392505050565b60606000808573ffffffffffffffffffffffffffffffffffffffff1685604051611cc79190612707565b600060405180830381855af49150503d8060008114611d02576040519150601f19603f3d011682016040523d82523d6000602084013e611d07565b606091505b5091509150611d1886838387611df0565b925050509392505050565b606082471015611d68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5f906128d5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611d919190612707565b60006040518083038185875af1925050503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b5091509150611de487838387611e66565b92505050949350505050565b60608315611e5357600083511415611e4b57611e0b85611913565b611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e41906129b5565b60405180910390fd5b5b829050611e5e565b611e5d8383611edc565b5b949350505050565b60608315611ec957600083511415611ec157611e8185611f2c565b611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7906129b5565b60405180910390fd5b5b829050611ed4565b611ed38383611f4f565b5b949350505050565b600082511115611eef5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f239190612853565b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611f625781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f969190612853565b60405180910390fd5b6000611fb2611fad84612ae8565b612ac3565b905082815260208101848484011115611fce57611fcd612c90565b5b611fd9848285612bdf565b509392505050565b600081359050611ff08161306a565b92915050565b60008151905061200581613081565b92915050565b60008151905061201a81613098565b92915050565b60008083601f84011261203657612035612c86565b5b8235905067ffffffffffffffff81111561205357612052612c81565b5b60208301915083600182028301111561206f5761206e612c8b565b5b9250929050565b600082601f83011261208b5761208a612c86565b5b813561209b848260208601611f9f565b91505092915050565b6000813590506120b3816130af565b92915050565b6000815190506120c8816130af565b92915050565b6000602082840312156120e4576120e3612c9a565b5b60006120f284828501611fe1565b91505092915050565b60008060008060006080868803121561211757612116612c9a565b5b600061212588828901611fe1565b955050602061213688828901611fe1565b9450506040612147888289016120a4565b935050606086013567ffffffffffffffff81111561216857612167612c95565b5b61217488828901612020565b92509250509295509295909350565b60008060006040848603121561219c5761219b612c9a565b5b60006121aa86828701611fe1565b935050602084013567ffffffffffffffff8111156121cb576121ca612c95565b5b6121d786828701612020565b92509250509250925092565b600080604083850312156121fa576121f9612c9a565b5b600061220885828601611fe1565b925050602083013567ffffffffffffffff81111561222957612228612c95565b5b61223585828601612076565b9150509250929050565b60008060006060848603121561225857612257612c9a565b5b600061226686828701611fe1565b9350506020612277868287016120a4565b925050604061228886828701611fe1565b9150509250925092565b6000806000806000608086880312156122ae576122ad612c9a565b5b60006122bc88828901611fe1565b95505060206122cd888289016120a4565b94505060406122de88828901611fe1565b935050606086013567ffffffffffffffff8111156122ff576122fe612c95565b5b61230b88828901612020565b92509250509295509295909350565b6000602082840312156123305761232f612c9a565b5b600061233e84828501611ff6565b91505092915050565b60006020828403121561235d5761235c612c9a565b5b600061236b8482850161200b565b91505092915050565b60006020828403121561238a57612389612c9a565b5b6000612398848285016120b9565b91505092915050565b6123aa81612b5c565b82525050565b6123b981612b7a565b82525050565b60006123cb8385612b2f565b93506123d8838584612bdf565b6123e183612c9f565b840190509392505050565b60006123f88385612b40565b9350612405838584612bdf565b82840190509392505050565b600061241c82612b19565b6124268185612b2f565b9350612436818560208601612bee565b61243f81612c9f565b840191505092915050565b600061245582612b19565b61245f8185612b40565b935061246f818560208601612bee565b80840191505092915050565b61248481612bbb565b82525050565b61249381612bcd565b82525050565b60006124a482612b24565b6124ae8185612b4b565b93506124be818560208601612bee565b6124c781612c9f565b840191505092915050565b60006124df602683612b4b565b91506124ea82612cb0565b604082019050919050565b6000612502602c83612b4b565b915061250d82612cff565b604082019050919050565b6000612525602c83612b4b565b915061253082612d4e565b604082019050919050565b6000612548602683612b4b565b915061255382612d9d565b604082019050919050565b600061256b603883612b4b565b915061257682612dec565b604082019050919050565b600061258e602983612b4b565b915061259982612e3b565b604082019050919050565b60006125b1602e83612b4b565b91506125bc82612e8a565b604082019050919050565b60006125d4602e83612b4b565b91506125df82612ed9565b604082019050919050565b60006125f7602d83612b4b565b915061260282612f28565b604082019050919050565b600061261a602083612b4b565b915061262582612f77565b602082019050919050565b600061263d600083612b2f565b915061264882612fa0565b600082019050919050565b6000612660600083612b40565b915061266b82612fa0565b600082019050919050565b6000612683601d83612b4b565b915061268e82612fa3565b602082019050919050565b60006126a6602b83612b4b565b91506126b182612fcc565b604082019050919050565b60006126c9602a83612b4b565b91506126d48261301b565b604082019050919050565b6126e881612ba4565b82525050565b60006126fb8284866123ec565b91508190509392505050565b6000612713828461244a565b915081905092915050565b600061272982612653565b9150819050919050565b600060208201905061274860008301846123a1565b92915050565b600060608201905061276360008301866123a1565b61277060208301856123a1565b61277d60408301846126df565b949350505050565b600060408201905061279a60008301856123a1565b6127a7602083018461247b565b9392505050565b60006040820190506127c360008301856123a1565b6127d060208301846126df565b9392505050565b60006020820190506127ec60008301846123b0565b92915050565b6000602082019050818103600083015261280d8184866123bf565b90509392505050565b600060208201905081810360008301526128308184612411565b905092915050565b600060208201905061284d600083018461248a565b92915050565b6000602082019050818103600083015261286d8184612499565b905092915050565b6000602082019050818103600083015261288e816124d2565b9050919050565b600060208201905081810360008301526128ae816124f5565b9050919050565b600060208201905081810360008301526128ce81612518565b9050919050565b600060208201905081810360008301526128ee8161253b565b9050919050565b6000602082019050818103600083015261290e8161255e565b9050919050565b6000602082019050818103600083015261292e81612581565b9050919050565b6000602082019050818103600083015261294e816125a4565b9050919050565b6000602082019050818103600083015261296e816125c7565b9050919050565b6000602082019050818103600083015261298e816125ea565b9050919050565b600060208201905081810360008301526129ae8161260d565b9050919050565b600060208201905081810360008301526129ce81612676565b9050919050565b600060208201905081810360008301526129ee81612699565b9050919050565b60006020820190508181036000830152612a0e816126bc565b9050919050565b6000606082019050612a2a60008301876126df565b612a3760208301866123a1565b8181036040830152612a4a8184866123bf565b905095945050505050565b6000606082019050612a6a60008301856126df565b612a7760208301846123a1565b8181036040830152612a8881612630565b90509392505050565b6000604082019050612aa660008301866126df565b8181036020830152612ab98184866123bf565b9050949350505050565b6000612acd612ade565b9050612ad98282612c21565b919050565b6000604051905090565b600067ffffffffffffffff821115612b0357612b02612c52565b5b612b0c82612c9f565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000612b6782612b84565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000612bc682612ba4565b9050919050565b6000612bd882612bae565b9050919050565b82818337600083830152505050565b60005b83811015612c0c578082015181840152602081019050612bf1565b83811115612c1b576000848401525b50505050565b612c2a82612c9f565b810181811067ffffffffffffffff82111715612c4957612c48612c52565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61307381612b5c565b811461307e57600080fd5b50565b61308a81612b6e565b811461309557600080fd5b50565b6130a181612b7a565b81146130ac57600080fd5b50565b6130b881612ba4565b81146130c357600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220bda16da68115d43d899e50b7ec6d5a336fd24cf187474373ee646397da0aedcc64736f6c6343000807003360806040523480156200001157600080fd5b506040516200109038038062001090833981810160405281019062000037919062000106565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415620000a7576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200018b565b600081519050620001008162000171565b92915050565b6000602082840312156200011f576200011e6200016c565b5b60006200012f84828501620000ef565b91505092915050565b600062000145826200014c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200017c8162000138565b81146200018857600080fd5b50565b610ef5806200019b6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063116191b61461004657806321fc65f214610064578063d9caed1214610080575b600080fd5b61004e61009c565b60405161005b9190610a98565b60405180910390f35b61007e600480360381019061007991906107bc565b6100c2565b005b61009a60048036038101906100959190610769565b61024a565b005b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6100ca6102ef565b610117600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635131ab5986868686866040518663ffffffff1660e01b815260040161017a959493929190610a21565b600060405180830381600087803b15801561019457600080fd5b505af11580156101a8573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906101d19190610871565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f85b5be9cf454e05e0bddf49315178102227c312078eefa3c00294fb4d912ae4e85858560405161023393929190610b70565b60405180910390a36102436103c5565b5050505050565b6102526102ef565b61027d82828573ffffffffffffffffffffffffffffffffffffffff1661033f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb836040516102da9190610b55565b60405180910390a36102ea6103c5565b505050565b60026000541415610335576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032c90610b35565b60405180910390fd5b6002600081905550565b6103c08363a9059cbb60e01b848460405160240161035e929190610a6f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506103cf565b505050565b6001600081905550565b6000610431826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166104969092919063ffffffff16565b905060008151111561049157808060200190518101906104519190610844565b610490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048790610b15565b60405180910390fd5b5b505050565b60606104a584846000856104ae565b90509392505050565b6060824710156104f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ea90610ad5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161051c9190610a0a565b60006040518083038185875af1925050503d8060008114610559576040519150601f19603f3d011682016040523d82523d6000602084013e61055e565b606091505b509150915061056f8783838761057b565b92505050949350505050565b606083156105de576000835114156105d657610596856105f1565b6105d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105cc90610af5565b60405180910390fd5b5b8290506105e9565b6105e88383610614565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156106275781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065b9190610ab3565b60405180910390fd5b600061067761067284610bc7565b610ba2565b90508281526020810184848401111561069357610692610d6a565b5b61069e848285610cc8565b509392505050565b6000813590506106b581610e7a565b92915050565b6000815190506106ca81610e91565b92915050565b60008083601f8401126106e6576106e5610d60565b5b8235905067ffffffffffffffff81111561070357610702610d5b565b5b60208301915083600182028301111561071f5761071e610d65565b5b9250929050565b600082601f83011261073b5761073a610d60565b5b815161074b848260208601610664565b91505092915050565b60008135905061076381610ea8565b92915050565b60008060006060848603121561078257610781610d74565b5b6000610790868287016106a6565b93505060206107a1868287016106a6565b92505060406107b286828701610754565b9150509250925092565b6000806000806000608086880312156107d8576107d7610d74565b5b60006107e6888289016106a6565b95505060206107f7888289016106a6565b945050604061080888828901610754565b935050606086013567ffffffffffffffff81111561082957610828610d6f565b5b610835888289016106d0565b92509250509295509295909350565b60006020828403121561085a57610859610d74565b5b6000610868848285016106bb565b91505092915050565b60006020828403121561088757610886610d74565b5b600082015167ffffffffffffffff8111156108a5576108a4610d6f565b5b6108b184828501610726565b91505092915050565b6108c381610c3b565b82525050565b60006108d58385610c0e565b93506108e2838584610cb9565b6108eb83610d79565b840190509392505050565b600061090182610bf8565b61090b8185610c1f565b935061091b818560208601610cc8565b80840191505092915050565b61093081610c83565b82525050565b600061094182610c03565b61094b8185610c2a565b935061095b818560208601610cc8565b61096481610d79565b840191505092915050565b600061097c602683610c2a565b915061098782610d8a565b604082019050919050565b600061099f601d83610c2a565b91506109aa82610dd9565b602082019050919050565b60006109c2602a83610c2a565b91506109cd82610e02565b604082019050919050565b60006109e5601f83610c2a565b91506109f082610e51565b602082019050919050565b610a0481610c79565b82525050565b6000610a1682846108f6565b915081905092915050565b6000608082019050610a3660008301886108ba565b610a4360208301876108ba565b610a5060408301866109fb565b8181036060830152610a638184866108c9565b90509695505050505050565b6000604082019050610a8460008301856108ba565b610a9160208301846109fb565b9392505050565b6000602082019050610aad6000830184610927565b92915050565b60006020820190508181036000830152610acd8184610936565b905092915050565b60006020820190508181036000830152610aee8161096f565b9050919050565b60006020820190508181036000830152610b0e81610992565b9050919050565b60006020820190508181036000830152610b2e816109b5565b9050919050565b60006020820190508181036000830152610b4e816109d8565b9050919050565b6000602082019050610b6a60008301846109fb565b92915050565b6000604082019050610b8560008301866109fb565b8181036020830152610b988184866108c9565b9050949350505050565b6000610bac610bbd565b9050610bb88282610cfb565b919050565b6000604051905090565b600067ffffffffffffffff821115610be257610be1610d2c565b5b610beb82610d79565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000610c4682610c59565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610c8e82610c95565b9050919050565b6000610ca082610ca7565b9050919050565b6000610cb282610c59565b9050919050565b82818337600083830152505050565b60005b83811015610ce6578082015181840152602081019050610ccb565b83811115610cf5576000848401525b50505050565b610d0482610d79565b810181811067ffffffffffffffff82111715610d2357610d22610d2c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b610e8381610c3b565b8114610e8e57600080fd5b50565b610e9a81610c4d565b8114610ea557600080fd5b50565b610eb181610c79565b8114610ebc57600080fd5b5056fea2646970667358221220c6f7c0f9935341aaaabcabf7504d01bbd38a0606132004742a97e6a200eb432564736f6c63430008070033608060405234801561001057600080fd5b5061108a806100206000396000f3fe60806040526004361061003f5760003560e01c8063357fc5a2146100445780636ed701691461006d578063e04d4f9714610084578063f05b6abf146100a0575b600080fd5b34801561005057600080fd5b5061006b6004803603810190610066919061085a565b6100c9565b005b34801561007957600080fd5b50610082610138565b005b61009e600480360381019061009991906107eb565b610171565b005b3480156100ac57600080fd5b506100c760048036038101906100c29190610733565b6101b5565b005b6100f63382858573ffffffffffffffffffffffffffffffffffffffff166101f7909392919063ffffffff16565b7f2b58128f24a9f59127cc5b5430d70542b22220f2d9adaa86e442b816ab98af603384848460405161012b9493929190610bb0565b60405180910390a1505050565b7fbcaadb46b82a48af60b608f58959ae6b8310d1b0a0d094c2e9ec3208ed39f2a0336040516101679190610b0b565b60405180910390a1565b7f1f1ff1f5fb41346850b2f5c04e6c767e2f1c8a525c5c0c5cdb60cdf3ca5f62fa33348585856040516101a8959493929190610bf5565b60405180910390a1505050565b7f74a53cd528a921fca7dbdee62f86819051d3cc98f214951f4238e8843f20b146338484846040516101ea9493929190610b5d565b60405180910390a1505050565b61027a846323b872dd60e01b85858560405160240161021893929190610b26565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610280565b50505050565b60006102e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166103479092919063ffffffff16565b9050600081511115610342578080602001905181019061030291906107be565b610341576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033890610cb1565b60405180910390fd5b5b505050565b6060610356848460008561035f565b90509392505050565b6060824710156103a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039b90610c71565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516103cd9190610af4565b60006040518083038185875af1925050503d806000811461040a576040519150601f19603f3d011682016040523d82523d6000602084013e61040f565b606091505b50915091506104208783838761042c565b92505050949350505050565b6060831561048f5760008351141561048757610447856104a2565b610486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047d90610c91565b60405180910390fd5b5b82905061049a565b61049983836104c5565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156104d85781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050c9190610c4f565b60405180910390fd5b600061052861052384610cf6565b610cd1565b9050808382526020820190508285602086028201111561054b5761054a610f23565b5b60005b8581101561059957813567ffffffffffffffff81111561057157610570610f1e565b5b80860161057e89826106f0565b8552602085019450602084019350505060018101905061054e565b5050509392505050565b60006105b66105b184610d22565b610cd1565b905080838252602082019050828560208602820111156105d9576105d8610f23565b5b60005b8581101561060957816105ef888261071e565b8452602084019350602083019250506001810190506105dc565b5050509392505050565b600061062661062184610d4e565b610cd1565b90508281526020810184848401111561064257610641610f28565b5b61064d848285610e7c565b509392505050565b6000813590506106648161100f565b92915050565b600082601f83011261067f5761067e610f1e565b5b813561068f848260208601610515565b91505092915050565b600082601f8301126106ad576106ac610f1e565b5b81356106bd8482602086016105a3565b91505092915050565b6000813590506106d581611026565b92915050565b6000815190506106ea81611026565b92915050565b600082601f83011261070557610704610f1e565b5b8135610715848260208601610613565b91505092915050565b60008135905061072d8161103d565b92915050565b60008060006060848603121561074c5761074b610f32565b5b600084013567ffffffffffffffff81111561076a57610769610f2d565b5b6107768682870161066a565b935050602084013567ffffffffffffffff81111561079757610796610f2d565b5b6107a386828701610698565b92505060406107b4868287016106c6565b9150509250925092565b6000602082840312156107d4576107d3610f32565b5b60006107e2848285016106db565b91505092915050565b60008060006060848603121561080457610803610f32565b5b600084013567ffffffffffffffff81111561082257610821610f2d565b5b61082e868287016106f0565b935050602061083f8682870161071e565b9250506040610850868287016106c6565b9150509250925092565b60008060006060848603121561087357610872610f32565b5b60006108818682870161071e565b935050602061089286828701610655565b92505060406108a386828701610655565b9150509250925092565b60006108b983836109fb565b905092915050565b60006108cd8383610ad6565b60208301905092915050565b6108e281610e34565b82525050565b60006108f382610d9f565b6108fd8185610de5565b93508360208202850161090f85610d7f565b8060005b8581101561094b578484038952815161092c85826108ad565b945061093783610dcb565b925060208a01995050600181019050610913565b50829750879550505050505092915050565b600061096882610daa565b6109728185610df6565b935061097d83610d8f565b8060005b838110156109ae57815161099588826108c1565b97506109a083610dd8565b925050600181019050610981565b5085935050505092915050565b6109c481610e46565b82525050565b60006109d582610db5565b6109df8185610e07565b93506109ef818560208601610e8b565b80840191505092915050565b6000610a0682610dc0565b610a108185610e12565b9350610a20818560208601610e8b565b610a2981610f37565b840191505092915050565b6000610a3f82610dc0565b610a498185610e23565b9350610a59818560208601610e8b565b610a6281610f37565b840191505092915050565b6000610a7a602683610e23565b9150610a8582610f48565b604082019050919050565b6000610a9d601d83610e23565b9150610aa882610f97565b602082019050919050565b6000610ac0602a83610e23565b9150610acb82610fc0565b604082019050919050565b610adf81610e72565b82525050565b610aee81610e72565b82525050565b6000610b0082846109ca565b915081905092915050565b6000602082019050610b2060008301846108d9565b92915050565b6000606082019050610b3b60008301866108d9565b610b4860208301856108d9565b610b556040830184610ae5565b949350505050565b6000608082019050610b7260008301876108d9565b8181036020830152610b8481866108e8565b90508181036040830152610b98818561095d565b9050610ba760608301846109bb565b95945050505050565b6000608082019050610bc560008301876108d9565b610bd26020830186610ae5565b610bdf60408301856108d9565b610bec60608301846108d9565b95945050505050565b600060a082019050610c0a60008301886108d9565b610c176020830187610ae5565b8181036040830152610c298186610a34565b9050610c386060830185610ae5565b610c4560808301846109bb565b9695505050505050565b60006020820190508181036000830152610c698184610a34565b905092915050565b60006020820190508181036000830152610c8a81610a6d565b9050919050565b60006020820190508181036000830152610caa81610a90565b9050919050565b60006020820190508181036000830152610cca81610ab3565b9050919050565b6000610cdb610cec565b9050610ce78282610ebe565b919050565b6000604051905090565b600067ffffffffffffffff821115610d1157610d10610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d3d57610d3c610eef565b5b602082029050602081019050919050565b600067ffffffffffffffff821115610d6957610d68610eef565b5b610d7282610f37565b9050602081019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b6000610e3f82610e52565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610ea9578082015181840152602081019050610e8e565b83811115610eb8576000848401525b50505050565b610ec782610f37565b810181811067ffffffffffffffff82111715610ee657610ee5610eef565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b61101881610e34565b811461102357600080fd5b50565b61102f81610e46565b811461103a57600080fd5b50565b61104681610e72565b811461105157600080fd5b5056fea2646970667358221220086a1c9f56ed96506c7198d50cf431a5b03003c16cd4168d2395cdedfc1ac06164736f6c6343000807003360a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c726200024360003960008181610433015281816104c2015281816105d40152818161066301526107130152612c726000f3fe6080604052600436106100dd5760003560e01c80637993c1e01161007f578063bcf7f32b11610059578063bcf7f32b14610251578063c39aca371461027a578063f2fde38b146102a3578063f45346dc146102cc576100dd565b80637993c1e0146101e65780638129fc1c1461020f5780638da5cb5b14610226576100dd565b80633ce4a5bc116100bb5780633ce4a5bc1461015d5780634f1ef2861461018857806352d1902d146101a4578063715018a6146101cf576100dd565b80630ac7c44c146100e2578063135390f91461010b5780633659cfe614610134575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190611c80565b6102f5565b005b34801561011757600080fd5b50610132600480360381019061012d9190611cfc565b61034c565b005b34801561014057600080fd5b5061015b60048036038101906101569190611b0a565b610431565b005b34801561016957600080fd5b506101726105ba565b60405161017f919061226e565b60405180910390f35b6101a2600480360381019061019d9190611b37565b6105d2565b005b3480156101b057600080fd5b506101b961070f565b6040516101c691906122e9565b60405180910390f35b3480156101db57600080fd5b506101e46107c8565b005b3480156101f257600080fd5b5061020d60048036038101906102089190611d6b565b6107dc565b005b34801561021b57600080fd5b506102246108c7565b005b34801561023257600080fd5b5061023b610a0d565b604051610248919061226e565b60405180910390f35b34801561025d57600080fd5b5061027860048036038101906102739190611e0f565b610a37565b005b34801561028657600080fd5b506102a1600480360381019061029c9190611e0f565b610b2b565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190611b0a565b610d5d565b005b3480156102d857600080fd5b506102f360048036038101906102ee9190611bd3565b610de1565b005b3373ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f84848460405161033f93929190612304565b60405180910390a2505050565b60006103588383610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8585848673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103db57600080fd5b505afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104139190611ec5565b60405161042394939291906123a0565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614156104c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b79061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104ff61128d565b73ffffffffffffffffffffffffffffffffffffffff1614610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c9061247c565b60405180910390fd5b61055e816112e4565b6105b781600067ffffffffffffffff81111561057d5761057c61282b565b5b6040519080825280601f01601f1916602001820160405280156105af5781602001600182028036833780820191505090505b5060006112ef565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106589061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106a061128d565b73ffffffffffffffffffffffffffffffffffffffff16146106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed9061247c565b60405180910390fd5b6106ff826112e4565b61070b828260016112ef565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461079f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107969061249c565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b6107d061146c565b6107da60006114ea565b565b60006107e88585610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8787848873ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190611ec5565b88886040516108b79695949392919061233d565b60405180910390a2505050505050565b60008060019054906101000a900460ff161590508080156108f85750600160008054906101000a900460ff1660ff16105b806109255750610907306115b0565b1580156109245750600160008054906101000a900460ff1660ff16145b5b610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b906124dc565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156109a1576001600060016101000a81548160ff0219169083151502179055505b6109a96115d3565b6109b161162c565b8015610a0a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610a0191906123ff565b60405180910390a15b50565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610af195949392919061259c565b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50505050505050505050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba4576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610c1d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610c54576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166347e7ef2484866040518363ffffffff1660e01b8152600401610c8f9291906122c0565b602060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce19190611c26565b508273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610d2395949392919061259c565b600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b50505050505050505050565b610d6561146c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc9061243c565b60405180910390fd5b610dde816114ea565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610ed357503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610f0a576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166347e7ef2482846040518363ffffffff1660e01b8152600401610f459291906122c0565b602060405180830381600087803b158015610f5f57600080fd5b505af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611c26565b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b8152600401604080518083038186803b158015610fe757600080fd5b505afa158015610ffb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101f9190611b93565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b815260040161107493929190612289565b602060405180830381600087803b15801561108e57600080fd5b505af11580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190611c26565b6110fc576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b815260040161113993929190612289565b602060405180830381600087803b15801561115357600080fd5b505af1158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190611c26565b6111c1576040517f4dd9ee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166342966c68866040518263ffffffff1660e01b81526004016111fa91906125f1565b602060405180830381600087803b15801561121457600080fd5b505af1158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190611c26565b611282576040517f2c77e05c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809250505092915050565b60006112bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112ec61146c565b50565b61131b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b611687565b60000160009054906101000a900460ff161561133f5761133a83611691565b611467565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561138557600080fd5b505afa9250505080156113b657506040513d601f19601f820116820180604052508101906113b39190611c53565b60015b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec906124fc565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b811461145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906124bc565b60405180910390fd5b5061146683838361174a565b5b505050565b611474611776565b73ffffffffffffffffffffffffffffffffffffffff16611492610a0d565b73ffffffffffffffffffffffffffffffffffffffff16146114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9061253c565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611622576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116199061257c565b60405180910390fd5b61162a61177e565b565b600060019054906101000a900460ff1661167b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116729061257c565b60405180910390fd5b565b6000819050919050565b6000819050919050565b61169a816115b0565b6116d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d09061251c565b60405180910390fd5b806117067f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611753836117df565b6000825111806117605750805b156117715761176f838361182e565b505b505050565b600033905090565b600060019054906101000a900460ff166117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061257c565b60405180910390fd5b6117dd6117d8611776565b6114ea565b565b6117e881611691565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60606118538383604051806060016040528060278152602001612c166027913961185b565b905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516118859190612257565b600060405180830381855af49150503d80600081146118c0576040519150601f19603f3d011682016040523d82523d6000602084013e6118c5565b606091505b50915091506118d6868383876118e1565b925050509392505050565b606083156119445760008351141561193c576118fc856115b0565b61193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119329061255c565b60405180910390fd5b5b82905061194f565b61194e8383611957565b5b949350505050565b60008251111561196a5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e919061241a565b60405180910390fd5b60006119ba6119b584612631565b61260c565b9050828152602081018484840111156119d6576119d5612878565b5b6119e18482856127b8565b509392505050565b6000813590506119f881612bb9565b92915050565b600081519050611a0d81612bb9565b92915050565b600081519050611a2281612bd0565b92915050565b600081519050611a3781612be7565b92915050565b60008083601f840112611a5357611a52612864565b5b8235905067ffffffffffffffff811115611a7057611a6f61285f565b5b602083019150836001820283011115611a8c57611a8b612873565b5b9250929050565b600082601f830112611aa857611aa7612864565b5b8135611ab88482602086016119a7565b91505092915050565b600060608284031215611ad757611ad6612869565b5b81905092915050565b600081359050611aef81612bfe565b92915050565b600081519050611b0481612bfe565b92915050565b600060208284031215611b2057611b1f612887565b5b6000611b2e848285016119e9565b91505092915050565b60008060408385031215611b4e57611b4d612887565b5b6000611b5c858286016119e9565b925050602083013567ffffffffffffffff811115611b7d57611b7c61287d565b5b611b8985828601611a93565b9150509250929050565b60008060408385031215611baa57611ba9612887565b5b6000611bb8858286016119fe565b9250506020611bc985828601611af5565b9150509250929050565b600080600060608486031215611bec57611beb612887565b5b6000611bfa868287016119e9565b9350506020611c0b86828701611ae0565b9250506040611c1c868287016119e9565b9150509250925092565b600060208284031215611c3c57611c3b612887565b5b6000611c4a84828501611a13565b91505092915050565b600060208284031215611c6957611c68612887565b5b6000611c7784828501611a28565b91505092915050565b600080600060408486031215611c9957611c98612887565b5b600084013567ffffffffffffffff811115611cb757611cb661287d565b5b611cc386828701611a93565b935050602084013567ffffffffffffffff811115611ce457611ce361287d565b5b611cf086828701611a3d565b92509250509250925092565b600080600060608486031215611d1557611d14612887565b5b600084013567ffffffffffffffff811115611d3357611d3261287d565b5b611d3f86828701611a93565b9350506020611d5086828701611ae0565b9250506040611d61868287016119e9565b9150509250925092565b600080600080600060808688031215611d8757611d86612887565b5b600086013567ffffffffffffffff811115611da557611da461287d565b5b611db188828901611a93565b9550506020611dc288828901611ae0565b9450506040611dd3888289016119e9565b935050606086013567ffffffffffffffff811115611df457611df361287d565b5b611e0088828901611a3d565b92509250509295509295909350565b60008060008060008060a08789031215611e2c57611e2b612887565b5b600087013567ffffffffffffffff811115611e4a57611e4961287d565b5b611e5689828a01611ac1565b9650506020611e6789828a016119e9565b9550506040611e7889828a01611ae0565b9450506060611e8989828a016119e9565b935050608087013567ffffffffffffffff811115611eaa57611ea961287d565b5b611eb689828a01611a3d565b92509250509295509295509295565b600060208284031215611edb57611eda612887565b5b6000611ee984828501611af5565b91505092915050565b611efb81612747565b82525050565b611f0a81612747565b82525050565b611f1981612765565b82525050565b6000611f2b8385612678565b9350611f388385846127b8565b611f418361288c565b840190509392505050565b6000611f588385612689565b9350611f658385846127b8565b611f6e8361288c565b840190509392505050565b6000611f8482612662565b611f8e8185612689565b9350611f9e8185602086016127c7565b611fa78161288c565b840191505092915050565b6000611fbd82612662565b611fc7818561269a565b9350611fd78185602086016127c7565b80840191505092915050565b611fec816127a6565b82525050565b6000611ffd8261266d565b61200781856126a5565b93506120178185602086016127c7565b6120208161288c565b840191505092915050565b60006120386026836126a5565b91506120438261289d565b604082019050919050565b600061205b602c836126a5565b9150612066826128ec565b604082019050919050565b600061207e602c836126a5565b91506120898261293b565b604082019050919050565b60006120a16038836126a5565b91506120ac8261298a565b604082019050919050565b60006120c46029836126a5565b91506120cf826129d9565b604082019050919050565b60006120e7602e836126a5565b91506120f282612a28565b604082019050919050565b600061210a602e836126a5565b915061211582612a77565b604082019050919050565b600061212d602d836126a5565b915061213882612ac6565b604082019050919050565b60006121506020836126a5565b915061215b82612b15565b602082019050919050565b6000612173600083612689565b915061217e82612b3e565b600082019050919050565b6000612196601d836126a5565b91506121a182612b41565b602082019050919050565b60006121b9602b836126a5565b91506121c482612b6a565b604082019050919050565b6000606083016121e260008401846126cd565b85830360008701526121f5838284611f1f565b9250505061220660208401846126b6565b6122136020860182611ef2565b506122216040840184612730565b61222e6040860182612239565b508091505092915050565b6122428161278f565b82525050565b6122518161278f565b82525050565b60006122638284611fb2565b915081905092915050565b60006020820190506122836000830184611f01565b92915050565b600060608201905061229e6000830186611f01565b6122ab6020830185611f01565b6122b86040830184612248565b949350505050565b60006040820190506122d56000830185611f01565b6122e26020830184612248565b9392505050565b60006020820190506122fe6000830184611f10565b92915050565b6000604082019050818103600083015261231e8186611f79565b90508181036020830152612333818486611f4c565b9050949350505050565b600060a08201905081810360008301526123578189611f79565b90506123666020830188612248565b6123736040830187612248565b6123806060830186612248565b8181036080830152612393818486611f4c565b9050979650505050505050565b600060a08201905081810360008301526123ba8187611f79565b90506123c96020830186612248565b6123d66040830185612248565b6123e36060830184612248565b81810360808301526123f481612166565b905095945050505050565b60006020820190506124146000830184611fe3565b92915050565b600060208201905081810360008301526124348184611ff2565b905092915050565b600060208201905081810360008301526124558161202b565b9050919050565b600060208201905081810360008301526124758161204e565b9050919050565b6000602082019050818103600083015261249581612071565b9050919050565b600060208201905081810360008301526124b581612094565b9050919050565b600060208201905081810360008301526124d5816120b7565b9050919050565b600060208201905081810360008301526124f5816120da565b9050919050565b60006020820190508181036000830152612515816120fd565b9050919050565b6000602082019050818103600083015261253581612120565b9050919050565b6000602082019050818103600083015261255581612143565b9050919050565b6000602082019050818103600083015261257581612189565b9050919050565b60006020820190508181036000830152612595816121ac565b9050919050565b600060808201905081810360008301526125b681886121cf565b90506125c56020830187611f01565b6125d26040830186612248565b81810360608301526125e5818486611f4c565b90509695505050505050565b60006020820190506126066000830184612248565b92915050565b6000612616612627565b905061262282826127fa565b919050565b6000604051905090565b600067ffffffffffffffff82111561264c5761264b61282b565b5b6126558261288c565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006126c560208401846119e9565b905092915050565b600080833560016020038436030381126126ea576126e9612882565b5b83810192508235915060208301925067ffffffffffffffff8211156127125761271161285a565b5b6001820236038413156127285761272761286e565b5b509250929050565b600061273f6020840184611ae0565b905092915050565b60006127528261276f565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127b182612799565b9050919050565b82818337600083830152505050565b60005b838110156127e55780820151818401526020810190506127ca565b838111156127f4576000848401525b50505050565b6128038261288c565b810181811067ffffffffffffffff821117156128225761282161282b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b612bc281612747565b8114612bcd57600080fd5b50565b612bd981612759565b8114612be457600080fd5b50565b612bf081612765565b8114612bfb57600080fd5b50565b612c078161278f565b8114612c1257600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220627eb039ecb52d09fd70ebde1f5eca61fe0f91321a96929ebe38dc8e38d999ab64736f6c63430008070033608060405234801561001057600080fd5b50604051610bcd380380610bcd8339818101604052810190610032919061008d565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600081519050610087816100f1565b92915050565b6000602082840312156100a3576100a26100ec565b5b60006100b184828501610078565b91505092915050565b60006100c5826100cc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6100fa816100ba565b811461010557600080fd5b50565b610ab6806101176000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630abd890514610046578063116191b614610062578063a0a1730b14610080575b600080fd5b610060600480360381019061005b91906105fd565b61009c565b005b61006a6102af565b6040516100779190610761565b60405180910390f35b61009a6004803603810190610095919061055e565b6102d3565b005b60008383836040516024016100b39392919061082f565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090508473ffffffffffffffffffffffffffffffffffffffff1663095ea7b360008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16886040518363ffffffff1660e01b815260040161018d92919061077c565b602060405180830381600087803b1580156101a757600080fd5b505af11580156101bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101df9190610531565b610215576040517f8164f84200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637993c1e0888888856040518563ffffffff1660e01b815260040161027494939291906107dc565b600060405180830381600087803b15801561028e57600080fd5b505af11580156102a2573d6000803e3d6000fd5b5050505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008383836040516024016102ea9392919061082f565b6040516020818303038152906040527fe04d4f97000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ac7c44c86836040518363ffffffff1660e01b81526004016103c49291906107a5565b600060405180830381600087803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b505050505050505050565b600061041061040b84610892565b61086d565b90508281526020810184848401111561042c5761042b610a1b565b5b610437848285610974565b509392505050565b600061045261044d846108c3565b61086d565b90508281526020810184848401111561046e5761046d610a1b565b5b610479848285610974565b509392505050565b60008135905061049081610a3b565b92915050565b6000813590506104a581610a52565b92915050565b6000815190506104ba81610a52565b92915050565b600082601f8301126104d5576104d4610a16565b5b81356104e58482602086016103fd565b91505092915050565b600082601f83011261050357610502610a16565b5b813561051384826020860161043f565b91505092915050565b60008135905061052b81610a69565b92915050565b60006020828403121561054757610546610a25565b5b6000610555848285016104ab565b91505092915050565b6000806000806080858703121561057857610577610a25565b5b600085013567ffffffffffffffff81111561059657610595610a20565b5b6105a2878288016104c0565b945050602085013567ffffffffffffffff8111156105c3576105c2610a20565b5b6105cf878288016104ee565b93505060406105e08782880161051c565b92505060606105f187828801610496565b91505092959194509250565b60008060008060008060c0878903121561061a57610619610a25565b5b600087013567ffffffffffffffff81111561063857610637610a20565b5b61064489828a016104c0565b965050602061065589828a0161051c565b955050604061066689828a01610481565b945050606087013567ffffffffffffffff81111561068757610686610a20565b5b61069389828a016104ee565b93505060806106a489828a0161051c565b92505060a06106b589828a01610496565b9150509295509295509295565b6106cb8161092c565b82525050565b6106da8161093e565b82525050565b60006106eb826108f4565b6106f5818561090a565b9350610705818560208601610983565b61070e81610a2a565b840191505092915050565b6000610724826108ff565b61072e818561091b565b935061073e818560208601610983565b61074781610a2a565b840191505092915050565b61075b8161096a565b82525050565b600060208201905061077660008301846106c2565b92915050565b600060408201905061079160008301856106c2565b61079e6020830184610752565b9392505050565b600060408201905081810360008301526107bf81856106e0565b905081810360208301526107d381846106e0565b90509392505050565b600060808201905081810360008301526107f681876106e0565b90506108056020830186610752565b61081260408301856106c2565b818103606083015261082481846106e0565b905095945050505050565b600060608201905081810360008301526108498186610719565b90506108586020830185610752565b61086560408301846106d1565b949350505050565b6000610877610888565b905061088382826109b6565b919050565b6000604051905090565b600067ffffffffffffffff8211156108ad576108ac6109e7565b5b6108b682610a2a565b9050602081019050919050565b600067ffffffffffffffff8211156108de576108dd6109e7565b5b6108e782610a2a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006109378261094a565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156109a1578082015181840152602081019050610986565b838111156109b0576000848401525b50505050565b6109bf82610a2a565b810181811067ffffffffffffffff821117156109de576109dd6109e7565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b610a448161092c565b8114610a4f57600080fd5b50565b610a5b8161093e565b8114610a6657600080fd5b50565b610a728161096a565b8114610a7d57600080fd5b5056fea2646970667358221220192b4e23b9b6daaae9f30fb00f65433e56a5d8a6906223e4fbd169def800a8a264736f6c6343000807003360806040523480156200001157600080fd5b50604051620010d7380380620010d7833981810160405281019062000037919062000146565b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f80699e81136d69cb8367ad52a994e25c722a86da654b561d0c14b61a777e7ac560405160405180910390a1505050620001f5565b6000815190506200014081620001db565b92915050565b600080600060608486031215620001625762000161620001d6565b5b600062000172868287016200012f565b935050602062000185868287016200012f565b925050604062000198868287016200012f565b9150509250925092565b6000620001af82620001b6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b620001e681620001a2565b8114620001f257600080fd5b50565b610ed280620002056000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806397770dff1161007157806397770dff14610166578063a7cb050714610182578063c63585cc1461019e578063d7fd7afb146101ce578063d936a012146101fe578063ee2815ba1461021c576100a9565b80630be15547146100ae5780633c669d55146100de578063513a9c05146100fa578063569541b91461012a578063842da36d14610148575b600080fd5b6100c860048036038101906100c3919061094d565b610238565b6040516100d59190610bce565b60405180910390f35b6100f860048036038101906100f39190610898565b61026b565b005b610114600480360381019061010f919061094d565b6103b8565b6040516101219190610bce565b60405180910390f35b6101326103eb565b60405161013f9190610bce565b60405180910390f35b610150610411565b60405161015d9190610bce565b60405180910390f35b610180600480360381019061017b9190610818565b610437565b005b61019c600480360381019061019791906109ba565b6104d4565b005b6101b860048036038101906101b39190610845565b610528565b6040516101c59190610bce565b60405180910390f35b6101e860048036038101906101e3919061094d565b61059a565b6040516101f59190610c67565b60405180910390f35b6102066105b2565b6040516102139190610bce565b60405180910390f35b6102366004803603810190610231919061097a565b6105d8565b005b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060405180606001604052806040518060200160405280600081525081526020013373ffffffffffffffffffffffffffffffffffffffff1681526020014681525090508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb87866040518363ffffffff1660e01b81526004016102ea929190610be9565b602060405180830381600087803b15801561030457600080fd5b505af1158015610318573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033c9190610920565b508573ffffffffffffffffffffffffffffffffffffffff1663de43156e82878787876040518663ffffffff1660e01b815260040161037e959493929190610c12565b600060405180830381600087803b15801561039857600080fd5b505af11580156103ac573d6000803e3d6000fd5b50505050505050505050565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdba79d534382d1a8ae108e4c8ecb27c6ae42ab8b91d44eedf88bd329f3868d5e600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516104c99190610bce565b60405180910390a150565b80600080848152602001908152602001600020819055507f49f492222906ac486c3c1401fa545626df1f0c0e5a77a05597ea2ed66af9850d828260405161051c929190610cab565b60405180910390a15050565b60008060006105378585610667565b9150915085828260405160200161054f929190610b60565b60405160208183030381529060405280519060200120604051602001610576929190610b8c565b6040516020818303038152906040528051906020012060001c925050509392505050565b60006020528060005260406000206000915090505481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1b36d30f6248e97c473b4d1348ca164a4ef6759022f54a58ec200326c39c45d828260405161065b929190610c82565b60405180910390a15050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156106d0576040517fcb1e7cfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061070a57828461070d565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561077c576040517f78b507da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b60008135905061079281610e57565b92915050565b6000815190506107a781610e6e565b92915050565b60008083601f8401126107c3576107c2610dd3565b5b8235905067ffffffffffffffff8111156107e0576107df610dce565b5b6020830191508360018202830111156107fc576107fb610dd8565b5b9250929050565b60008135905061081281610e85565b92915050565b60006020828403121561082e5761082d610de2565b5b600061083c84828501610783565b91505092915050565b60008060006060848603121561085e5761085d610de2565b5b600061086c86828701610783565b935050602061087d86828701610783565b925050604061088e86828701610783565b9150509250925092565b6000806000806000608086880312156108b4576108b3610de2565b5b60006108c288828901610783565b95505060206108d388828901610783565b94505060406108e488828901610803565b935050606086013567ffffffffffffffff81111561090557610904610ddd565b5b610911888289016107ad565b92509250509295509295909350565b60006020828403121561093657610935610de2565b5b600061094484828501610798565b91505092915050565b60006020828403121561096357610962610de2565b5b600061097184828501610803565b91505092915050565b6000806040838503121561099157610990610de2565b5b600061099f85828601610803565b92505060206109b085828601610783565b9150509250929050565b600080604083850312156109d1576109d0610de2565b5b60006109df85828601610803565b92505060206109f085828601610803565b9150509250929050565b610a0381610d0c565b82525050565b610a1281610d0c565b82525050565b610a29610a2482610d0c565b610da0565b82525050565b610a40610a3b82610d2a565b610db2565b82525050565b6000610a528385610cf0565b9350610a5f838584610d5e565b610a6883610de7565b840190509392505050565b6000610a7e82610cd4565b610a888185610cdf565b9350610a98818560208601610d6d565b610aa181610de7565b840191505092915050565b6000610ab9602083610d01565b9150610ac482610e05565b602082019050919050565b6000610adc600183610d01565b9150610ae782610e2e565b600182019050919050565b60006060830160008301518482036000860152610b0f8282610a73565b9150506020830151610b2460208601826109fa565b506040830151610b376040860182610b42565b508091505092915050565b610b4b81610d54565b82525050565b610b5a81610d54565b82525050565b6000610b6c8285610a18565b601482019150610b7c8284610a18565b6014820191508190509392505050565b6000610b9782610acf565b9150610ba38285610a18565b601482019150610bb38284610a2f565b602082019150610bc282610aac565b91508190509392505050565b6000602082019050610be36000830184610a09565b92915050565b6000604082019050610bfe6000830185610a09565b610c0b6020830184610b51565b9392505050565b60006080820190508181036000830152610c2c8188610af2565b9050610c3b6020830187610a09565b610c486040830186610b51565b8181036060830152610c5b818486610a46565b90509695505050505050565b6000602082019050610c7c6000830184610b51565b92915050565b6000604082019050610c976000830185610b51565b610ca46020830184610a09565b9392505050565b6000604082019050610cc06000830185610b51565b610ccd6020830184610b51565b9392505050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000610d1782610d34565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610d8b578082015181840152602081019050610d70565b83811115610d9a576000848401525b50505050565b6000610dab82610dbc565b9050919050565b6000819050919050565b6000610dc782610df8565b9050919050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b610e6081610d0c565b8114610e6b57600080fd5b50565b610e7781610d1e565b8114610e8257600080fd5b50565b610e8e81610d54565b8114610e9957600080fd5b5056fea2646970667358221220fc7ae99de1eb543fc941c22b053bacc8edc14f929260909668ffd15cbad6fbfb64736f6c6343000807003360c06040523480156200001157600080fd5b506040516200282d3803806200282d83398181016040528101906200003791906200035b565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620000b1576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8760079080519060200190620000c9929190620001d1565b508660089080519060200190620000e2929190620001d1565b5085600960006101000a81548160ff021916908360ff16021790555084608081815250508360028111156200011c576200011b620005ae565b5b60a0816002811115620001345762000133620005ae565b5b60f81b8152505082600281905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050620006bf565b828054620001df9062000542565b90600052602060002090601f0160209004810192826200020357600085556200024f565b82601f106200021e57805160ff19168380011785556200024f565b828001600101855582156200024f579182015b828111156200024e57825182559160200191906001019062000231565b5b5090506200025e919062000262565b5090565b5b808211156200027d57600081600090555060010162000263565b5090565b60006200029862000292846200048b565b62000462565b905082815260208101848484011115620002b757620002b662000640565b5b620002c48482856200050c565b509392505050565b600081519050620002dd8162000660565b92915050565b600081519050620002f4816200067a565b92915050565b600082601f8301126200031257620003116200063b565b5b81516200032484826020860162000281565b91505092915050565b6000815190506200033e816200068b565b92915050565b6000815190506200035581620006a5565b92915050565b600080600080600080600080610100898b0312156200037f576200037e6200064a565b5b600089015167ffffffffffffffff811115620003a0576200039f62000645565b5b620003ae8b828c01620002fa565b985050602089015167ffffffffffffffff811115620003d257620003d162000645565b5b620003e08b828c01620002fa565b9750506040620003f38b828c0162000344565b9650506060620004068b828c016200032d565b9550506080620004198b828c01620002e3565b94505060a06200042c8b828c016200032d565b93505060c06200043f8b828c01620002cc565b92505060e0620004528b828c01620002cc565b9150509295985092959890939650565b60006200046e62000481565b90506200047c828262000578565b919050565b6000604051905090565b600067ffffffffffffffff821115620004a957620004a86200060c565b5b620004b4826200064f565b9050602081019050919050565b6000620004ce82620004d5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200052c5780820151818401526020810190506200050f565b838111156200053c576000848401525b50505050565b600060028204905060018216806200055b57607f821691505b60208210811415620005725762000571620005dd565b5b50919050565b62000583826200064f565b810181811067ffffffffffffffff82111715620005a557620005a46200060c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6200066b81620004c1565b81146200067757600080fd5b50565b600381106200068857600080fd5b50565b6200069681620004f5565b8114620006a257600080fd5b50565b620006b081620004ff565b8114620006bc57600080fd5b50565b60805160a05160f81c612137620006f660003960006109580152600081816108a201528181610c250152610d5a01526121376000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806385e1f4d0116100c3578063d9eeebed1161007c578063d9eeebed146103cc578063dd62ed3e146103eb578063e2f535b81461041b578063eddeb12314610439578063f2441b3214610455578063f687d12a146104735761014d565b806385e1f4d0146102f657806395d89b4114610314578063a3413d0314610332578063a9059cbb14610350578063c701262614610380578063c835d7cc146103b05761014d565b8063313ce56711610115578063313ce5671461020c5780633ce4a5bc1461022a57806342966c681461024857806347e7ef24146102785780634d8943bb146102a857806370a08231146102c65761014d565b806306fdde0314610152578063091d278814610170578063095ea7b31461018e57806318160ddd146101be57806323b872dd146101dc575b600080fd5b61015a61048f565b6040516101679190611cad565b60405180910390f35b610178610521565b6040516101859190611ccf565b60405180910390f35b6101a860048036038101906101a3919061196e565b610527565b6040516101b59190611bfb565b60405180910390f35b6101c6610545565b6040516101d39190611ccf565b60405180910390f35b6101f660048036038101906101f1919061191b565b61054f565b6040516102039190611bfb565b60405180910390f35b610214610647565b6040516102219190611cea565b60405180910390f35b61023261065e565b60405161023f9190611b80565b60405180910390f35b610262600480360381019061025d9190611a37565b610676565b60405161026f9190611bfb565b60405180910390f35b610292600480360381019061028d919061196e565b61068b565b60405161029f9190611bfb565b60405180910390f35b6102b0610851565b6040516102bd9190611ccf565b60405180910390f35b6102e060048036038101906102db9190611881565b610857565b6040516102ed9190611ccf565b60405180910390f35b6102fe6108a0565b60405161030b9190611ccf565b60405180910390f35b61031c6108c4565b6040516103299190611cad565b60405180910390f35b61033a610956565b6040516103479190611c92565b60405180910390f35b61036a6004803603810190610365919061196e565b61097a565b6040516103779190611bfb565b60405180910390f35b61039a600480360381019061039591906119db565b610998565b6040516103a79190611bfb565b60405180910390f35b6103ca60048036038101906103c59190611881565b610aee565b005b6103d4610be1565b6040516103e2929190611bd2565b60405180910390f35b610405600480360381019061040091906118db565b610e4e565b6040516104129190611ccf565b60405180910390f35b610423610ed5565b6040516104309190611b80565b60405180910390f35b610453600480360381019061044e9190611a37565b610efb565b005b61045d610fb5565b60405161046a9190611b80565b60405180910390f35b61048d60048036038101906104889190611a37565b610fd9565b005b60606007805461049e90611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546104ca90611f33565b80156105175780601f106104ec57610100808354040283529160200191610517565b820191906000526020600020905b8154815290600101906020018083116104fa57829003601f168201915b5050505050905090565b60025481565b600061053b610534611093565b848461109b565b6001905092915050565b6000600654905090565b600061055c848484611254565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a7611093565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061e576040517f10bad14700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063b8561062a611093565b85846106369190611e43565b61109b565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b600061068233836114b0565b60019050919050565b600073735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610729575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156107835750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156107ba576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c48383611668565b8273ffffffffffffffffffffffffffffffffffffffff167f67fc7bdaed5b0ec550d8706b87d60568ab70c6b781263c70101d54cd1564aab373735b14bb79463307aacbed86daf3322b1e6226ab6040516020016108219190611b65565b6040516020818303038152906040528460405161083f929190611c16565b60405180910390a26001905092915050565b60035481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600880546108d390611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff90611f33565b801561094c5780601f106109215761010080835404028352916020019161094c565b820191906000526020600020905b81548152906001019060200180831161092f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061098e610987611093565b8484611254565b6001905092915050565b60008060006109a5610be1565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b81526004016109fa93929190611b9b565b602060405180830381600087803b158015610a1457600080fd5b505af1158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c91906119ae565b610a82576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a8c33856114b0565b3373ffffffffffffffffffffffffffffffffffffffff167f9ffbffc04a397460ee1dbe8c9503e098090567d6b7f4b3c02a8617d800b6d955868684600354604051610ada9493929190611c46565b60405180910390a260019250505092915050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b67576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd55614e962c5fd6ece71614f6348d702468a997a394dd5e5c1677950226d97ae81604051610bd69190611b80565b60405180910390a150565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630be155477f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610c609190611ccf565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb091906118ae565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d19576040517f78fff39600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d7fd7afb7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610d959190611ccf565b60206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de59190611a64565b90506000811415610e22576040517fe661aed000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060035460025483610e359190611de9565b610e3f9190611d93565b90508281945094505050509091565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806003819055507fef13af88e424b5d15f49c77758542c1938b08b8b95b91ed0751f98ba99000d8f81604051610faa9190611ccf565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611052576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806002819055507fff5788270f43bfc1ca41c503606d2594aa3023a1a7547de403a3e2f146a4a80a816040516110889190611ccf565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611102576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611169576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112479190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112bb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611322576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113a0576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816113ac9190611e43565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461143e9190611d93565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114a29190611ccf565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611517576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611595576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816115a19190611e43565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546115f69190611e43565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161165b9190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116cf576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600660008282546116e19190611d93565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117379190611d93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161179c9190611ccf565b60405180910390a35050565b60006117bb6117b684611d2a565b611d05565b9050828152602081018484840111156117d7576117d661207b565b5b6117e2848285611ef1565b509392505050565b6000813590506117f9816120bc565b92915050565b60008151905061180e816120bc565b92915050565b600081519050611823816120d3565b92915050565b600082601f83011261183e5761183d612076565b5b813561184e8482602086016117a8565b91505092915050565b600081359050611866816120ea565b92915050565b60008151905061187b816120ea565b92915050565b60006020828403121561189757611896612085565b5b60006118a5848285016117ea565b91505092915050565b6000602082840312156118c4576118c3612085565b5b60006118d2848285016117ff565b91505092915050565b600080604083850312156118f2576118f1612085565b5b6000611900858286016117ea565b9250506020611911858286016117ea565b9150509250929050565b60008060006060848603121561193457611933612085565b5b6000611942868287016117ea565b9350506020611953868287016117ea565b925050604061196486828701611857565b9150509250925092565b6000806040838503121561198557611984612085565b5b6000611993858286016117ea565b92505060206119a485828601611857565b9150509250929050565b6000602082840312156119c4576119c3612085565b5b60006119d284828501611814565b91505092915050565b600080604083850312156119f2576119f1612085565b5b600083013567ffffffffffffffff811115611a1057611a0f612080565b5b611a1c85828601611829565b9250506020611a2d85828601611857565b9150509250929050565b600060208284031215611a4d57611a4c612085565b5b6000611a5b84828501611857565b91505092915050565b600060208284031215611a7a57611a79612085565b5b6000611a888482850161186c565b91505092915050565b611a9a81611e77565b82525050565b611ab1611aac82611e77565b611f96565b82525050565b611ac081611e89565b82525050565b6000611ad182611d5b565b611adb8185611d71565b9350611aeb818560208601611f00565b611af48161208a565b840191505092915050565b611b0881611edf565b82525050565b6000611b1982611d66565b611b238185611d82565b9350611b33818560208601611f00565b611b3c8161208a565b840191505092915050565b611b5081611ec8565b82525050565b611b5f81611ed2565b82525050565b6000611b718284611aa0565b60148201915081905092915050565b6000602082019050611b956000830184611a91565b92915050565b6000606082019050611bb06000830186611a91565b611bbd6020830185611a91565b611bca6040830184611b47565b949350505050565b6000604082019050611be76000830185611a91565b611bf46020830184611b47565b9392505050565b6000602082019050611c106000830184611ab7565b92915050565b60006040820190508181036000830152611c308185611ac6565b9050611c3f6020830184611b47565b9392505050565b60006080820190508181036000830152611c608187611ac6565b9050611c6f6020830186611b47565b611c7c6040830185611b47565b611c896060830184611b47565b95945050505050565b6000602082019050611ca76000830184611aff565b92915050565b60006020820190508181036000830152611cc78184611b0e565b905092915050565b6000602082019050611ce46000830184611b47565b92915050565b6000602082019050611cff6000830184611b56565b92915050565b6000611d0f611d20565b9050611d1b8282611f65565b919050565b6000604051905090565b600067ffffffffffffffff821115611d4557611d44612047565b5b611d4e8261208a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d9e82611ec8565b9150611da983611ec8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611dde57611ddd611fba565b5b828201905092915050565b6000611df482611ec8565b9150611dff83611ec8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e3857611e37611fba565b5b828202905092915050565b6000611e4e82611ec8565b9150611e5983611ec8565b925082821015611e6c57611e6b611fba565b5b828203905092915050565b6000611e8282611ea8565b9050919050565b60008115159050919050565b6000819050611ea3826120a8565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611eea82611e95565b9050919050565b82818337600083830152505050565b60005b83811015611f1e578082015181840152602081019050611f03565b83811115611f2d576000848401525b50505050565b60006002820490506001821680611f4b57607f821691505b60208210811415611f5f57611f5e612018565b5b50919050565b611f6e8261208a565b810181811067ffffffffffffffff82111715611f8d57611f8c612047565b5b80604052505050565b6000611fa182611fa8565b9050919050565b6000611fb38261209b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b600381106120b9576120b8611fe9565b5b50565b6120c581611e77565b81146120d057600080fd5b50565b6120dc81611e89565b81146120e757600080fd5b50565b6120f381611ec8565b81146120fe57600080fd5b5056fea26469706673582212206982505c1a546edfb86a1aaaca0ad6b7e5542f2d1f24ac30a032805fc80a650e64736f6c63430008070033a2646970667358221220da501b74b5f247f506271d2056d0f490e4e35a1198496514f5bbfae138fcc94264736f6c63430008070033"; type GatewayEVMZEVMTestConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest__factory.ts b/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest__factory.ts new file mode 100644 index 00000000..12f9f220 --- /dev/null +++ b/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest__factory.ts @@ -0,0 +1,766 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../../common"; +import type { + GatewayZEVMInboundTest, + GatewayZEVMInboundTestInterface, +} from "../../../../../contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMInboundTest"; + +const _abi = [ + { + inputs: [], + name: "CallerIsNotFungibleModule", + type: "error", + }, + { + inputs: [], + name: "GasFeeTransferFailed", + type: "error", + }, + { + inputs: [], + name: "InsufficientZRC20Amount", + type: "error", + }, + { + inputs: [], + name: "InvalidTarget", + type: "error", + }, + { + inputs: [], + name: "WithdrawalFailed", + type: "error", + }, + { + inputs: [], + name: "ZRC20BurnFailed", + type: "error", + }, + { + inputs: [], + name: "ZRC20TransferFailed", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "receiver", + type: "bytes", + }, + { + indexed: false, + internalType: "bytes", + name: "message", + type: "bytes", + }, + ], + name: "Call", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "to", + type: "bytes", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "gasfee", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "protocolFlatFee", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "message", + type: "bytes", + }, + ], + name: "Withdrawal", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "", + type: "string", + }, + ], + name: "log", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "", + type: "address", + }, + ], + name: "log_address", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256[]", + name: "val", + type: "uint256[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "int256[]", + name: "val", + type: "int256[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address[]", + name: "val", + type: "address[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "log_bytes", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "log_bytes32", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "int256", + name: "", + type: "int256", + }, + ], + name: "log_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "address", + name: "val", + type: "address", + }, + ], + name: "log_named_address", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256[]", + name: "val", + type: "uint256[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256[]", + name: "val", + type: "int256[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "address[]", + name: "val", + type: "address[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "val", + type: "bytes", + }, + ], + name: "log_named_bytes", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "bytes32", + name: "val", + type: "bytes32", + }, + ], + name: "log_named_bytes32", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256", + name: "val", + type: "int256", + }, + { + indexed: false, + internalType: "uint256", + name: "decimals", + type: "uint256", + }, + ], + name: "log_named_decimal_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256", + name: "val", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "decimals", + type: "uint256", + }, + ], + name: "log_named_decimal_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256", + name: "val", + type: "int256", + }, + ], + name: "log_named_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "val", + type: "string", + }, + ], + name: "log_named_string", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256", + name: "val", + type: "uint256", + }, + ], + name: "log_named_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "", + type: "string", + }, + ], + name: "log_string", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "log_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "logs", + type: "event", + }, + { + inputs: [], + name: "IS_TEST", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeArtifacts", + outputs: [ + { + internalType: "string[]", + name: "excludedArtifacts_", + type: "string[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeContracts", + outputs: [ + { + internalType: "address[]", + name: "excludedContracts_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeSelectors", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzSelector[]", + name: "excludedSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeSenders", + outputs: [ + { + internalType: "address[]", + name: "excludedSenders_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "failed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "setUp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "targetArtifactSelectors", + outputs: [ + { + components: [ + { + internalType: "string", + name: "artifact", + type: "string", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzArtifactSelector[]", + name: "targetedArtifactSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetArtifacts", + outputs: [ + { + internalType: "string[]", + name: "targetedArtifacts_", + type: "string[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetContracts", + outputs: [ + { + internalType: "address[]", + name: "targetedContracts_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetInterfaces", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "string[]", + name: "artifacts", + type: "string[]", + }, + ], + internalType: "struct StdInvariant.FuzzInterface[]", + name: "targetedInterfaces_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetSelectors", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzSelector[]", + name: "targetedSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetSenders", + outputs: [ + { + internalType: "address[]", + name: "targetedSenders_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "testCall", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testWithdrawZRC20", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testWithdrawZRC20WithMessage", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b5061ad9f80620000576000396000f3fe60806040523480156200001157600080fd5b5060043610620001185760003560e01c8063916a17c611620000a5578063ba414fa6116200006f578063ba414fa61462000273578063e20c9f711462000295578063fa7626d414620002b7578063fbc611c814620002d95762000118565b8063916a17c61462000201578063b0464fdc1462000223578063b5508aa91462000245578063b7f0583614620002675762000118565b80633e5e3c2311620000e75780633e5e3c2314620001795780633f7286f4146200019b57806366d9a9a014620001bd57806385226c8114620001df5762000118565b80630a9254e4146200011d5780631e63d2b914620001295780631ed7831c14620001355780632ade38801462000157575b600080fd5b62000127620002e5565b005b6200013362000c35565b005b6200013f620011d5565b6040516200014e919062002e5e565b60405180910390f35b6200016162001265565b60405162000170919062002eca565b60405180910390f35b62000183620013ff565b60405162000192919062002e5e565b60405180910390f35b620001a56200148f565b604051620001b4919062002e5e565b60405180910390f35b620001c76200151f565b604051620001d6919062002ea6565b60405180910390f35b620001e9620016b6565b604051620001f8919062002e82565b60405180910390f35b6200020b62001799565b6040516200021a919062002eee565b60405180910390f35b6200022d620018ec565b6040516200023c919062002eee565b60405180910390f35b6200024f62001a3f565b6040516200025e919062002e82565b60405180910390f35b6200027162001b22565b005b6200027d62001e26565b6040516200028c919062002f12565b60405180910390f35b6200029f62001f59565b604051620002ae919062002e5e565b60405180910390f35b620002c162001fe9565b604051620002d0919062002f12565b60405180910390f35b620002e362001ffc565b005b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620003779062002577565b604051809103906000f08015801562000394573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620003e39062002585565b604051809103906000f08015801562000400573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166306447d56601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620004e957600080fd5b505afa158015620004fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200052491906200260b565b6040518263ffffffff1660e01b815260040162000542919062002d7d565b600060405180830381600087803b1580156200055d57600080fd5b505af115801562000572573d6000803e3d6000fd5b505050506000806000604051620005899062002593565b620005979392919062002d9a565b604051809103906000f080158015620005b4573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060126001806000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200065090620025a1565b620006619695949392919062003194565b604051809103906000f0801580156200067e573d6000803e3d6000fd5b50602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee2815ba6001602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401620007419291906200313a565b600060405180830381600087803b1580156200075c57600080fd5b505af115801562000771573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7cb05076001806040518363ffffffff1660e01b8152600401620007d592919062003167565b600060405180830381600087803b158015620007f057600080fd5b505af115801562000805573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620008b157600080fd5b505afa158015620008c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008ec91906200260b565b633b9aca006040518363ffffffff1660e01b81526004016200091092919062002e04565b600060405180830381600087803b1580156200092b57600080fd5b505af115801562000940573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620186a06040518363ffffffff1660e01b8152600401620009c892919062002e31565b602060405180830381600087803b158015620009e357600080fd5b505af1158015620009f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a1e91906200263d565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000a8b57600080fd5b505af115801562000aa0573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000b24919062002d7d565b600060405180830381600087803b15801562000b3f57600080fd5b505af115801562000b54573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620186a06040518363ffffffff1660e01b815260040162000bdc92919062002e31565b602060405180830381600087803b15801562000bf757600080fd5b505af115801562000c0c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c3291906200263d565b50565b6000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000cb6919062002d7d565b60206040518083038186803b15801562000ccf57600080fd5b505afa15801562000ce4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d0a9190620026a1565b90506000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240162000d43919062002d7d565b6040516020818303038152906040527f84fae760000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162000e4c95949392919062002f2f565b600060405180830381600087803b15801562000e6757600080fd5b505af115801562000e7c573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162000f0f919062002d60565b60405160208183030381529060405260016000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000f8b57600080fd5b505afa15801562000fa0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fc69190620026a1565b8660405162000fda95949392919062003066565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637993c1e0602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001055919062002d60565b6040516020818303038152906040526001602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518563ffffffff1660e01b8152600401620010ab94939291906200300b565b600060405180830381600087803b158015620010c657600080fd5b505af1158015620010db573d6000803e3d6000fd5b505050506000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001160919062002d7d565b60206040518083038186803b1580156200117957600080fd5b505afa1580156200118e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011b49190620026a1565b9050620011d0600184620011c9919062003409565b82620024e1565b505050565b606060168054806020026020016040519081016040528092919081815260200182805480156200125b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001210575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b82821015620013f657838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b82821015620013de5783829060005260206000200180546200134a9062003594565b80601f0160208091040260200160405190810160405280929190818152602001828054620013789062003594565b8015620013c95780601f106200139d57610100808354040283529160200191620013c9565b820191906000526020600020905b815481529060010190602001808311620013ab57829003601f168201915b50505050508152602001906001019062001328565b50505050815250508152602001906001019062001289565b50505050905090565b606060188054806020026020016040519081016040528092919081815260200182805480156200148557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116200143a575b5050505050905090565b606060178054806020026020016040519081016040528092919081815260200182805480156200151557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311620014ca575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b82821015620016ad5783829060005260206000209060020201604051806040016040529081600082018054620015799062003594565b80601f0160208091040260200160405190810160405280929190818152602001828054620015a79062003594565b8015620015f85780601f10620015cc57610100808354040283529160200191620015f8565b820191906000526020600020905b815481529060010190602001808311620015da57829003601f168201915b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156200169457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620016405790505b5050505050815250508152602001906001019062001543565b50505050905090565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001790578382906000526020600020018054620016fc9062003594565b80601f01602080910402602001604051908101604052809291908181526020018280546200172a9062003594565b80156200177b5780601f106200174f576101008083540402835291602001916200177b565b820191906000526020600020905b8154815290600101906020018083116200175d57829003601f168201915b505050505081526020019060010190620016da565b50505050905090565b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015620018e357838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020018280548015620018ca57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620018765790505b50505050508152505081526020019060010190620017bd565b50505050905090565b6060601c805480602002602001604051908101604052809291908181526020016000905b8282101562001a3657838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820180548060200260200160405190810160405280929190818152602001828054801562001a1d57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620019c95790505b5050505050815250508152602001906001019062001910565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b8282101562001b1957838290600052602060002001805462001a859062003594565b80601f016020809104026020016040519081016040528092919081815260200182805462001ab39062003594565b801562001b045780601f1062001ad85761010080835404028352916020019162001b04565b820191906000526020600020905b81548152906001019060200180831162001ae657829003601f168201915b50505050508152602001906001019062001a63565b50505050905090565b6000602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160240162001b59919062002d7d565b6040516020818303038152906040527f84fae760000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162001c6295949392919062002f2f565b600060405180830381600087803b15801562001c7d57600080fd5b505af115801562001c92573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001d25919062002d60565b6040516020818303038152906040528360405162001d4592919062002f8c565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630ac7c44c602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001dc0919062002d60565b604051602081830303815290604052836040518363ffffffff1660e01b815260040162001def92919062002f8c565b600060405180830381600087803b15801562001e0a57600080fd5b505af115801562001e1f573d6000803e3d6000fd5b5050505050565b6000600860009054906101000a900460ff161562001e5657600860009054906101000a900460ff16905062001f56565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040162001efd92919062002dd7565b60206040518083038186803b15801562001f1657600080fd5b505afa15801562001f2b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f5191906200266f565b141590505b90565b6060601580548060200260200160405190810160405280929190818152602001828054801562001fdf57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162001f94575b5050505050905090565b601f60009054906101000a900460ff1681565b6000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200207d919062002d7d565b60206040518083038186803b1580156200209657600080fd5b505afa158015620020ab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620020d19190620026a1565b90507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b81526004016200215d95949392919062002f2f565b600060405180830381600087803b1580156200217857600080fd5b505af11580156200218d573d6000803e3d6000fd5b50505050602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162002220919062002d60565b60405160208183030381529060405260016000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200229c57600080fd5b505afa158015620022b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022d79190620026a1565b604051620022e99493929190620030d1565b60405180910390a2601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663135390f9602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162002364919062002d60565b6040516020818303038152906040526001602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401620023b89392919062002fc7565b600060405180830381600087803b158015620023d357600080fd5b505af1158015620023e8573d6000803e3d6000fd5b505050506000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b81526004016200246d919062002d7d565b60206040518083038186803b1580156200248657600080fd5b505afa1580156200249b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024c19190620026a1565b9050620024dd600183620024d6919062003409565b82620024e1565b5050565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166398296c5483836040518363ffffffff1660e01b8152600401620025419291906200322c565b60006040518083038186803b1580156200255a57600080fd5b505afa1580156200256f573d6000803e3d6000fd5b505050505050565b612eb5806200377783390190565b610667806200662c83390190565b6118aa8062006c9383390190565b61282d806200853d83390190565b600081519050620025c0816200370e565b92915050565b600081519050620025d78162003728565b92915050565b600081519050620025ee8162003742565b92915050565b60008151905062002605816200375c565b92915050565b6000602082840312156200262457620026236200367f565b5b60006200263484828501620025af565b91505092915050565b6000602082840312156200265657620026556200367f565b5b60006200266684828501620025c6565b91505092915050565b6000602082840312156200268857620026876200367f565b5b60006200269884828501620025dd565b91505092915050565b600060208284031215620026ba57620026b96200367f565b5b6000620026ca84828501620025f4565b91505092915050565b6000620026e183836200275f565b60208301905092915050565b6000620026fb838362002b17565b60208301905092915050565b600062002715838362002bcf565b905092915050565b60006200272b838362002c85565b905092915050565b600062002741838362002ccd565b905092915050565b600062002757838362002d0e565b905092915050565b6200276a8162003444565b82525050565b6200277b8162003444565b82525050565b62002796620027908262003444565b620035ca565b82525050565b6000620027a982620032b9565b620027b581856200335f565b9350620027c28362003259565b8060005b83811015620027f9578151620027dd8882620026d3565b9750620027ea8362003311565b925050600181019050620027c6565b5085935050505092915050565b60006200281382620032c4565b6200281f818562003370565b93506200282c8362003269565b8060005b8381101562002863578151620028478882620026ed565b975062002854836200331e565b92505060018101905062002830565b5085935050505092915050565b60006200287d82620032cf565b62002889818562003381565b9350836020820285016200289d8562003279565b8060005b85811015620028df5784840389528151620028bd858262002707565b9450620028ca836200332b565b925060208a01995050600181019050620028a1565b50829750879550505050505092915050565b6000620028fe82620032cf565b6200290a818562003392565b9350836020820285016200291e8562003279565b8060005b858110156200296057848403895281516200293e858262002707565b94506200294b836200332b565b925060208a0199505060018101905062002922565b50829750879550505050505092915050565b60006200297f82620032da565b6200298b8185620033a3565b9350836020820285016200299f8562003289565b8060005b85811015620029e15784840389528151620029bf85826200271d565b9450620029cc8362003338565b925060208a01995050600181019050620029a3565b50829750879550505050505092915050565b600062002a0082620032e5565b62002a0c8185620033b4565b93508360208202850162002a208562003299565b8060005b8581101562002a62578484038952815162002a40858262002733565b945062002a4d8362003345565b925060208a0199505060018101905062002a24565b50829750879550505050505092915050565b600062002a8182620032f0565b62002a8d8185620033c5565b93508360208202850162002aa185620032a9565b8060005b8581101562002ae3578484038952815162002ac1858262002749565b945062002ace8362003352565b925060208a0199505060018101905062002aa5565b50829750879550505050505092915050565b62002b008162003458565b82525050565b62002b118162003464565b82525050565b62002b22816200346e565b82525050565b600062002b3582620032fb565b62002b418185620033d6565b935062002b538185602086016200355e565b62002b5e8162003684565b840191505092915050565b62002b7481620034e6565b82525050565b62002b8581620034fa565b82525050565b62002b96816200350e565b82525050565b62002ba78162003522565b82525050565b62002bb88162003536565b82525050565b62002bc9816200354a565b82525050565b600062002bdc8262003306565b62002be88185620033e7565b935062002bfa8185602086016200355e565b62002c058162003684565b840191505092915050565b600062002c1f600583620033f8565b915062002c2c82620036a2565b602082019050919050565b600062002c46600383620033f8565b915062002c5382620036cb565b602082019050919050565b600062002c6d600083620033d6565b915062002c7a82620036f4565b600082019050919050565b6000604083016000830151848203600086015262002ca4828262002bcf565b9150506020830151848203602086015262002cc0828262002806565b9150508091505092915050565b600060408301600083015162002ce760008601826200275f565b506020830151848203602086015262002d01828262002870565b9150508091505092915050565b600060408301600083015162002d2860008601826200275f565b506020830151848203602086015262002d42828262002806565b9150508091505092915050565b62002d5a81620034cf565b82525050565b600062002d6e828462002781565b60148201915081905092915050565b600060208201905062002d94600083018462002770565b92915050565b600060608201905062002db1600083018662002770565b62002dc0602083018562002770565b62002dcf604083018462002770565b949350505050565b600060408201905062002dee600083018562002770565b62002dfd602083018462002b06565b9392505050565b600060408201905062002e1b600083018562002770565b62002e2a602083018462002b8b565b9392505050565b600060408201905062002e48600083018562002770565b62002e57602083018462002b9c565b9392505050565b6000602082019050818103600083015262002e7a81846200279c565b905092915050565b6000602082019050818103600083015262002e9e8184620028f1565b905092915050565b6000602082019050818103600083015262002ec2818462002972565b905092915050565b6000602082019050818103600083015262002ee68184620029f3565b905092915050565b6000602082019050818103600083015262002f0a818462002a74565b905092915050565b600060208201905062002f29600083018462002af5565b92915050565b600060a08201905062002f46600083018862002af5565b62002f55602083018762002af5565b62002f64604083018662002af5565b62002f73606083018562002af5565b62002f82608083018462002770565b9695505050505050565b6000604082019050818103600083015262002fa8818562002b28565b9050818103602083015262002fbe818462002b28565b90509392505050565b6000606082019050818103600083015262002fe3818662002b28565b905062002ff4602083018562002bbe565b62003003604083018462002770565b949350505050565b6000608082019050818103600083015262003027818762002b28565b905062003038602083018662002bbe565b62003047604083018562002770565b81810360608301526200305b818462002b28565b905095945050505050565b600060a082019050818103600083015262003082818862002b28565b905062003093602083018762002bbe565b620030a2604083018662002b7a565b620030b1606083018562002d4f565b8181036080830152620030c5818462002b28565b90509695505050505050565b600060a0820190508181036000830152620030ed818762002b28565b9050620030fe602083018662002bbe565b6200310d604083018562002b7a565b6200311c606083018462002d4f565b81810360808301526200312f8162002c5e565b905095945050505050565b600060408201905062003151600083018562002bbe565b62003160602083018462002770565b9392505050565b60006040820190506200317e600083018562002bbe565b6200318d602083018462002bbe565b9392505050565b6000610100820190508181036000830152620031b08162002c10565b90508181036020830152620031c58162002c37565b9050620031d6604083018962002bad565b620031e5606083018862002bbe565b620031f4608083018762002b69565b6200320360a083018662002b7a565b6200321260c083018562002770565b6200322160e083018462002770565b979650505050505050565b600060408201905062003243600083018562002d4f565b62003252602083018462002d4f565b9392505050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006200341682620034cf565b91506200342383620034cf565b925082821015620034395762003438620035f2565b5b828203905092915050565b60006200345182620034af565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050620034aa82620036f7565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000620034f3826200349a565b9050919050565b60006200350782620034cf565b9050919050565b60006200351b82620034cf565b9050919050565b60006200352f82620034cf565b9050919050565b60006200354382620034d9565b9050919050565b60006200355782620034cf565b9050919050565b60005b838110156200357e57808201518184015260208101905062003561565b838111156200358e576000848401525b50505050565b60006002820490506001821680620035ad57607f821691505b60208210811415620035c457620035c362003650565b5b50919050565b6000620035d782620035de565b9050919050565b6000620035eb8262003695565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f544f4b454e000000000000000000000000000000000000000000000000000000600082015250565b7f544b4e0000000000000000000000000000000000000000000000000000000000600082015250565b50565b600381106200370b576200370a62003621565b5b50565b620037198162003444565b81146200372557600080fd5b50565b620037338162003458565b81146200373f57600080fd5b50565b6200374d8162003464565b81146200375957600080fd5b50565b6200376781620034cf565b81146200377357600080fd5b5056fe60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c726200024360003960008181610433015281816104c2015281816105d40152818161066301526107130152612c726000f3fe6080604052600436106100dd5760003560e01c80637993c1e01161007f578063bcf7f32b11610059578063bcf7f32b14610251578063c39aca371461027a578063f2fde38b146102a3578063f45346dc146102cc576100dd565b80637993c1e0146101e65780638129fc1c1461020f5780638da5cb5b14610226576100dd565b80633ce4a5bc116100bb5780633ce4a5bc1461015d5780634f1ef2861461018857806352d1902d146101a4578063715018a6146101cf576100dd565b80630ac7c44c146100e2578063135390f91461010b5780633659cfe614610134575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190611c80565b6102f5565b005b34801561011757600080fd5b50610132600480360381019061012d9190611cfc565b61034c565b005b34801561014057600080fd5b5061015b60048036038101906101569190611b0a565b610431565b005b34801561016957600080fd5b506101726105ba565b60405161017f919061226e565b60405180910390f35b6101a2600480360381019061019d9190611b37565b6105d2565b005b3480156101b057600080fd5b506101b961070f565b6040516101c691906122e9565b60405180910390f35b3480156101db57600080fd5b506101e46107c8565b005b3480156101f257600080fd5b5061020d60048036038101906102089190611d6b565b6107dc565b005b34801561021b57600080fd5b506102246108c7565b005b34801561023257600080fd5b5061023b610a0d565b604051610248919061226e565b60405180910390f35b34801561025d57600080fd5b5061027860048036038101906102739190611e0f565b610a37565b005b34801561028657600080fd5b506102a1600480360381019061029c9190611e0f565b610b2b565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190611b0a565b610d5d565b005b3480156102d857600080fd5b506102f360048036038101906102ee9190611bd3565b610de1565b005b3373ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f84848460405161033f93929190612304565b60405180910390a2505050565b60006103588383610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8585848673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103db57600080fd5b505afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104139190611ec5565b60405161042394939291906123a0565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614156104c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b79061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104ff61128d565b73ffffffffffffffffffffffffffffffffffffffff1614610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c9061247c565b60405180910390fd5b61055e816112e4565b6105b781600067ffffffffffffffff81111561057d5761057c61282b565b5b6040519080825280601f01601f1916602001820160405280156105af5781602001600182028036833780820191505090505b5060006112ef565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106589061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106a061128d565b73ffffffffffffffffffffffffffffffffffffffff16146106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed9061247c565b60405180910390fd5b6106ff826112e4565b61070b828260016112ef565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461079f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107969061249c565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b6107d061146c565b6107da60006114ea565b565b60006107e88585610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8787848873ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190611ec5565b88886040516108b79695949392919061233d565b60405180910390a2505050505050565b60008060019054906101000a900460ff161590508080156108f85750600160008054906101000a900460ff1660ff16105b806109255750610907306115b0565b1580156109245750600160008054906101000a900460ff1660ff16145b5b610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b906124dc565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156109a1576001600060016101000a81548160ff0219169083151502179055505b6109a96115d3565b6109b161162c565b8015610a0a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610a0191906123ff565b60405180910390a15b50565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610af195949392919061259c565b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50505050505050505050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba4576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610c1d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610c54576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166347e7ef2484866040518363ffffffff1660e01b8152600401610c8f9291906122c0565b602060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce19190611c26565b508273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610d2395949392919061259c565b600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b50505050505050505050565b610d6561146c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc9061243c565b60405180910390fd5b610dde816114ea565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610ed357503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610f0a576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166347e7ef2482846040518363ffffffff1660e01b8152600401610f459291906122c0565b602060405180830381600087803b158015610f5f57600080fd5b505af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611c26565b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b8152600401604080518083038186803b158015610fe757600080fd5b505afa158015610ffb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101f9190611b93565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b815260040161107493929190612289565b602060405180830381600087803b15801561108e57600080fd5b505af11580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190611c26565b6110fc576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b815260040161113993929190612289565b602060405180830381600087803b15801561115357600080fd5b505af1158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190611c26565b6111c1576040517f4dd9ee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166342966c68866040518263ffffffff1660e01b81526004016111fa91906125f1565b602060405180830381600087803b15801561121457600080fd5b505af1158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190611c26565b611282576040517f2c77e05c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809250505092915050565b60006112bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112ec61146c565b50565b61131b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b611687565b60000160009054906101000a900460ff161561133f5761133a83611691565b611467565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561138557600080fd5b505afa9250505080156113b657506040513d601f19601f820116820180604052508101906113b39190611c53565b60015b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec906124fc565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b811461145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906124bc565b60405180910390fd5b5061146683838361174a565b5b505050565b611474611776565b73ffffffffffffffffffffffffffffffffffffffff16611492610a0d565b73ffffffffffffffffffffffffffffffffffffffff16146114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9061253c565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611622576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116199061257c565b60405180910390fd5b61162a61177e565b565b600060019054906101000a900460ff1661167b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116729061257c565b60405180910390fd5b565b6000819050919050565b6000819050919050565b61169a816115b0565b6116d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d09061251c565b60405180910390fd5b806117067f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611753836117df565b6000825111806117605750805b156117715761176f838361182e565b505b505050565b600033905090565b600060019054906101000a900460ff166117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061257c565b60405180910390fd5b6117dd6117d8611776565b6114ea565b565b6117e881611691565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60606118538383604051806060016040528060278152602001612c166027913961185b565b905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516118859190612257565b600060405180830381855af49150503d80600081146118c0576040519150601f19603f3d011682016040523d82523d6000602084013e6118c5565b606091505b50915091506118d6868383876118e1565b925050509392505050565b606083156119445760008351141561193c576118fc856115b0565b61193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119329061255c565b60405180910390fd5b5b82905061194f565b61194e8383611957565b5b949350505050565b60008251111561196a5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e919061241a565b60405180910390fd5b60006119ba6119b584612631565b61260c565b9050828152602081018484840111156119d6576119d5612878565b5b6119e18482856127b8565b509392505050565b6000813590506119f881612bb9565b92915050565b600081519050611a0d81612bb9565b92915050565b600081519050611a2281612bd0565b92915050565b600081519050611a3781612be7565b92915050565b60008083601f840112611a5357611a52612864565b5b8235905067ffffffffffffffff811115611a7057611a6f61285f565b5b602083019150836001820283011115611a8c57611a8b612873565b5b9250929050565b600082601f830112611aa857611aa7612864565b5b8135611ab88482602086016119a7565b91505092915050565b600060608284031215611ad757611ad6612869565b5b81905092915050565b600081359050611aef81612bfe565b92915050565b600081519050611b0481612bfe565b92915050565b600060208284031215611b2057611b1f612887565b5b6000611b2e848285016119e9565b91505092915050565b60008060408385031215611b4e57611b4d612887565b5b6000611b5c858286016119e9565b925050602083013567ffffffffffffffff811115611b7d57611b7c61287d565b5b611b8985828601611a93565b9150509250929050565b60008060408385031215611baa57611ba9612887565b5b6000611bb8858286016119fe565b9250506020611bc985828601611af5565b9150509250929050565b600080600060608486031215611bec57611beb612887565b5b6000611bfa868287016119e9565b9350506020611c0b86828701611ae0565b9250506040611c1c868287016119e9565b9150509250925092565b600060208284031215611c3c57611c3b612887565b5b6000611c4a84828501611a13565b91505092915050565b600060208284031215611c6957611c68612887565b5b6000611c7784828501611a28565b91505092915050565b600080600060408486031215611c9957611c98612887565b5b600084013567ffffffffffffffff811115611cb757611cb661287d565b5b611cc386828701611a93565b935050602084013567ffffffffffffffff811115611ce457611ce361287d565b5b611cf086828701611a3d565b92509250509250925092565b600080600060608486031215611d1557611d14612887565b5b600084013567ffffffffffffffff811115611d3357611d3261287d565b5b611d3f86828701611a93565b9350506020611d5086828701611ae0565b9250506040611d61868287016119e9565b9150509250925092565b600080600080600060808688031215611d8757611d86612887565b5b600086013567ffffffffffffffff811115611da557611da461287d565b5b611db188828901611a93565b9550506020611dc288828901611ae0565b9450506040611dd3888289016119e9565b935050606086013567ffffffffffffffff811115611df457611df361287d565b5b611e0088828901611a3d565b92509250509295509295909350565b60008060008060008060a08789031215611e2c57611e2b612887565b5b600087013567ffffffffffffffff811115611e4a57611e4961287d565b5b611e5689828a01611ac1565b9650506020611e6789828a016119e9565b9550506040611e7889828a01611ae0565b9450506060611e8989828a016119e9565b935050608087013567ffffffffffffffff811115611eaa57611ea961287d565b5b611eb689828a01611a3d565b92509250509295509295509295565b600060208284031215611edb57611eda612887565b5b6000611ee984828501611af5565b91505092915050565b611efb81612747565b82525050565b611f0a81612747565b82525050565b611f1981612765565b82525050565b6000611f2b8385612678565b9350611f388385846127b8565b611f418361288c565b840190509392505050565b6000611f588385612689565b9350611f658385846127b8565b611f6e8361288c565b840190509392505050565b6000611f8482612662565b611f8e8185612689565b9350611f9e8185602086016127c7565b611fa78161288c565b840191505092915050565b6000611fbd82612662565b611fc7818561269a565b9350611fd78185602086016127c7565b80840191505092915050565b611fec816127a6565b82525050565b6000611ffd8261266d565b61200781856126a5565b93506120178185602086016127c7565b6120208161288c565b840191505092915050565b60006120386026836126a5565b91506120438261289d565b604082019050919050565b600061205b602c836126a5565b9150612066826128ec565b604082019050919050565b600061207e602c836126a5565b91506120898261293b565b604082019050919050565b60006120a16038836126a5565b91506120ac8261298a565b604082019050919050565b60006120c46029836126a5565b91506120cf826129d9565b604082019050919050565b60006120e7602e836126a5565b91506120f282612a28565b604082019050919050565b600061210a602e836126a5565b915061211582612a77565b604082019050919050565b600061212d602d836126a5565b915061213882612ac6565b604082019050919050565b60006121506020836126a5565b915061215b82612b15565b602082019050919050565b6000612173600083612689565b915061217e82612b3e565b600082019050919050565b6000612196601d836126a5565b91506121a182612b41565b602082019050919050565b60006121b9602b836126a5565b91506121c482612b6a565b604082019050919050565b6000606083016121e260008401846126cd565b85830360008701526121f5838284611f1f565b9250505061220660208401846126b6565b6122136020860182611ef2565b506122216040840184612730565b61222e6040860182612239565b508091505092915050565b6122428161278f565b82525050565b6122518161278f565b82525050565b60006122638284611fb2565b915081905092915050565b60006020820190506122836000830184611f01565b92915050565b600060608201905061229e6000830186611f01565b6122ab6020830185611f01565b6122b86040830184612248565b949350505050565b60006040820190506122d56000830185611f01565b6122e26020830184612248565b9392505050565b60006020820190506122fe6000830184611f10565b92915050565b6000604082019050818103600083015261231e8186611f79565b90508181036020830152612333818486611f4c565b9050949350505050565b600060a08201905081810360008301526123578189611f79565b90506123666020830188612248565b6123736040830187612248565b6123806060830186612248565b8181036080830152612393818486611f4c565b9050979650505050505050565b600060a08201905081810360008301526123ba8187611f79565b90506123c96020830186612248565b6123d66040830185612248565b6123e36060830184612248565b81810360808301526123f481612166565b905095945050505050565b60006020820190506124146000830184611fe3565b92915050565b600060208201905081810360008301526124348184611ff2565b905092915050565b600060208201905081810360008301526124558161202b565b9050919050565b600060208201905081810360008301526124758161204e565b9050919050565b6000602082019050818103600083015261249581612071565b9050919050565b600060208201905081810360008301526124b581612094565b9050919050565b600060208201905081810360008301526124d5816120b7565b9050919050565b600060208201905081810360008301526124f5816120da565b9050919050565b60006020820190508181036000830152612515816120fd565b9050919050565b6000602082019050818103600083015261253581612120565b9050919050565b6000602082019050818103600083015261255581612143565b9050919050565b6000602082019050818103600083015261257581612189565b9050919050565b60006020820190508181036000830152612595816121ac565b9050919050565b600060808201905081810360008301526125b681886121cf565b90506125c56020830187611f01565b6125d26040830186612248565b81810360608301526125e5818486611f4c565b90509695505050505050565b60006020820190506126066000830184612248565b92915050565b6000612616612627565b905061262282826127fa565b919050565b6000604051905090565b600067ffffffffffffffff82111561264c5761264b61282b565b5b6126558261288c565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006126c560208401846119e9565b905092915050565b600080833560016020038436030381126126ea576126e9612882565b5b83810192508235915060208301925067ffffffffffffffff8211156127125761271161285a565b5b6001820236038413156127285761272761286e565b5b509250929050565b600061273f6020840184611ae0565b905092915050565b60006127528261276f565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127b182612799565b9050919050565b82818337600083830152505050565b60005b838110156127e55780820151818401526020810190506127ca565b838111156127f4576000848401525b50505050565b6128038261288c565b810181811067ffffffffffffffff821117156128225761282161282b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b612bc281612747565b8114612bcd57600080fd5b50565b612bd981612759565b8114612be457600080fd5b50565b612bf081612765565b8114612bfb57600080fd5b50565b612c078161278f565b8114612c1257600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220627eb039ecb52d09fd70ebde1f5eca61fe0f91321a96929ebe38dc8e38d999ab64736f6c63430008070033608060405234801561001057600080fd5b50610647806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a60048036038101906100459190610251565b61004c565b005b6000828281019061005d9190610208565b90507fcdc8ee677dc5ebe680fb18cebda5e26ba5ea1f0ba504a47e2a9a2ecb476dc98e86806000019061009091906103dc565b8860200160208101906100a391906101db565b896040013533866040516100bc96959493929190610379565b60405180910390a1505050505050565b60006100df6100da84610464565b61043f565b9050828152602081018484840111156100fb576100fa6105c3565b5b6101068482856104fe565b509392505050565b60008135905061011d816105e3565b92915050565b60008083601f840112610139576101386105a5565b5b8235905067ffffffffffffffff811115610156576101556105a0565b5b602083019150836001820283011115610172576101716105b9565b5b9250929050565b600082601f83011261018e5761018d6105a5565b5b813561019e8482602086016100cc565b91505092915050565b6000606082840312156101bd576101bc6105af565b5b81905092915050565b6000813590506101d5816105fa565b92915050565b6000602082840312156101f1576101f06105cd565b5b60006101ff8482850161010e565b91505092915050565b60006020828403121561021e5761021d6105cd565b5b600082013567ffffffffffffffff81111561023c5761023b6105c8565b5b61024884828501610179565b91505092915050565b60008060008060006080868803121561026d5761026c6105cd565b5b600086013567ffffffffffffffff81111561028b5761028a6105c8565b5b610297888289016101a7565b95505060206102a88882890161010e565b94505060406102b9888289016101c6565b935050606086013567ffffffffffffffff8111156102da576102d96105c8565b5b6102e688828901610123565b92509250509295509295909350565b6102fe816104c2565b82525050565b600061031083856104a0565b935061031d8385846104fe565b610326836105d2565b840190509392505050565b600061033c82610495565b61034681856104b1565b935061035681856020860161050d565b61035f816105d2565b840191505092915050565b610373816104f4565b82525050565b600060a082019050818103600083015261039481888a610304565b90506103a360208301876102f5565b6103b0604083018661036a565b6103bd60608301856102f5565b81810360808301526103cf8184610331565b9050979650505050505050565b600080833560016020038436030381126103f9576103f86105b4565b5b80840192508235915067ffffffffffffffff82111561041b5761041a6105aa565b5b602083019250600182023603831315610437576104366105be565b5b509250929050565b600061044961045a565b90506104558282610540565b919050565b6000604051905090565b600067ffffffffffffffff82111561047f5761047e610571565b5b610488826105d2565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006104cd826104d4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561052b578082015181840152602081019050610510565b8381111561053a576000848401525b50505050565b610549826105d2565b810181811067ffffffffffffffff8211171561056857610567610571565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6105ec816104c2565b81146105f757600080fd5b50565b610603816104f4565b811461060e57600080fd5b5056fea2646970667358221220658b8c56b21b674d6677fa444091a4a714b74ee72bac7b4972c1063bda6d73d764736f6c6343000807003360c06040523480156200001157600080fd5b50604051620018aa380380620018aa8339818101604052810190620000379190620001ac565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620000b1576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250507f80699e81136d69cb8367ad52a994e25c722a86da654b561d0c14b61a777e7ac560405160405180910390a15050506200025b565b600081519050620001a68162000241565b92915050565b600080600060608486031215620001c857620001c76200023c565b5b6000620001d88682870162000195565b9350506020620001eb8682870162000195565b9250506040620001fe8682870162000195565b9150509250925092565b600062000215826200021c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200024c8162000208565b81146200025857600080fd5b50565b60805160601c60a05160601c61161c6200028e600039600061051b0152600081816105bd0152610bc5015261161c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806397770dff11610097578063c63585cc11610066578063c63585cc1461025e578063d7fd7afb1461028e578063d936a012146102be578063ee2815ba146102dc576100f5565b806397770dff146101ec578063a7cb050714610208578063c39aca3714610224578063c62178ac14610240576100f5565b8063513a9c05116100d3578063513a9c0514610164578063569541b914610194578063842da36d146101b257806391dd645f146101d0576100f5565b80630be15547146100fa5780631f0e251b1461012a5780633ce4a5bc14610146575b600080fd5b610114600480360381019061010f9190611022565b6102f8565b60405161012191906112b1565b60405180910390f35b610144600480360381019061013f9190610ebf565b61032b565b005b61014e6104a8565b60405161015b91906112b1565b60405180910390f35b61017e60048036038101906101799190611022565b6104c0565b60405161018b91906112b1565b60405180910390f35b61019c6104f3565b6040516101a991906112b1565b60405180910390f35b6101ba610519565b6040516101c791906112b1565b60405180910390f35b6101ea60048036038101906101e5919061104f565b61053d565b005b61020660048036038101906102019190610ebf565b610697565b005b610222600480360381019061021d919061108f565b610814565b005b61023e60048036038101906102399190610f6c565b6108e1565b005b610248610b13565b60405161025591906112b1565b60405180910390f35b61027860048036038101906102739190610eec565b610b39565b60405161028591906112b1565b60405180910390f35b6102a860048036038101906102a39190611022565b610bab565b6040516102b5919061134a565b60405180910390f35b6102c6610bc3565b6040516102d391906112b1565b60405180910390f35b6102f660048036038101906102f1919061104f565b610be7565b005b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a4576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561040b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f3ade88e3922d64780e1bf4460d364c2970b69da813f9c0c07a1c187b5647636c600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161049d91906112b1565b60405180910390a150565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105b6576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006106057f0000000000000000000000000000000000000000000000000000000000000000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b39565b9050806002600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0ecec485166da6139b13bb7e033e9446e2d35348e80ebf1180d4afe2dba1704e838260405161068a929190611365565b60405180910390a1505050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610710576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610777576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdba79d534382d1a8ae108e4c8ecb27c6ae42ab8b91d44eedf88bd329f3868d5e600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161080991906112b1565b60405180910390a150565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088d576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600080848152602001908152602001600020819055507f49f492222906ac486c3c1401fa545626df1f0c0e5a77a05597ea2ed66af9850d82826040516108d592919061138e565b60405180910390a15050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461095a576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806109d357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a0a576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166347e7ef2484866040518363ffffffff1660e01b8152600401610a459291906112cc565b602060405180830381600087803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a979190610f3f565b508273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610ad99594939291906112f5565b600060405180830381600087803b158015610af357600080fd5b505af1158015610b07573d6000803e3d6000fd5b50505050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000610b488585610cef565b91509150858282604051602001610b60929190611243565b60405160208183030381529060405280519060200120604051602001610b8792919061126f565b6040516020818303038152906040528051906020012060001c925050509392505050565b60006020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c60576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1b36d30f6248e97c473b4d1348ca164a4ef6759022f54a58ec200326c39c45d8282604051610ce3929190611365565b60405180910390a15050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d58576040517fcb1e7cfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610d92578284610d95565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f78b507da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b600081359050610e1a816115a1565b92915050565b600081519050610e2f816115b8565b92915050565b60008083601f840112610e4b57610e4a61150e565b5b8235905067ffffffffffffffff811115610e6857610e67611509565b5b602083019150836001820283011115610e8457610e8361151d565b5b9250929050565b600060608284031215610ea157610ea0611513565b5b81905092915050565b600081359050610eb9816115cf565b92915050565b600060208284031215610ed557610ed461152c565b5b6000610ee384828501610e0b565b91505092915050565b600080600060608486031215610f0557610f0461152c565b5b6000610f1386828701610e0b565b9350506020610f2486828701610e0b565b9250506040610f3586828701610e0b565b9150509250925092565b600060208284031215610f5557610f5461152c565b5b6000610f6384828501610e20565b91505092915050565b60008060008060008060a08789031215610f8957610f8861152c565b5b600087013567ffffffffffffffff811115610fa757610fa6611522565b5b610fb389828a01610e8b565b9650506020610fc489828a01610e0b565b9550506040610fd589828a01610eaa565b9450506060610fe689828a01610e0b565b935050608087013567ffffffffffffffff81111561100757611006611522565b5b61101389828a01610e35565b92509250509295509295509295565b6000602082840312156110385761103761152c565b5b600061104684828501610eaa565b91505092915050565b600080604083850312156110665761106561152c565b5b600061107485828601610eaa565b925050602061108585828601610e0b565b9150509250929050565b600080604083850312156110a6576110a561152c565b5b60006110b485828601610eaa565b92505060206110c585828601610eaa565b9150509250929050565b6110d881611475565b82525050565b6110e781611475565b82525050565b6110fe6110f982611475565b6114d6565b82525050565b61111561111082611493565b6114e8565b82525050565b600061112783856113b7565b93506111348385846114c7565b61113d83611531565b840190509392505050565b600061115483856113c8565b93506111618385846114c7565b61116a83611531565b840190509392505050565b60006111826020836113d9565b915061118d8261154f565b602082019050919050565b60006111a56001836113d9565b91506111b082611578565b600182019050919050565b6000606083016111ce60008401846113fb565b85830360008701526111e183828461111b565b925050506111f260208401846113e4565b6111ff60208601826110cf565b5061120d604084018461145e565b61121a6040860182611225565b508091505092915050565b61122e816114bd565b82525050565b61123d816114bd565b82525050565b600061124f82856110ed565b60148201915061125f82846110ed565b6014820191508190509392505050565b600061127a82611198565b915061128682856110ed565b6014820191506112968284611104565b6020820191506112a582611175565b91508190509392505050565b60006020820190506112c660008301846110de565b92915050565b60006040820190506112e160008301856110de565b6112ee6020830184611234565b9392505050565b6000608082019050818103600083015261130f81886111bb565b905061131e60208301876110de565b61132b6040830186611234565b818103606083015261133e818486611148565b90509695505050505050565b600060208201905061135f6000830184611234565b92915050565b600060408201905061137a6000830185611234565b61138760208301846110de565b9392505050565b60006040820190506113a36000830185611234565b6113b06020830184611234565b9392505050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006113f36020840184610e0b565b905092915050565b6000808335600160200384360303811261141857611417611527565b5b83810192508235915060208301925067ffffffffffffffff8211156114405761143f611504565b5b60018202360384131561145657611455611518565b5b509250929050565b600061146d6020840184610eaa565b905092915050565b60006114808261149d565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60006114e1826114f2565b9050919050565b6000819050919050565b60006114fd82611542565b9050919050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b6115aa81611475565b81146115b557600080fd5b50565b6115c181611487565b81146115cc57600080fd5b50565b6115d8816114bd565b81146115e357600080fd5b5056fea2646970667358221220d4ce96458ff64ee4f053e26fd8b557fd7f878bb640565177b81a6aa0b251c3d964736f6c6343000807003360c06040523480156200001157600080fd5b506040516200282d3803806200282d83398181016040528101906200003791906200035b565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620000b1576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8760079080519060200190620000c9929190620001d1565b508660089080519060200190620000e2929190620001d1565b5085600960006101000a81548160ff021916908360ff16021790555084608081815250508360028111156200011c576200011b620005ae565b5b60a0816002811115620001345762000133620005ae565b5b60f81b8152505082600281905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050620006bf565b828054620001df9062000542565b90600052602060002090601f0160209004810192826200020357600085556200024f565b82601f106200021e57805160ff19168380011785556200024f565b828001600101855582156200024f579182015b828111156200024e57825182559160200191906001019062000231565b5b5090506200025e919062000262565b5090565b5b808211156200027d57600081600090555060010162000263565b5090565b60006200029862000292846200048b565b62000462565b905082815260208101848484011115620002b757620002b662000640565b5b620002c48482856200050c565b509392505050565b600081519050620002dd8162000660565b92915050565b600081519050620002f4816200067a565b92915050565b600082601f8301126200031257620003116200063b565b5b81516200032484826020860162000281565b91505092915050565b6000815190506200033e816200068b565b92915050565b6000815190506200035581620006a5565b92915050565b600080600080600080600080610100898b0312156200037f576200037e6200064a565b5b600089015167ffffffffffffffff811115620003a0576200039f62000645565b5b620003ae8b828c01620002fa565b985050602089015167ffffffffffffffff811115620003d257620003d162000645565b5b620003e08b828c01620002fa565b9750506040620003f38b828c0162000344565b9650506060620004068b828c016200032d565b9550506080620004198b828c01620002e3565b94505060a06200042c8b828c016200032d565b93505060c06200043f8b828c01620002cc565b92505060e0620004528b828c01620002cc565b9150509295985092959890939650565b60006200046e62000481565b90506200047c828262000578565b919050565b6000604051905090565b600067ffffffffffffffff821115620004a957620004a86200060c565b5b620004b4826200064f565b9050602081019050919050565b6000620004ce82620004d5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200052c5780820151818401526020810190506200050f565b838111156200053c576000848401525b50505050565b600060028204905060018216806200055b57607f821691505b60208210811415620005725762000571620005dd565b5b50919050565b62000583826200064f565b810181811067ffffffffffffffff82111715620005a557620005a46200060c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6200066b81620004c1565b81146200067757600080fd5b50565b600381106200068857600080fd5b50565b6200069681620004f5565b8114620006a257600080fd5b50565b620006b081620004ff565b8114620006bc57600080fd5b50565b60805160a05160f81c612137620006f660003960006109580152600081816108a201528181610c250152610d5a01526121376000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806385e1f4d0116100c3578063d9eeebed1161007c578063d9eeebed146103cc578063dd62ed3e146103eb578063e2f535b81461041b578063eddeb12314610439578063f2441b3214610455578063f687d12a146104735761014d565b806385e1f4d0146102f657806395d89b4114610314578063a3413d0314610332578063a9059cbb14610350578063c701262614610380578063c835d7cc146103b05761014d565b8063313ce56711610115578063313ce5671461020c5780633ce4a5bc1461022a57806342966c681461024857806347e7ef24146102785780634d8943bb146102a857806370a08231146102c65761014d565b806306fdde0314610152578063091d278814610170578063095ea7b31461018e57806318160ddd146101be57806323b872dd146101dc575b600080fd5b61015a61048f565b6040516101679190611cad565b60405180910390f35b610178610521565b6040516101859190611ccf565b60405180910390f35b6101a860048036038101906101a3919061196e565b610527565b6040516101b59190611bfb565b60405180910390f35b6101c6610545565b6040516101d39190611ccf565b60405180910390f35b6101f660048036038101906101f1919061191b565b61054f565b6040516102039190611bfb565b60405180910390f35b610214610647565b6040516102219190611cea565b60405180910390f35b61023261065e565b60405161023f9190611b80565b60405180910390f35b610262600480360381019061025d9190611a37565b610676565b60405161026f9190611bfb565b60405180910390f35b610292600480360381019061028d919061196e565b61068b565b60405161029f9190611bfb565b60405180910390f35b6102b0610851565b6040516102bd9190611ccf565b60405180910390f35b6102e060048036038101906102db9190611881565b610857565b6040516102ed9190611ccf565b60405180910390f35b6102fe6108a0565b60405161030b9190611ccf565b60405180910390f35b61031c6108c4565b6040516103299190611cad565b60405180910390f35b61033a610956565b6040516103479190611c92565b60405180910390f35b61036a6004803603810190610365919061196e565b61097a565b6040516103779190611bfb565b60405180910390f35b61039a600480360381019061039591906119db565b610998565b6040516103a79190611bfb565b60405180910390f35b6103ca60048036038101906103c59190611881565b610aee565b005b6103d4610be1565b6040516103e2929190611bd2565b60405180910390f35b610405600480360381019061040091906118db565b610e4e565b6040516104129190611ccf565b60405180910390f35b610423610ed5565b6040516104309190611b80565b60405180910390f35b610453600480360381019061044e9190611a37565b610efb565b005b61045d610fb5565b60405161046a9190611b80565b60405180910390f35b61048d60048036038101906104889190611a37565b610fd9565b005b60606007805461049e90611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546104ca90611f33565b80156105175780601f106104ec57610100808354040283529160200191610517565b820191906000526020600020905b8154815290600101906020018083116104fa57829003601f168201915b5050505050905090565b60025481565b600061053b610534611093565b848461109b565b6001905092915050565b6000600654905090565b600061055c848484611254565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a7611093565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061e576040517f10bad14700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063b8561062a611093565b85846106369190611e43565b61109b565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b600061068233836114b0565b60019050919050565b600073735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610729575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156107835750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156107ba576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c48383611668565b8273ffffffffffffffffffffffffffffffffffffffff167f67fc7bdaed5b0ec550d8706b87d60568ab70c6b781263c70101d54cd1564aab373735b14bb79463307aacbed86daf3322b1e6226ab6040516020016108219190611b65565b6040516020818303038152906040528460405161083f929190611c16565b60405180910390a26001905092915050565b60035481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600880546108d390611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff90611f33565b801561094c5780601f106109215761010080835404028352916020019161094c565b820191906000526020600020905b81548152906001019060200180831161092f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061098e610987611093565b8484611254565b6001905092915050565b60008060006109a5610be1565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b81526004016109fa93929190611b9b565b602060405180830381600087803b158015610a1457600080fd5b505af1158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c91906119ae565b610a82576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a8c33856114b0565b3373ffffffffffffffffffffffffffffffffffffffff167f9ffbffc04a397460ee1dbe8c9503e098090567d6b7f4b3c02a8617d800b6d955868684600354604051610ada9493929190611c46565b60405180910390a260019250505092915050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b67576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd55614e962c5fd6ece71614f6348d702468a997a394dd5e5c1677950226d97ae81604051610bd69190611b80565b60405180910390a150565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630be155477f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610c609190611ccf565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb091906118ae565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d19576040517f78fff39600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d7fd7afb7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610d959190611ccf565b60206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de59190611a64565b90506000811415610e22576040517fe661aed000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060035460025483610e359190611de9565b610e3f9190611d93565b90508281945094505050509091565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806003819055507fef13af88e424b5d15f49c77758542c1938b08b8b95b91ed0751f98ba99000d8f81604051610faa9190611ccf565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611052576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806002819055507fff5788270f43bfc1ca41c503606d2594aa3023a1a7547de403a3e2f146a4a80a816040516110889190611ccf565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611102576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611169576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112479190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112bb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611322576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113a0576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816113ac9190611e43565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461143e9190611d93565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114a29190611ccf565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611517576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611595576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816115a19190611e43565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546115f69190611e43565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161165b9190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116cf576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600660008282546116e19190611d93565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117379190611d93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161179c9190611ccf565b60405180910390a35050565b60006117bb6117b684611d2a565b611d05565b9050828152602081018484840111156117d7576117d661207b565b5b6117e2848285611ef1565b509392505050565b6000813590506117f9816120bc565b92915050565b60008151905061180e816120bc565b92915050565b600081519050611823816120d3565b92915050565b600082601f83011261183e5761183d612076565b5b813561184e8482602086016117a8565b91505092915050565b600081359050611866816120ea565b92915050565b60008151905061187b816120ea565b92915050565b60006020828403121561189757611896612085565b5b60006118a5848285016117ea565b91505092915050565b6000602082840312156118c4576118c3612085565b5b60006118d2848285016117ff565b91505092915050565b600080604083850312156118f2576118f1612085565b5b6000611900858286016117ea565b9250506020611911858286016117ea565b9150509250929050565b60008060006060848603121561193457611933612085565b5b6000611942868287016117ea565b9350506020611953868287016117ea565b925050604061196486828701611857565b9150509250925092565b6000806040838503121561198557611984612085565b5b6000611993858286016117ea565b92505060206119a485828601611857565b9150509250929050565b6000602082840312156119c4576119c3612085565b5b60006119d284828501611814565b91505092915050565b600080604083850312156119f2576119f1612085565b5b600083013567ffffffffffffffff811115611a1057611a0f612080565b5b611a1c85828601611829565b9250506020611a2d85828601611857565b9150509250929050565b600060208284031215611a4d57611a4c612085565b5b6000611a5b84828501611857565b91505092915050565b600060208284031215611a7a57611a79612085565b5b6000611a888482850161186c565b91505092915050565b611a9a81611e77565b82525050565b611ab1611aac82611e77565b611f96565b82525050565b611ac081611e89565b82525050565b6000611ad182611d5b565b611adb8185611d71565b9350611aeb818560208601611f00565b611af48161208a565b840191505092915050565b611b0881611edf565b82525050565b6000611b1982611d66565b611b238185611d82565b9350611b33818560208601611f00565b611b3c8161208a565b840191505092915050565b611b5081611ec8565b82525050565b611b5f81611ed2565b82525050565b6000611b718284611aa0565b60148201915081905092915050565b6000602082019050611b956000830184611a91565b92915050565b6000606082019050611bb06000830186611a91565b611bbd6020830185611a91565b611bca6040830184611b47565b949350505050565b6000604082019050611be76000830185611a91565b611bf46020830184611b47565b9392505050565b6000602082019050611c106000830184611ab7565b92915050565b60006040820190508181036000830152611c308185611ac6565b9050611c3f6020830184611b47565b9392505050565b60006080820190508181036000830152611c608187611ac6565b9050611c6f6020830186611b47565b611c7c6040830185611b47565b611c896060830184611b47565b95945050505050565b6000602082019050611ca76000830184611aff565b92915050565b60006020820190508181036000830152611cc78184611b0e565b905092915050565b6000602082019050611ce46000830184611b47565b92915050565b6000602082019050611cff6000830184611b56565b92915050565b6000611d0f611d20565b9050611d1b8282611f65565b919050565b6000604051905090565b600067ffffffffffffffff821115611d4557611d44612047565b5b611d4e8261208a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d9e82611ec8565b9150611da983611ec8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611dde57611ddd611fba565b5b828201905092915050565b6000611df482611ec8565b9150611dff83611ec8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e3857611e37611fba565b5b828202905092915050565b6000611e4e82611ec8565b9150611e5983611ec8565b925082821015611e6c57611e6b611fba565b5b828203905092915050565b6000611e8282611ea8565b9050919050565b60008115159050919050565b6000819050611ea3826120a8565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611eea82611e95565b9050919050565b82818337600083830152505050565b60005b83811015611f1e578082015181840152602081019050611f03565b83811115611f2d576000848401525b50505050565b60006002820490506001821680611f4b57607f821691505b60208210811415611f5f57611f5e612018565b5b50919050565b611f6e8261208a565b810181811067ffffffffffffffff82111715611f8d57611f8c612047565b5b80604052505050565b6000611fa182611fa8565b9050919050565b6000611fb38261209b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b600381106120b9576120b8611fe9565b5b50565b6120c581611e77565b81146120d057600080fd5b50565b6120dc81611e89565b81146120e757600080fd5b50565b6120f381611ec8565b81146120fe57600080fd5b5056fea26469706673582212206982505c1a546edfb86a1aaaca0ad6b7e5542f2d1f24ac30a032805fc80a650e64736f6c63430008070033a264697066735822122010027f2dc18e901383c97a3e4520ec38a6ca6c841d4c9ec83ba0a9f75515c22764736f6c63430008070033"; + +type GatewayZEVMInboundTestConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GatewayZEVMInboundTestConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GatewayZEVMInboundTest__factory extends ContractFactory { + constructor(...args: GatewayZEVMInboundTestConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): GatewayZEVMInboundTest { + return super.attach(address) as GatewayZEVMInboundTest; + } + override connect(signer: Signer): GatewayZEVMInboundTest__factory { + return super.connect(signer) as GatewayZEVMInboundTest__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GatewayZEVMInboundTestInterface { + return new utils.Interface(_abi) as GatewayZEVMInboundTestInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GatewayZEVMInboundTest { + return new Contract( + address, + _abi, + signerOrProvider + ) as GatewayZEVMInboundTest; + } +} diff --git a/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest__factory.ts b/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest__factory.ts new file mode 100644 index 00000000..62b338db --- /dev/null +++ b/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest__factory.ts @@ -0,0 +1,803 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; +import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import type { PromiseOrValue } from "../../../../../common"; +import type { + GatewayZEVMOutboundTest, + GatewayZEVMOutboundTestInterface, +} from "../../../../../contracts/prototypes/test/GatewayZEVM.t.sol/GatewayZEVMOutboundTest"; + +const _abi = [ + { + inputs: [], + name: "CallerIsNotFungibleModule", + type: "error", + }, + { + inputs: [], + name: "GasFeeTransferFailed", + type: "error", + }, + { + inputs: [], + name: "InsufficientZRC20Amount", + type: "error", + }, + { + inputs: [], + name: "InvalidTarget", + type: "error", + }, + { + inputs: [], + name: "WithdrawalFailed", + type: "error", + }, + { + inputs: [], + name: "ZRC20BurnFailed", + type: "error", + }, + { + inputs: [], + name: "ZRC20TransferFailed", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "receiver", + type: "bytes", + }, + { + indexed: false, + internalType: "bytes", + name: "message", + type: "bytes", + }, + ], + name: "Call", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes", + name: "origin", + type: "bytes", + }, + { + indexed: false, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "chainID", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "msgSender", + type: "address", + }, + { + indexed: false, + internalType: "string", + name: "message", + type: "string", + }, + ], + name: "ContextData", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "to", + type: "bytes", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "gasfee", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "protocolFlatFee", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "message", + type: "bytes", + }, + ], + name: "Withdrawal", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "", + type: "string", + }, + ], + name: "log", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "", + type: "address", + }, + ], + name: "log_address", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256[]", + name: "val", + type: "uint256[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "int256[]", + name: "val", + type: "int256[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address[]", + name: "val", + type: "address[]", + }, + ], + name: "log_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "log_bytes", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "log_bytes32", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "int256", + name: "", + type: "int256", + }, + ], + name: "log_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "address", + name: "val", + type: "address", + }, + ], + name: "log_named_address", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256[]", + name: "val", + type: "uint256[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256[]", + name: "val", + type: "int256[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "address[]", + name: "val", + type: "address[]", + }, + ], + name: "log_named_array", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "bytes", + name: "val", + type: "bytes", + }, + ], + name: "log_named_bytes", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "bytes32", + name: "val", + type: "bytes32", + }, + ], + name: "log_named_bytes32", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256", + name: "val", + type: "int256", + }, + { + indexed: false, + internalType: "uint256", + name: "decimals", + type: "uint256", + }, + ], + name: "log_named_decimal_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256", + name: "val", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "decimals", + type: "uint256", + }, + ], + name: "log_named_decimal_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "int256", + name: "val", + type: "int256", + }, + ], + name: "log_named_int", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "val", + type: "string", + }, + ], + name: "log_named_string", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "key", + type: "string", + }, + { + indexed: false, + internalType: "uint256", + name: "val", + type: "uint256", + }, + ], + name: "log_named_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "", + type: "string", + }, + ], + name: "log_string", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "log_uint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + name: "logs", + type: "event", + }, + { + inputs: [], + name: "IS_TEST", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeArtifacts", + outputs: [ + { + internalType: "string[]", + name: "excludedArtifacts_", + type: "string[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeContracts", + outputs: [ + { + internalType: "address[]", + name: "excludedContracts_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeSelectors", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzSelector[]", + name: "excludedSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "excludeSenders", + outputs: [ + { + internalType: "address[]", + name: "excludedSenders_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "failed", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "setUp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "targetArtifactSelectors", + outputs: [ + { + components: [ + { + internalType: "string", + name: "artifact", + type: "string", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzArtifactSelector[]", + name: "targetedArtifactSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetArtifacts", + outputs: [ + { + internalType: "string[]", + name: "targetedArtifacts_", + type: "string[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetContracts", + outputs: [ + { + internalType: "address[]", + name: "targetedContracts_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetInterfaces", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "string[]", + name: "artifacts", + type: "string[]", + }, + ], + internalType: "struct StdInvariant.FuzzInterface[]", + name: "targetedInterfaces_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetSelectors", + outputs: [ + { + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "bytes4[]", + name: "selectors", + type: "bytes4[]", + }, + ], + internalType: "struct StdInvariant.FuzzSelector[]", + name: "targetedSelectors_", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "targetSenders", + outputs: [ + { + internalType: "address[]", + name: "targetedSenders_", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "testDeposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testDepositAndCallZContract", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testExecuteZContract", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60806040526001600c60006101000a81548160ff0219169083151502179055506001601f60006101000a81548160ff02191690831515021790555034801561004657600080fd5b5061b0e380620000576000396000f3fe60806040523480156200001157600080fd5b5060043610620001185760003560e01c806385226c8111620000a5578063b5508aa9116200006f578063b5508aa9146200025d578063ba414fa6146200027f578063e20c9f7114620002a1578063fa7626d414620002c35762000118565b806385226c8114620001eb5780638ec6a7c4146200020d578063916a17c61462000219578063b0464fdc146200023b5762000118565b80633f7286f411620000e75780633f7286f4146200018f57806366d9a9a014620001b1578063720b9aa914620001d35780637f924c4e14620001df5762000118565b80630a9254e4146200011d5780631ed7831c14620001295780632ade3880146200014b5780633e5e3c23146200016d575b600080fd5b62000127620002e5565b005b6200013362000c35565b60405162000142919062003251565b60405180910390f35b6200015562000cc5565b604051620001649190620032bd565b60405180910390f35b6200017762000e5f565b60405162000186919062003251565b60405180910390f35b6200019962000eef565b604051620001a8919062003251565b60405180910390f35b620001bb62000f7f565b604051620001ca919062003299565b60405180910390f35b620001dd62001116565b005b620001e962001673565b005b620001f562001a4e565b60405162000204919062003275565b60405180910390f35b6200021762001b31565b005b6200022362002258565b604051620002329190620032e1565b60405180910390f35b62000245620023ab565b604051620002549190620032e1565b60405180910390f35b62000267620024fe565b60405162000276919062003275565b60405180910390f35b62000289620025e1565b60405162000298919062003305565b60405180910390f35b620002ab62002714565b604051620002ba919062003251565b60405180910390f35b620002cd620027a4565b604051620002dc919062003305565b60405180910390f35b30602360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611234602460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405162000377906200284d565b604051809103906000f08015801562000394573d6000803e3d6000fd5b50601f60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051620003e3906200285b565b604051809103906000f08015801562000400573d6000803e3d6000fd5b50602260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166306447d56601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620004e957600080fd5b505afa158015620004fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005249190620028e1565b6040518263ffffffff1660e01b815260040162000542919062003133565b600060405180830381600087803b1580156200055d57600080fd5b505af115801562000572573d6000803e3d6000fd5b505050506000806000604051620005899062002869565b620005979392919062003150565b604051809103906000f080158015620005b4573d6000803e3d6000fd5b50602160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060126001806000602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051620006509062002877565b620006619695949392919062003464565b604051809103906000f0801580156200067e573d6000803e3d6000fd5b50602060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee2815ba6001602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b815260040162000741929190620033e8565b600060405180830381600087803b1580156200075c57600080fd5b505af115801562000771573d6000803e3d6000fd5b50505050602160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7cb05076001806040518363ffffffff1660e01b8152600401620007d592919062003415565b600060405180830381600087803b158015620007f057600080fd5b505af115801562000805573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663c88a5e6d601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620008b157600080fd5b505afa158015620008c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008ec9190620028e1565b633b9aca006040518363ffffffff1660e01b815260040162000910929190620031ba565b600060405180830381600087803b1580156200092b57600080fd5b505af115801562000940573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166347e7ef24602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620186a06040518363ffffffff1660e01b8152600401620009c8929190620031e7565b602060405180830381600087803b158015620009e357600080fd5b505af1158015620009f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a1e919062002913565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000a8b57600080fd5b505af115801562000aa0573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7602360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162000b24919062003133565b600060405180830381600087803b15801562000b3f57600080fd5b505af115801562000b54573d6000803e3d6000fd5b50505050602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16620186a06040518363ffffffff1660e01b815260040162000bdc929190620031e7565b602060405180830381600087803b15801562000bf757600080fd5b505af115801562000c0c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c32919062002913565b50565b6060601680548060200260200160405190810160405280929190818152602001828054801562000cbb57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000c70575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020016000905b8282101562000e5657838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020016000905b8282101562000e3e57838290600052602060002001805462000daa90620038e1565b80601f016020809104026020016040519081016040528092919081815260200182805462000dd890620038e1565b801562000e295780601f1062000dfd5761010080835404028352916020019162000e29565b820191906000526020600020905b81548152906001019060200180831162000e0b57829003601f168201915b50505050508152602001906001019062000d88565b50505050815250508152602001906001019062000ce9565b50505050905090565b6060601880548060200260200160405190810160405280929190818152602001828054801562000ee557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000e9a575b5050505050905090565b6060601780548060200260200160405190810160405280929190818152602001828054801562000f7557602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831162000f2a575b5050505050905090565b6060601b805480602002602001604051908101604052809291908181526020016000905b828210156200110d578382906000526020600020906002020160405180604001604052908160008201805462000fd990620038e1565b80601f01602080910402602001604051908101604052809291908181526020018280546200100790620038e1565b8015620010585780601f106200102c5761010080835404028352916020019162001058565b820191906000526020600020905b8154815290600101906020018083116200103a57829003601f168201915b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015620010f457602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620010a05790505b5050505050815250508152602001906001019062000fa3565b50505050905090565b6000604051602001620011299062003442565b604051602081830303815290604052905060006040518060600160405280601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020016200117c9190620030f9565b6040516020818303038152906040528152602001601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620011f957600080fd5b505afa1580156200120e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012349190620028e1565b73ffffffffffffffffffffffffffffffffffffffff168152602001600181525090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b8152600401620012e095949392919062003322565b600060405180830381600087803b158015620012fb57600080fd5b505af115801562001310573d6000803e3d6000fd5b505050507fcdc8ee677dc5ebe680fb18cebda5e26ba5ea1f0ba504a47e2a9a2ecb476dc98e601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516020016200136a919062003116565b604051602081830303815290604052601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620013e257600080fd5b505afa158015620013f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200141d9190620028e1565b6001601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516200145494939291906200337f565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200150457600080fd5b505afa15801562001519573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200153f9190620028e1565b6040518263ffffffff1660e01b81526004016200155d919062003133565b600060405180830381600087803b1580156200157857600080fd5b505af11580156200158d573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bcf7f32b82602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518663ffffffff1660e01b81526004016200163b959493929190620034fc565b600060405180830381600087803b1580156200165657600080fd5b505af11580156200166b573d6000803e3d6000fd5b505050505050565b6000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620016f4919062003133565b60206040518083038186803b1580156200170d57600080fd5b505afa15801562001722573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001748919062002977565b905062001757600082620027b7565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b158015620017ff57600080fd5b505afa15801562001814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200183a9190620028e1565b6040518263ffffffff1660e01b815260040162001858919062003133565b600060405180830381600087803b1580156200187357600080fd5b505af115801562001888573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f45346dc602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518463ffffffff1660e01b8152600401620019329392919062003214565b600060405180830381600087803b1580156200194d57600080fd5b505af115801562001962573d6000803e3d6000fd5b505050506000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620019e7919062003133565b60206040518083038186803b15801562001a0057600080fd5b505afa15801562001a15573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a3b919062002977565b905062001a4a600182620027b7565b5050565b6060601a805480602002602001604051908101604052809291908181526020016000905b8282101562001b2857838290600052602060002001805462001a9490620038e1565b80601f016020809104026020016040519081016040528092919081815260200182805462001ac290620038e1565b801562001b135780601f1062001ae75761010080835404028352916020019162001b13565b820191906000526020600020905b81548152906001019060200180831162001af557829003601f168201915b50505050508152602001906001019062001a72565b50505050905090565b6000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040162001bb2919062003133565b60206040518083038186803b15801562001bcb57600080fd5b505afa15801562001be0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c06919062002977565b905062001c15600082620027b7565b600060405160200162001c289062003442565b604051602081830303815290604052905060006040518060600160405280601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001c7b9190620030f9565b6040516020818303038152906040528152602001601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b15801562001cf857600080fd5b505afa15801562001d0d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001d339190620028e1565b73ffffffffffffffffffffffffffffffffffffffff168152602001600181525090507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166381bad6f3600180600180602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518663ffffffff1660e01b815260040162001ddf95949392919062003322565b600060405180830381600087803b15801562001dfa57600080fd5b505af115801562001e0f573d6000803e3d6000fd5b505050507fcdc8ee677dc5ebe680fb18cebda5e26ba5ea1f0ba504a47e2a9a2ecb476dc98e601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405160200162001e69919062003116565b604051602081830303815290604052601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b15801562001ee157600080fd5b505afa15801562001ef6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f1c9190620028e1565b6001601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162001f5394939291906200337f565b60405180910390a17f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663ca669fa7601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633ce4a5bc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200200357600080fd5b505afa15801562002018573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200203e9190620028e1565b6040518263ffffffff1660e01b81526004016200205c919062003133565b600060405180830381600087803b1580156200207757600080fd5b505af11580156200208c573d6000803e3d6000fd5b50505050601f60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c39aca3782602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876040518663ffffffff1660e01b81526004016200213a959493929190620034fc565b600060405180830381600087803b1580156200215557600080fd5b505af11580156200216a573d6000803e3d6000fd5b505050506000602060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231602260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b8152600401620021ef919062003133565b60206040518083038186803b1580156200220857600080fd5b505afa1580156200221d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002243919062002977565b905062002252600182620027b7565b50505050565b6060601d805480602002602001604051908101604052809291908181526020016000905b82821015620023a257838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054806020026020016040519081016040528092919081815260200182805480156200238957602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620023355790505b505050505081525050815260200190600101906200227c565b50505050905090565b6060601c805480602002602001604051908101604052809291908181526020016000905b82821015620024f557838290600052602060002090600202016040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201805480602002602001604051908101604052809291908181526020018280548015620024dc57602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620024885790505b50505050508152505081526020019060010190620023cf565b50505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b82821015620025d85783829060005260206000200180546200254490620038e1565b80601f01602080910402602001604051908101604052809291908181526020018280546200257290620038e1565b8015620025c35780601f106200259757610100808354040283529160200191620025c3565b820191906000526020600020905b815481529060010190602001808311620025a557829003601f168201915b50505050508152602001906001019062002522565b50505050905090565b6000600860009054906101000a900460ff16156200261157600860009054906101000a900460ff16905062002711565b6000801b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff1663667f9d707f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c7f6661696c656400000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401620026b89291906200318d565b60206040518083038186803b158015620026d157600080fd5b505afa158015620026e6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200270c919062002945565b141590505b90565b606060158054806020026020016040519081016040528092919081815260200182805480156200279a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116200274f575b5050505050905090565b601f60009054906101000a900460ff1681565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c73ffffffffffffffffffffffffffffffffffffffff166398296c5483836040518363ffffffff1660e01b81526004016200281792919062003567565b60006040518083038186803b1580156200283057600080fd5b505afa15801562002845573d6000803e3d6000fd5b505050505050565b612eb58062003abb83390190565b610667806200697083390190565b6118aa8062006fd783390190565b61282d806200888183390190565b600081519050620028968162003a52565b92915050565b600081519050620028ad8162003a6c565b92915050565b600081519050620028c48162003a86565b92915050565b600081519050620028db8162003aa0565b92915050565b600060208284031215620028fa57620028f96200399d565b5b60006200290a8482850162002885565b91505092915050565b6000602082840312156200292c576200292b6200399d565b5b60006200293c848285016200289c565b91505092915050565b6000602082840312156200295e576200295d6200399d565b5b60006200296e84828501620028b3565b91505092915050565b60006020828403121562002990576200298f6200399d565b5b6000620029a084828501620028ca565b91505092915050565b6000620029b7838362002a35565b60208301905092915050565b6000620029d1838362002ded565b60208301905092915050565b6000620029eb838362002f01565b905092915050565b600062002a01838362002fb7565b905092915050565b600062002a17838362002fff565b905092915050565b600062002a2d838362003040565b905092915050565b62002a408162003755565b82525050565b62002a518162003755565b82525050565b62002a6c62002a668262003755565b62003917565b82525050565b600062002a7f82620035f4565b62002a8b81856200369a565b935062002a988362003594565b8060005b8381101562002acf57815162002ab38882620029a9565b975062002ac0836200364c565b92505060018101905062002a9c565b5085935050505092915050565b600062002ae982620035ff565b62002af58185620036ab565b935062002b0283620035a4565b8060005b8381101562002b3957815162002b1d8882620029c3565b975062002b2a8362003659565b92505060018101905062002b06565b5085935050505092915050565b600062002b53826200360a565b62002b5f8185620036bc565b93508360208202850162002b7385620035b4565b8060005b8581101562002bb5578484038952815162002b938582620029dd565b945062002ba08362003666565b925060208a0199505060018101905062002b77565b50829750879550505050505092915050565b600062002bd4826200360a565b62002be08185620036cd565b93508360208202850162002bf485620035b4565b8060005b8581101562002c36578484038952815162002c148582620029dd565b945062002c218362003666565b925060208a0199505060018101905062002bf8565b50829750879550505050505092915050565b600062002c558262003615565b62002c618185620036de565b93508360208202850162002c7585620035c4565b8060005b8581101562002cb7578484038952815162002c958582620029f3565b945062002ca28362003673565b925060208a0199505060018101905062002c79565b50829750879550505050505092915050565b600062002cd68262003620565b62002ce28185620036ef565b93508360208202850162002cf685620035d4565b8060005b8581101562002d38578484038952815162002d16858262002a09565b945062002d238362003680565b925060208a0199505060018101905062002cfa565b50829750879550505050505092915050565b600062002d57826200362b565b62002d63818562003700565b93508360208202850162002d7785620035e4565b8060005b8581101562002db9578484038952815162002d97858262002a1f565b945062002da4836200368d565b925060208a0199505060018101905062002d7b565b50829750879550505050505092915050565b62002dd68162003769565b82525050565b62002de78162003775565b82525050565b62002df8816200377f565b82525050565b600062002e0b8262003636565b62002e17818562003711565b935062002e29818560208601620038ab565b62002e3481620039a2565b840191505092915050565b600062002e4c8262003636565b62002e58818562003722565b935062002e6a818560208601620038ab565b62002e7581620039a2565b840191505092915050565b62002e9562002e8f82620037f7565b62003917565b82525050565b62002ea6816200380b565b82525050565b62002eb7816200381f565b82525050565b62002ec88162003833565b82525050565b62002ed98162003847565b82525050565b62002eea816200385b565b82525050565b62002efb816200386f565b82525050565b600062002f0e8262003641565b62002f1a818562003733565b935062002f2c818560208601620038ab565b62002f3781620039a2565b840191505092915050565b600062002f5160058362003744565b915062002f5e82620039c0565b602082019050919050565b600062002f7860058362003744565b915062002f8582620039e9565b602082019050919050565b600062002f9f60038362003744565b915062002fac8262003a12565b602082019050919050565b6000604083016000830151848203600086015262002fd6828262002f01565b9150506020830151848203602086015262002ff2828262002adc565b9150508091505092915050565b600060408301600083015162003019600086018262002a35565b506020830151848203602086015262003033828262002b46565b9150508091505092915050565b60006040830160008301516200305a600086018262002a35565b506020830151848203602086015262003074828262002adc565b9150508091505092915050565b60006060830160008301518482036000860152620030a0828262002dfe565b9150506020830151620030b7602086018262002a35565b506040830151620030cc6040860182620030d7565b508091505092915050565b620030e281620037e0565b82525050565b620030f381620037e0565b82525050565b600062003107828462002a57565b60148201915081905092915050565b600062003124828462002e80565b60148201915081905092915050565b60006020820190506200314a600083018462002a46565b92915050565b600060608201905062003167600083018662002a46565b62003176602083018562002a46565b62003185604083018462002a46565b949350505050565b6000604082019050620031a4600083018562002a46565b620031b3602083018462002ddc565b9392505050565b6000604082019050620031d1600083018562002a46565b620031e0602083018462002ebd565b9392505050565b6000604082019050620031fe600083018562002a46565b6200320d602083018462002ece565b9392505050565b60006060820190506200322b600083018662002a46565b6200323a602083018562002ef0565b62003249604083018462002a46565b949350505050565b600060208201905081810360008301526200326d818462002a72565b905092915050565b6000602082019050818103600083015262003291818462002bc7565b905092915050565b60006020820190508181036000830152620032b5818462002c48565b905092915050565b60006020820190508181036000830152620032d9818462002cc9565b905092915050565b60006020820190508181036000830152620032fd818462002d4a565b905092915050565b60006020820190506200331c600083018462002dcb565b92915050565b600060a08201905062003339600083018862002dcb565b62003348602083018762002dcb565b62003357604083018662002dcb565b62003366606083018562002dcb565b62003375608083018462002a46565b9695505050505050565b600060a08201905081810360008301526200339b818762002e3f565b9050620033ac602083018662002a46565b620033bb604083018562002ef0565b620033ca606083018462002a46565b8181036080830152620033dd8162002f42565b905095945050505050565b6000604082019050620033ff600083018562002ef0565b6200340e602083018462002a46565b9392505050565b60006040820190506200342c600083018562002ef0565b6200343b602083018462002ef0565b9392505050565b600060208201905081810360008301526200345d8162002f42565b9050919050565b6000610100820190508181036000830152620034808162002f69565b90508181036020830152620034958162002f90565b9050620034a6604083018962002edf565b620034b5606083018862002ef0565b620034c4608083018762002e9b565b620034d360a083018662002eac565b620034e260c083018562002a46565b620034f160e083018462002a46565b979650505050505050565b600060a082019050818103600083015262003518818862003081565b905062003529602083018762002a46565b62003538604083018662002ef0565b62003547606083018562002a46565b81810360808301526200355b818462002e3f565b90509695505050505050565b60006040820190506200357e6000830185620030e8565b6200358d6020830184620030e8565b9392505050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b60006200376282620037c0565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050620037bb8262003a3b565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000620038048262003883565b9050919050565b60006200381882620037ab565b9050919050565b60006200382c82620037e0565b9050919050565b60006200384082620037e0565b9050919050565b60006200385482620037e0565b9050919050565b60006200386882620037ea565b9050919050565b60006200387c82620037e0565b9050919050565b6000620038908262003897565b9050919050565b6000620038a482620037c0565b9050919050565b60005b83811015620038cb578082015181840152602081019050620038ae565b83811115620038db576000848401525b50505050565b60006002820490506001821680620038fa57607f821691505b602082108114156200391157620039106200396e565b5b50919050565b600062003924826200392b565b9050919050565b60006200393882620039b3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f68656c6c6f000000000000000000000000000000000000000000000000000000600082015250565b7f544f4b454e000000000000000000000000000000000000000000000000000000600082015250565b7f544b4e0000000000000000000000000000000000000000000000000000000000600082015250565b6003811062003a4f5762003a4e6200393f565b5b50565b62003a5d8162003755565b811462003a6957600080fd5b50565b62003a778162003769565b811462003a8357600080fd5b50565b62003a918162003775565b811462003a9d57600080fd5b50565b62003aab81620037e0565b811462003ab757600080fd5b5056fe60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152503480156200004757600080fd5b50620000586200005e60201b60201c565b62000208565b600060019054906101000a900460ff1615620000b1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000a8906200015c565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620001225760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff6040516200011991906200017e565b60405180910390a15b565b6000620001336027836200019b565b91506200014082620001b9565b604082019050919050565b6200015681620001ac565b82525050565b60006020820190508181036000830152620001778162000124565b9050919050565b60006020820190506200019560008301846200014b565b92915050565b600082825260208201905092915050565b600060ff82169050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60805160601c612c726200024360003960008181610433015281816104c2015281816105d40152818161066301526107130152612c726000f3fe6080604052600436106100dd5760003560e01c80637993c1e01161007f578063bcf7f32b11610059578063bcf7f32b14610251578063c39aca371461027a578063f2fde38b146102a3578063f45346dc146102cc576100dd565b80637993c1e0146101e65780638129fc1c1461020f5780638da5cb5b14610226576100dd565b80633ce4a5bc116100bb5780633ce4a5bc1461015d5780634f1ef2861461018857806352d1902d146101a4578063715018a6146101cf576100dd565b80630ac7c44c146100e2578063135390f91461010b5780633659cfe614610134575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190611c80565b6102f5565b005b34801561011757600080fd5b50610132600480360381019061012d9190611cfc565b61034c565b005b34801561014057600080fd5b5061015b60048036038101906101569190611b0a565b610431565b005b34801561016957600080fd5b506101726105ba565b60405161017f919061226e565b60405180910390f35b6101a2600480360381019061019d9190611b37565b6105d2565b005b3480156101b057600080fd5b506101b961070f565b6040516101c691906122e9565b60405180910390f35b3480156101db57600080fd5b506101e46107c8565b005b3480156101f257600080fd5b5061020d60048036038101906102089190611d6b565b6107dc565b005b34801561021b57600080fd5b506102246108c7565b005b34801561023257600080fd5b5061023b610a0d565b604051610248919061226e565b60405180910390f35b34801561025d57600080fd5b5061027860048036038101906102739190611e0f565b610a37565b005b34801561028657600080fd5b506102a1600480360381019061029c9190611e0f565b610b2b565b005b3480156102af57600080fd5b506102ca60048036038101906102c59190611b0a565b610d5d565b005b3480156102d857600080fd5b506102f360048036038101906102ee9190611bd3565b610de1565b005b3373ffffffffffffffffffffffffffffffffffffffff167f2b5af078ce280d812dc2241658dc5435c93408020e5418eef55a2b536de51c0f84848460405161033f93929190612304565b60405180910390a2505050565b60006103588383610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8585848673ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103db57600080fd5b505afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104139190611ec5565b60405161042394939291906123a0565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614156104c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b79061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166104ff61128d565b73ffffffffffffffffffffffffffffffffffffffff1614610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054c9061247c565b60405180910390fd5b61055e816112e4565b6105b781600067ffffffffffffffff81111561057d5761057c61282b565b5b6040519080825280601f01601f1916602001820160405280156105af5781602001600182028036833780820191505090505b5060006112ef565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161415610661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106589061245c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166106a061128d565b73ffffffffffffffffffffffffffffffffffffffff16146106f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ed9061247c565b60405180910390fd5b6106ff826112e4565b61070b828260016112ef565b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161461079f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107969061249c565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b905090565b6107d061146c565b6107da60006114ea565b565b60006107e88585610f9d565b90503373ffffffffffffffffffffffffffffffffffffffff167f1866ad2994816c79f4103e1eddacc7b085eb7c635205243a28940be69b01536d8787848873ffffffffffffffffffffffffffffffffffffffff16634d8943bb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190611ec5565b88886040516108b79695949392919061233d565b60405180910390a2505050505050565b60008060019054906101000a900460ff161590508080156108f85750600160008054906101000a900460ff1660ff16105b806109255750610907306115b0565b1580156109245750600160008054906101000a900460ff1660ff16145b5b610964576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095b906124dc565b60405180910390fd5b60016000806101000a81548160ff021916908360ff16021790555080156109a1576001600060016101000a81548160ff0219169083151502179055505b6109a96115d3565b6109b161162c565b8015610a0a5760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610a0191906123ff565b60405180910390a15b50565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ab0576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610af195949392919061259c565b600060405180830381600087803b158015610b0b57600080fd5b505af1158015610b1f573d6000803e3d6000fd5b50505050505050505050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ba4576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610c1d57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610c54576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166347e7ef2484866040518363ffffffff1660e01b8152600401610c8f9291906122c0565b602060405180830381600087803b158015610ca957600080fd5b505af1158015610cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce19190611c26565b508273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610d2395949392919061259c565b600060405180830381600087803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b50505050505050505050565b610d6561146c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcc9061243c565b60405180910390fd5b610dde816114ea565b50565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610ed357503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610f0a576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166347e7ef2482846040518363ffffffff1660e01b8152600401610f459291906122c0565b602060405180830381600087803b158015610f5f57600080fd5b505af1158015610f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f979190611c26565b50505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1663d9eeebed6040518163ffffffff1660e01b8152600401604080518083038186803b158015610fe757600080fd5b505afa158015610ffb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101f9190611b93565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b815260040161107493929190612289565b602060405180830381600087803b15801561108e57600080fd5b505af11580156110a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c69190611c26565b6110fc576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff1660e01b815260040161113993929190612289565b602060405180830381600087803b15801561115357600080fd5b505af1158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190611c26565b6111c1576040517f4dd9ee8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166342966c68866040518263ffffffff1660e01b81526004016111fa91906125f1565b602060405180830381600087803b15801561121457600080fd5b505af1158015611228573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124c9190611c26565b611282576040517f2c77e05c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b809250505092915050565b60006112bb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112ec61146c565b50565b61131b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd914360001b611687565b60000160009054906101000a900460ff161561133f5761133a83611691565b611467565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561138557600080fd5b505afa9250505080156113b657506040513d601f19601f820116820180604052508101906113b39190611c53565b60015b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ec906124fc565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b811461145a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611451906124bc565b60405180910390fd5b5061146683838361174a565b5b505050565b611474611776565b73ffffffffffffffffffffffffffffffffffffffff16611492610a0d565b73ffffffffffffffffffffffffffffffffffffffff16146114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9061253c565b60405180910390fd5b565b6000603360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081603360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611622576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116199061257c565b60405180910390fd5b61162a61177e565b565b600060019054906101000a900460ff1661167b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116729061257c565b60405180910390fd5b565b6000819050919050565b6000819050919050565b61169a816115b0565b6116d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d09061251c565b60405180910390fd5b806117067f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61167d565b60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611753836117df565b6000825111806117605750805b156117715761176f838361182e565b505b505050565b600033905090565b600060019054906101000a900460ff166117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061257c565b60405180910390fd5b6117dd6117d8611776565b6114ea565b565b6117e881611691565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60606118538383604051806060016040528060278152602001612c166027913961185b565b905092915050565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516118859190612257565b600060405180830381855af49150503d80600081146118c0576040519150601f19603f3d011682016040523d82523d6000602084013e6118c5565b606091505b50915091506118d6868383876118e1565b925050509392505050565b606083156119445760008351141561193c576118fc856115b0565b61193b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119329061255c565b60405180910390fd5b5b82905061194f565b61194e8383611957565b5b949350505050565b60008251111561196a5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199e919061241a565b60405180910390fd5b60006119ba6119b584612631565b61260c565b9050828152602081018484840111156119d6576119d5612878565b5b6119e18482856127b8565b509392505050565b6000813590506119f881612bb9565b92915050565b600081519050611a0d81612bb9565b92915050565b600081519050611a2281612bd0565b92915050565b600081519050611a3781612be7565b92915050565b60008083601f840112611a5357611a52612864565b5b8235905067ffffffffffffffff811115611a7057611a6f61285f565b5b602083019150836001820283011115611a8c57611a8b612873565b5b9250929050565b600082601f830112611aa857611aa7612864565b5b8135611ab88482602086016119a7565b91505092915050565b600060608284031215611ad757611ad6612869565b5b81905092915050565b600081359050611aef81612bfe565b92915050565b600081519050611b0481612bfe565b92915050565b600060208284031215611b2057611b1f612887565b5b6000611b2e848285016119e9565b91505092915050565b60008060408385031215611b4e57611b4d612887565b5b6000611b5c858286016119e9565b925050602083013567ffffffffffffffff811115611b7d57611b7c61287d565b5b611b8985828601611a93565b9150509250929050565b60008060408385031215611baa57611ba9612887565b5b6000611bb8858286016119fe565b9250506020611bc985828601611af5565b9150509250929050565b600080600060608486031215611bec57611beb612887565b5b6000611bfa868287016119e9565b9350506020611c0b86828701611ae0565b9250506040611c1c868287016119e9565b9150509250925092565b600060208284031215611c3c57611c3b612887565b5b6000611c4a84828501611a13565b91505092915050565b600060208284031215611c6957611c68612887565b5b6000611c7784828501611a28565b91505092915050565b600080600060408486031215611c9957611c98612887565b5b600084013567ffffffffffffffff811115611cb757611cb661287d565b5b611cc386828701611a93565b935050602084013567ffffffffffffffff811115611ce457611ce361287d565b5b611cf086828701611a3d565b92509250509250925092565b600080600060608486031215611d1557611d14612887565b5b600084013567ffffffffffffffff811115611d3357611d3261287d565b5b611d3f86828701611a93565b9350506020611d5086828701611ae0565b9250506040611d61868287016119e9565b9150509250925092565b600080600080600060808688031215611d8757611d86612887565b5b600086013567ffffffffffffffff811115611da557611da461287d565b5b611db188828901611a93565b9550506020611dc288828901611ae0565b9450506040611dd3888289016119e9565b935050606086013567ffffffffffffffff811115611df457611df361287d565b5b611e0088828901611a3d565b92509250509295509295909350565b60008060008060008060a08789031215611e2c57611e2b612887565b5b600087013567ffffffffffffffff811115611e4a57611e4961287d565b5b611e5689828a01611ac1565b9650506020611e6789828a016119e9565b9550506040611e7889828a01611ae0565b9450506060611e8989828a016119e9565b935050608087013567ffffffffffffffff811115611eaa57611ea961287d565b5b611eb689828a01611a3d565b92509250509295509295509295565b600060208284031215611edb57611eda612887565b5b6000611ee984828501611af5565b91505092915050565b611efb81612747565b82525050565b611f0a81612747565b82525050565b611f1981612765565b82525050565b6000611f2b8385612678565b9350611f388385846127b8565b611f418361288c565b840190509392505050565b6000611f588385612689565b9350611f658385846127b8565b611f6e8361288c565b840190509392505050565b6000611f8482612662565b611f8e8185612689565b9350611f9e8185602086016127c7565b611fa78161288c565b840191505092915050565b6000611fbd82612662565b611fc7818561269a565b9350611fd78185602086016127c7565b80840191505092915050565b611fec816127a6565b82525050565b6000611ffd8261266d565b61200781856126a5565b93506120178185602086016127c7565b6120208161288c565b840191505092915050565b60006120386026836126a5565b91506120438261289d565b604082019050919050565b600061205b602c836126a5565b9150612066826128ec565b604082019050919050565b600061207e602c836126a5565b91506120898261293b565b604082019050919050565b60006120a16038836126a5565b91506120ac8261298a565b604082019050919050565b60006120c46029836126a5565b91506120cf826129d9565b604082019050919050565b60006120e7602e836126a5565b91506120f282612a28565b604082019050919050565b600061210a602e836126a5565b915061211582612a77565b604082019050919050565b600061212d602d836126a5565b915061213882612ac6565b604082019050919050565b60006121506020836126a5565b915061215b82612b15565b602082019050919050565b6000612173600083612689565b915061217e82612b3e565b600082019050919050565b6000612196601d836126a5565b91506121a182612b41565b602082019050919050565b60006121b9602b836126a5565b91506121c482612b6a565b604082019050919050565b6000606083016121e260008401846126cd565b85830360008701526121f5838284611f1f565b9250505061220660208401846126b6565b6122136020860182611ef2565b506122216040840184612730565b61222e6040860182612239565b508091505092915050565b6122428161278f565b82525050565b6122518161278f565b82525050565b60006122638284611fb2565b915081905092915050565b60006020820190506122836000830184611f01565b92915050565b600060608201905061229e6000830186611f01565b6122ab6020830185611f01565b6122b86040830184612248565b949350505050565b60006040820190506122d56000830185611f01565b6122e26020830184612248565b9392505050565b60006020820190506122fe6000830184611f10565b92915050565b6000604082019050818103600083015261231e8186611f79565b90508181036020830152612333818486611f4c565b9050949350505050565b600060a08201905081810360008301526123578189611f79565b90506123666020830188612248565b6123736040830187612248565b6123806060830186612248565b8181036080830152612393818486611f4c565b9050979650505050505050565b600060a08201905081810360008301526123ba8187611f79565b90506123c96020830186612248565b6123d66040830185612248565b6123e36060830184612248565b81810360808301526123f481612166565b905095945050505050565b60006020820190506124146000830184611fe3565b92915050565b600060208201905081810360008301526124348184611ff2565b905092915050565b600060208201905081810360008301526124558161202b565b9050919050565b600060208201905081810360008301526124758161204e565b9050919050565b6000602082019050818103600083015261249581612071565b9050919050565b600060208201905081810360008301526124b581612094565b9050919050565b600060208201905081810360008301526124d5816120b7565b9050919050565b600060208201905081810360008301526124f5816120da565b9050919050565b60006020820190508181036000830152612515816120fd565b9050919050565b6000602082019050818103600083015261253581612120565b9050919050565b6000602082019050818103600083015261255581612143565b9050919050565b6000602082019050818103600083015261257581612189565b9050919050565b60006020820190508181036000830152612595816121ac565b9050919050565b600060808201905081810360008301526125b681886121cf565b90506125c56020830187611f01565b6125d26040830186612248565b81810360608301526125e5818486611f4c565b90509695505050505050565b60006020820190506126066000830184612248565b92915050565b6000612616612627565b905061262282826127fa565b919050565b6000604051905090565b600067ffffffffffffffff82111561264c5761264b61282b565b5b6126558261288c565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006126c560208401846119e9565b905092915050565b600080833560016020038436030381126126ea576126e9612882565b5b83810192508235915060208301925067ffffffffffffffff8211156127125761271161285a565b5b6001820236038413156127285761272761286e565b5b509250929050565b600061273f6020840184611ae0565b905092915050565b60006127528261276f565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006127b182612799565b9050919050565b82818337600083830152505050565b60005b838110156127e55780820151818401526020810190506127ca565b838111156127f4576000848401525b50505050565b6128038261288c565b810181811067ffffffffffffffff821117156128225761282161282b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f64656c656761746563616c6c0000000000000000000000000000000000000000602082015250565b7f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060008201527f6163746976652070726f78790000000000000000000000000000000000000000602082015250565b7f555550535570677261646561626c653a206d757374206e6f742062652063616c60008201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000602082015250565b7f45524331393637557067726164653a20756e737570706f727465642070726f7860008201527f6961626c65555549440000000000000000000000000000000000000000000000602082015250565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b7f45524331393637557067726164653a206e657720696d706c656d656e7461746960008201527f6f6e206973206e6f742055555053000000000000000000000000000000000000602082015250565b7f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60008201527f6f74206120636f6e747261637400000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b612bc281612747565b8114612bcd57600080fd5b50565b612bd981612759565b8114612be457600080fd5b50565b612bf081612765565b8114612bfb57600080fd5b50565b612c078161278f565b8114612c1257600080fd5b5056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220627eb039ecb52d09fd70ebde1f5eca61fe0f91321a96929ebe38dc8e38d999ab64736f6c63430008070033608060405234801561001057600080fd5b50610647806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063de43156e14610030575b600080fd5b61004a60048036038101906100459190610251565b61004c565b005b6000828281019061005d9190610208565b90507fcdc8ee677dc5ebe680fb18cebda5e26ba5ea1f0ba504a47e2a9a2ecb476dc98e86806000019061009091906103dc565b8860200160208101906100a391906101db565b896040013533866040516100bc96959493929190610379565b60405180910390a1505050505050565b60006100df6100da84610464565b61043f565b9050828152602081018484840111156100fb576100fa6105c3565b5b6101068482856104fe565b509392505050565b60008135905061011d816105e3565b92915050565b60008083601f840112610139576101386105a5565b5b8235905067ffffffffffffffff811115610156576101556105a0565b5b602083019150836001820283011115610172576101716105b9565b5b9250929050565b600082601f83011261018e5761018d6105a5565b5b813561019e8482602086016100cc565b91505092915050565b6000606082840312156101bd576101bc6105af565b5b81905092915050565b6000813590506101d5816105fa565b92915050565b6000602082840312156101f1576101f06105cd565b5b60006101ff8482850161010e565b91505092915050565b60006020828403121561021e5761021d6105cd565b5b600082013567ffffffffffffffff81111561023c5761023b6105c8565b5b61024884828501610179565b91505092915050565b60008060008060006080868803121561026d5761026c6105cd565b5b600086013567ffffffffffffffff81111561028b5761028a6105c8565b5b610297888289016101a7565b95505060206102a88882890161010e565b94505060406102b9888289016101c6565b935050606086013567ffffffffffffffff8111156102da576102d96105c8565b5b6102e688828901610123565b92509250509295509295909350565b6102fe816104c2565b82525050565b600061031083856104a0565b935061031d8385846104fe565b610326836105d2565b840190509392505050565b600061033c82610495565b61034681856104b1565b935061035681856020860161050d565b61035f816105d2565b840191505092915050565b610373816104f4565b82525050565b600060a082019050818103600083015261039481888a610304565b90506103a360208301876102f5565b6103b0604083018661036a565b6103bd60608301856102f5565b81810360808301526103cf8184610331565b9050979650505050505050565b600080833560016020038436030381126103f9576103f86105b4565b5b80840192508235915067ffffffffffffffff82111561041b5761041a6105aa565b5b602083019250600182023603831315610437576104366105be565b5b509250929050565b600061044961045a565b90506104558282610540565b919050565b6000604051905090565b600067ffffffffffffffff82111561047f5761047e610571565b5b610488826105d2565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006104cd826104d4565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561052b578082015181840152602081019050610510565b8381111561053a576000848401525b50505050565b610549826105d2565b810181811067ffffffffffffffff8211171561056857610567610571565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6105ec816104c2565b81146105f757600080fd5b50565b610603816104f4565b811461060e57600080fd5b5056fea2646970667358221220658b8c56b21b674d6677fa444091a4a714b74ee72bac7b4972c1063bda6d73d764736f6c6343000807003360c06040523480156200001157600080fd5b50604051620018aa380380620018aa8339818101604052810190620000379190620001ac565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620000b1576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250507f80699e81136d69cb8367ad52a994e25c722a86da654b561d0c14b61a777e7ac560405160405180910390a15050506200025b565b600081519050620001a68162000241565b92915050565b600080600060608486031215620001c857620001c76200023c565b5b6000620001d88682870162000195565b9350506020620001eb8682870162000195565b9250506040620001fe8682870162000195565b9150509250925092565b600062000215826200021c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600080fd5b6200024c8162000208565b81146200025857600080fd5b50565b60805160601c60a05160601c61161c6200028e600039600061051b0152600081816105bd0152610bc5015261161c6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806397770dff11610097578063c63585cc11610066578063c63585cc1461025e578063d7fd7afb1461028e578063d936a012146102be578063ee2815ba146102dc576100f5565b806397770dff146101ec578063a7cb050714610208578063c39aca3714610224578063c62178ac14610240576100f5565b8063513a9c05116100d3578063513a9c0514610164578063569541b914610194578063842da36d146101b257806391dd645f146101d0576100f5565b80630be15547146100fa5780631f0e251b1461012a5780633ce4a5bc14610146575b600080fd5b610114600480360381019061010f9190611022565b6102f8565b60405161012191906112b1565b60405180910390f35b610144600480360381019061013f9190610ebf565b61032b565b005b61014e6104a8565b60405161015b91906112b1565b60405180910390f35b61017e60048036038101906101799190611022565b6104c0565b60405161018b91906112b1565b60405180910390f35b61019c6104f3565b6040516101a991906112b1565b60405180910390f35b6101ba610519565b6040516101c791906112b1565b60405180910390f35b6101ea60048036038101906101e5919061104f565b61053d565b005b61020660048036038101906102019190610ebf565b610697565b005b610222600480360381019061021d919061108f565b610814565b005b61023e60048036038101906102399190610f6c565b6108e1565b005b610248610b13565b60405161025591906112b1565b60405180910390f35b61027860048036038101906102739190610eec565b610b39565b60405161028591906112b1565b60405180910390f35b6102a860048036038101906102a39190611022565b610bab565b6040516102b5919061134a565b60405180910390f35b6102c6610bc3565b6040516102d391906112b1565b60405180910390f35b6102f660048036038101906102f1919061104f565b610be7565b005b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103a4576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561040b576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f3ade88e3922d64780e1bf4460d364c2970b69da813f9c0c07a1c187b5647636c600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161049d91906112b1565b60405180910390a150565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105b6576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006106057f0000000000000000000000000000000000000000000000000000000000000000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610b39565b9050806002600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0ecec485166da6139b13bb7e033e9446e2d35348e80ebf1180d4afe2dba1704e838260405161068a929190611365565b60405180910390a1505050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610710576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610777576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdba79d534382d1a8ae108e4c8ecb27c6ae42ab8b91d44eedf88bd329f3868d5e600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405161080991906112b1565b60405180910390a150565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088d576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600080848152602001908152602001600020819055507f49f492222906ac486c3c1401fa545626df1f0c0e5a77a05597ea2ed66af9850d82826040516108d592919061138e565b60405180910390a15050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461095a576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806109d357503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15610a0a576040517f82d5d76a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166347e7ef2484866040518363ffffffff1660e01b8152600401610a459291906112cc565b602060405180830381600087803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a979190610f3f565b508273ffffffffffffffffffffffffffffffffffffffff1663de43156e87878786866040518663ffffffff1660e01b8152600401610ad99594939291906112f5565b600060405180830381600087803b158015610af357600080fd5b505af1158015610b07573d6000803e3d6000fd5b50505050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000610b488585610cef565b91509150858282604051602001610b60929190611243565b60405160208183030381529060405280519060200120604051602001610b8792919061126f565b6040516020818303038152906040528051906020012060001c925050509392505050565b60006020528060005260406000206000915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c60576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd1b36d30f6248e97c473b4d1348ca164a4ef6759022f54a58ec200326c39c45d8282604051610ce3929190611365565b60405180910390a15050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d58576040517fcb1e7cfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610d92578284610d95565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f78b507da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b600081359050610e1a816115a1565b92915050565b600081519050610e2f816115b8565b92915050565b60008083601f840112610e4b57610e4a61150e565b5b8235905067ffffffffffffffff811115610e6857610e67611509565b5b602083019150836001820283011115610e8457610e8361151d565b5b9250929050565b600060608284031215610ea157610ea0611513565b5b81905092915050565b600081359050610eb9816115cf565b92915050565b600060208284031215610ed557610ed461152c565b5b6000610ee384828501610e0b565b91505092915050565b600080600060608486031215610f0557610f0461152c565b5b6000610f1386828701610e0b565b9350506020610f2486828701610e0b565b9250506040610f3586828701610e0b565b9150509250925092565b600060208284031215610f5557610f5461152c565b5b6000610f6384828501610e20565b91505092915050565b60008060008060008060a08789031215610f8957610f8861152c565b5b600087013567ffffffffffffffff811115610fa757610fa6611522565b5b610fb389828a01610e8b565b9650506020610fc489828a01610e0b565b9550506040610fd589828a01610eaa565b9450506060610fe689828a01610e0b565b935050608087013567ffffffffffffffff81111561100757611006611522565b5b61101389828a01610e35565b92509250509295509295509295565b6000602082840312156110385761103761152c565b5b600061104684828501610eaa565b91505092915050565b600080604083850312156110665761106561152c565b5b600061107485828601610eaa565b925050602061108585828601610e0b565b9150509250929050565b600080604083850312156110a6576110a561152c565b5b60006110b485828601610eaa565b92505060206110c585828601610eaa565b9150509250929050565b6110d881611475565b82525050565b6110e781611475565b82525050565b6110fe6110f982611475565b6114d6565b82525050565b61111561111082611493565b6114e8565b82525050565b600061112783856113b7565b93506111348385846114c7565b61113d83611531565b840190509392505050565b600061115483856113c8565b93506111618385846114c7565b61116a83611531565b840190509392505050565b60006111826020836113d9565b915061118d8261154f565b602082019050919050565b60006111a56001836113d9565b91506111b082611578565b600182019050919050565b6000606083016111ce60008401846113fb565b85830360008701526111e183828461111b565b925050506111f260208401846113e4565b6111ff60208601826110cf565b5061120d604084018461145e565b61121a6040860182611225565b508091505092915050565b61122e816114bd565b82525050565b61123d816114bd565b82525050565b600061124f82856110ed565b60148201915061125f82846110ed565b6014820191508190509392505050565b600061127a82611198565b915061128682856110ed565b6014820191506112968284611104565b6020820191506112a582611175565b91508190509392505050565b60006020820190506112c660008301846110de565b92915050565b60006040820190506112e160008301856110de565b6112ee6020830184611234565b9392505050565b6000608082019050818103600083015261130f81886111bb565b905061131e60208301876110de565b61132b6040830186611234565b818103606083015261133e818486611148565b90509695505050505050565b600060208201905061135f6000830184611234565b92915050565b600060408201905061137a6000830185611234565b61138760208301846110de565b9392505050565b60006040820190506113a36000830185611234565b6113b06020830184611234565b9392505050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006113f36020840184610e0b565b905092915050565b6000808335600160200384360303811261141857611417611527565b5b83810192508235915060208301925067ffffffffffffffff8211156114405761143f611504565b5b60018202360384131561145657611455611518565b5b509250929050565b600061146d6020840184610eaa565b905092915050565b60006114808261149d565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60006114e1826114f2565b9050919050565b6000819050919050565b60006114fd82611542565b9050919050565b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b6115aa81611475565b81146115b557600080fd5b50565b6115c181611487565b81146115cc57600080fd5b50565b6115d8816114bd565b81146115e357600080fd5b5056fea2646970667358221220d4ce96458ff64ee4f053e26fd8b557fd7f878bb640565177b81a6aa0b251c3d964736f6c6343000807003360c06040523480156200001157600080fd5b506040516200282d3803806200282d83398181016040528101906200003791906200035b565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620000b1576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8760079080519060200190620000c9929190620001d1565b508660089080519060200190620000e2929190620001d1565b5085600960006101000a81548160ff021916908360ff16021790555084608081815250508360028111156200011c576200011b620005ae565b5b60a0816002811115620001345762000133620005ae565b5b60f81b8152505082600281905550816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050620006bf565b828054620001df9062000542565b90600052602060002090601f0160209004810192826200020357600085556200024f565b82601f106200021e57805160ff19168380011785556200024f565b828001600101855582156200024f579182015b828111156200024e57825182559160200191906001019062000231565b5b5090506200025e919062000262565b5090565b5b808211156200027d57600081600090555060010162000263565b5090565b60006200029862000292846200048b565b62000462565b905082815260208101848484011115620002b757620002b662000640565b5b620002c48482856200050c565b509392505050565b600081519050620002dd8162000660565b92915050565b600081519050620002f4816200067a565b92915050565b600082601f8301126200031257620003116200063b565b5b81516200032484826020860162000281565b91505092915050565b6000815190506200033e816200068b565b92915050565b6000815190506200035581620006a5565b92915050565b600080600080600080600080610100898b0312156200037f576200037e6200064a565b5b600089015167ffffffffffffffff811115620003a0576200039f62000645565b5b620003ae8b828c01620002fa565b985050602089015167ffffffffffffffff811115620003d257620003d162000645565b5b620003e08b828c01620002fa565b9750506040620003f38b828c0162000344565b9650506060620004068b828c016200032d565b9550506080620004198b828c01620002e3565b94505060a06200042c8b828c016200032d565b93505060c06200043f8b828c01620002cc565b92505060e0620004528b828c01620002cc565b9150509295985092959890939650565b60006200046e62000481565b90506200047c828262000578565b919050565b6000604051905090565b600067ffffffffffffffff821115620004a957620004a86200060c565b5b620004b4826200064f565b9050602081019050919050565b6000620004ce82620004d5565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200052c5780820151818401526020810190506200050f565b838111156200053c576000848401525b50505050565b600060028204905060018216806200055b57607f821691505b60208210811415620005725762000571620005dd565b5b50919050565b62000583826200064f565b810181811067ffffffffffffffff82111715620005a557620005a46200060c565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6200066b81620004c1565b81146200067757600080fd5b50565b600381106200068857600080fd5b50565b6200069681620004f5565b8114620006a257600080fd5b50565b620006b081620004ff565b8114620006bc57600080fd5b50565b60805160a05160f81c612137620006f660003960006109580152600081816108a201528181610c250152610d5a01526121376000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806385e1f4d0116100c3578063d9eeebed1161007c578063d9eeebed146103cc578063dd62ed3e146103eb578063e2f535b81461041b578063eddeb12314610439578063f2441b3214610455578063f687d12a146104735761014d565b806385e1f4d0146102f657806395d89b4114610314578063a3413d0314610332578063a9059cbb14610350578063c701262614610380578063c835d7cc146103b05761014d565b8063313ce56711610115578063313ce5671461020c5780633ce4a5bc1461022a57806342966c681461024857806347e7ef24146102785780634d8943bb146102a857806370a08231146102c65761014d565b806306fdde0314610152578063091d278814610170578063095ea7b31461018e57806318160ddd146101be57806323b872dd146101dc575b600080fd5b61015a61048f565b6040516101679190611cad565b60405180910390f35b610178610521565b6040516101859190611ccf565b60405180910390f35b6101a860048036038101906101a3919061196e565b610527565b6040516101b59190611bfb565b60405180910390f35b6101c6610545565b6040516101d39190611ccf565b60405180910390f35b6101f660048036038101906101f1919061191b565b61054f565b6040516102039190611bfb565b60405180910390f35b610214610647565b6040516102219190611cea565b60405180910390f35b61023261065e565b60405161023f9190611b80565b60405180910390f35b610262600480360381019061025d9190611a37565b610676565b60405161026f9190611bfb565b60405180910390f35b610292600480360381019061028d919061196e565b61068b565b60405161029f9190611bfb565b60405180910390f35b6102b0610851565b6040516102bd9190611ccf565b60405180910390f35b6102e060048036038101906102db9190611881565b610857565b6040516102ed9190611ccf565b60405180910390f35b6102fe6108a0565b60405161030b9190611ccf565b60405180910390f35b61031c6108c4565b6040516103299190611cad565b60405180910390f35b61033a610956565b6040516103479190611c92565b60405180910390f35b61036a6004803603810190610365919061196e565b61097a565b6040516103779190611bfb565b60405180910390f35b61039a600480360381019061039591906119db565b610998565b6040516103a79190611bfb565b60405180910390f35b6103ca60048036038101906103c59190611881565b610aee565b005b6103d4610be1565b6040516103e2929190611bd2565b60405180910390f35b610405600480360381019061040091906118db565b610e4e565b6040516104129190611ccf565b60405180910390f35b610423610ed5565b6040516104309190611b80565b60405180910390f35b610453600480360381019061044e9190611a37565b610efb565b005b61045d610fb5565b60405161046a9190611b80565b60405180910390f35b61048d60048036038101906104889190611a37565b610fd9565b005b60606007805461049e90611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546104ca90611f33565b80156105175780601f106104ec57610100808354040283529160200191610517565b820191906000526020600020905b8154815290600101906020018083116104fa57829003601f168201915b5050505050905090565b60025481565b600061053b610534611093565b848461109b565b6001905092915050565b6000600654905090565b600061055c848484611254565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105a7611093565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561061e576040517f10bad14700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063b8561062a611093565b85846106369190611e43565b61109b565b60019150509392505050565b6000600960009054906101000a900460ff16905090565b73735b14bb79463307aacbed86daf3322b1e6226ab81565b600061068233836114b0565b60019050919050565b600073735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610729575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b80156107835750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b156107ba576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107c48383611668565b8273ffffffffffffffffffffffffffffffffffffffff167f67fc7bdaed5b0ec550d8706b87d60568ab70c6b781263c70101d54cd1564aab373735b14bb79463307aacbed86daf3322b1e6226ab6040516020016108219190611b65565b6040516020818303038152906040528460405161083f929190611c16565b60405180910390a26001905092915050565b60035481565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600880546108d390611f33565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff90611f33565b801561094c5780601f106109215761010080835404028352916020019161094c565b820191906000526020600020905b81548152906001019060200180831161092f57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061098e610987611093565b8484611254565b6001905092915050565b60008060006109a5610be1565b915091508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3373735b14bb79463307aacbed86daf3322b1e6226ab846040518463ffffffff1660e01b81526004016109fa93929190611b9b565b602060405180830381600087803b158015610a1457600080fd5b505af1158015610a28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4c91906119ae565b610a82576040517f0a7cd6d600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a8c33856114b0565b3373ffffffffffffffffffffffffffffffffffffffff167f9ffbffc04a397460ee1dbe8c9503e098090567d6b7f4b3c02a8617d800b6d955868684600354604051610ada9493929190611c46565b60405180910390a260019250505092915050565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b67576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd55614e962c5fd6ece71614f6348d702468a997a394dd5e5c1677950226d97ae81604051610bd69190611b80565b60405180910390a150565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630be155477f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610c609190611ccf565b60206040518083038186803b158015610c7857600080fd5b505afa158015610c8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb091906118ae565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d19576040517f78fff39600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d7fd7afb7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610d959190611ccf565b60206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de59190611a64565b90506000811415610e22576040517fe661aed000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060035460025483610e359190611de9565b610e3f9190611d93565b90508281945094505050509091565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806003819055507fef13af88e424b5d15f49c77758542c1938b08b8b95b91ed0751f98ba99000d8f81604051610faa9190611ccf565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73735b14bb79463307aacbed86daf3322b1e6226ab73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611052576040517f2b2add3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806002819055507fff5788270f43bfc1ca41c503606d2594aa3023a1a7547de403a3e2f146a4a80a816040516110889190611ccf565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611102576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611169576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112479190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112bb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611322576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156113a0576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816113ac9190611e43565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461143e9190611d93565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114a29190611ccf565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611517576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611595576040517ffe382aa700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81816115a19190611e43565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600660008282546115f69190611e43565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161165b9190611ccf565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116cf576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600660008282546116e19190611d93565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117379190611d93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161179c9190611ccf565b60405180910390a35050565b60006117bb6117b684611d2a565b611d05565b9050828152602081018484840111156117d7576117d661207b565b5b6117e2848285611ef1565b509392505050565b6000813590506117f9816120bc565b92915050565b60008151905061180e816120bc565b92915050565b600081519050611823816120d3565b92915050565b600082601f83011261183e5761183d612076565b5b813561184e8482602086016117a8565b91505092915050565b600081359050611866816120ea565b92915050565b60008151905061187b816120ea565b92915050565b60006020828403121561189757611896612085565b5b60006118a5848285016117ea565b91505092915050565b6000602082840312156118c4576118c3612085565b5b60006118d2848285016117ff565b91505092915050565b600080604083850312156118f2576118f1612085565b5b6000611900858286016117ea565b9250506020611911858286016117ea565b9150509250929050565b60008060006060848603121561193457611933612085565b5b6000611942868287016117ea565b9350506020611953868287016117ea565b925050604061196486828701611857565b9150509250925092565b6000806040838503121561198557611984612085565b5b6000611993858286016117ea565b92505060206119a485828601611857565b9150509250929050565b6000602082840312156119c4576119c3612085565b5b60006119d284828501611814565b91505092915050565b600080604083850312156119f2576119f1612085565b5b600083013567ffffffffffffffff811115611a1057611a0f612080565b5b611a1c85828601611829565b9250506020611a2d85828601611857565b9150509250929050565b600060208284031215611a4d57611a4c612085565b5b6000611a5b84828501611857565b91505092915050565b600060208284031215611a7a57611a79612085565b5b6000611a888482850161186c565b91505092915050565b611a9a81611e77565b82525050565b611ab1611aac82611e77565b611f96565b82525050565b611ac081611e89565b82525050565b6000611ad182611d5b565b611adb8185611d71565b9350611aeb818560208601611f00565b611af48161208a565b840191505092915050565b611b0881611edf565b82525050565b6000611b1982611d66565b611b238185611d82565b9350611b33818560208601611f00565b611b3c8161208a565b840191505092915050565b611b5081611ec8565b82525050565b611b5f81611ed2565b82525050565b6000611b718284611aa0565b60148201915081905092915050565b6000602082019050611b956000830184611a91565b92915050565b6000606082019050611bb06000830186611a91565b611bbd6020830185611a91565b611bca6040830184611b47565b949350505050565b6000604082019050611be76000830185611a91565b611bf46020830184611b47565b9392505050565b6000602082019050611c106000830184611ab7565b92915050565b60006040820190508181036000830152611c308185611ac6565b9050611c3f6020830184611b47565b9392505050565b60006080820190508181036000830152611c608187611ac6565b9050611c6f6020830186611b47565b611c7c6040830185611b47565b611c896060830184611b47565b95945050505050565b6000602082019050611ca76000830184611aff565b92915050565b60006020820190508181036000830152611cc78184611b0e565b905092915050565b6000602082019050611ce46000830184611b47565b92915050565b6000602082019050611cff6000830184611b56565b92915050565b6000611d0f611d20565b9050611d1b8282611f65565b919050565b6000604051905090565b600067ffffffffffffffff821115611d4557611d44612047565b5b611d4e8261208a565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000611d9e82611ec8565b9150611da983611ec8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611dde57611ddd611fba565b5b828201905092915050565b6000611df482611ec8565b9150611dff83611ec8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611e3857611e37611fba565b5b828202905092915050565b6000611e4e82611ec8565b9150611e5983611ec8565b925082821015611e6c57611e6b611fba565b5b828203905092915050565b6000611e8282611ea8565b9050919050565b60008115159050919050565b6000819050611ea3826120a8565b919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000611eea82611e95565b9050919050565b82818337600083830152505050565b60005b83811015611f1e578082015181840152602081019050611f03565b83811115611f2d576000848401525b50505050565b60006002820490506001821680611f4b57607f821691505b60208210811415611f5f57611f5e612018565b5b50919050565b611f6e8261208a565b810181811067ffffffffffffffff82111715611f8d57611f8c612047565b5b80604052505050565b6000611fa182611fa8565b9050919050565b6000611fb38261209b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b600381106120b9576120b8611fe9565b5b50565b6120c581611e77565b81146120d057600080fd5b50565b6120dc81611e89565b81146120e757600080fd5b50565b6120f381611ec8565b81146120fe57600080fd5b5056fea26469706673582212206982505c1a546edfb86a1aaaca0ad6b7e5542f2d1f24ac30a032805fc80a650e64736f6c63430008070033a26469706673582212206788f7df595f155b554c8aa4aed64d329373738cae05614df5d86307d5eeda1a64736f6c63430008070033"; + +type GatewayZEVMOutboundTestConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GatewayZEVMOutboundTestConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GatewayZEVMOutboundTest__factory extends ContractFactory { + constructor(...args: GatewayZEVMOutboundTestConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override deploy( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise { + return super.deploy(overrides || {}) as Promise; + } + override getDeployTransaction( + overrides?: Overrides & { from?: PromiseOrValue } + ): TransactionRequest { + return super.getDeployTransaction(overrides || {}); + } + override attach(address: string): GatewayZEVMOutboundTest { + return super.attach(address) as GatewayZEVMOutboundTest; + } + override connect(signer: Signer): GatewayZEVMOutboundTest__factory { + return super.connect(signer) as GatewayZEVMOutboundTest__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GatewayZEVMOutboundTestInterface { + return new utils.Interface(_abi) as GatewayZEVMOutboundTestInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): GatewayZEVMOutboundTest { + return new Contract( + address, + _abi, + signerOrProvider + ) as GatewayZEVMOutboundTest; + } +} diff --git a/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts b/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts new file mode 100644 index 00000000..4539323d --- /dev/null +++ b/typechain-types/factories/contracts/prototypes/test/GatewayZEVM.t.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { GatewayZEVMInboundTest__factory } from "./GatewayZEVMInboundTest__factory"; +export { GatewayZEVMOutboundTest__factory } from "./GatewayZEVMOutboundTest__factory"; diff --git a/typechain-types/factories/contracts/prototypes/test/index.ts b/typechain-types/factories/contracts/prototypes/test/index.ts index f9fd3f38..1bdb30ca 100644 --- a/typechain-types/factories/contracts/prototypes/test/index.ts +++ b/typechain-types/factories/contracts/prototypes/test/index.ts @@ -3,3 +3,4 @@ /* eslint-disable */ export * as gatewayEvmTSol from "./GatewayEVM.t.sol"; export * as gatewayEvmzevmTSol from "./GatewayEVMZEVM.t.sol"; +export * as gatewayZevmTSol from "./GatewayZEVM.t.sol"; diff --git a/typechain-types/factories/index.ts b/typechain-types/factories/index.ts index 187b6345..3eb87854 100644 --- a/typechain-types/factories/index.ts +++ b/typechain-types/factories/index.ts @@ -4,4 +4,3 @@ export * as openzeppelin from "./@openzeppelin"; export * as uniswap from "./@uniswap"; export * as contracts from "./contracts"; -export * as forgeStd from "./forge-std"; diff --git a/typechain-types/hardhat.d.ts b/typechain-types/hardhat.d.ts index 16dbcf6f..304fba02 100644 --- a/typechain-types/hardhat.d.ts +++ b/typechain-types/hardhat.d.ts @@ -368,14 +368,6 @@ declare module "hardhat/types/runtime" { name: "TestERC20", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "GatewayEVMTest", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "GatewayEVMZEVMTest", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "GatewayZEVM", signerOrOptions?: ethers.Signer | FactoryOptions @@ -476,70 +468,6 @@ declare module "hardhat/types/runtime" { name: "ZRC20New", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "IERC165", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC20", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC721", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC721Enumerable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC721Metadata", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC721TokenReceiver", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IMulticall3", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "MockERC20", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "MockERC721", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "StdAssertions", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "StdError", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "StdInvariant", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "StdStorageSafe", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "Test", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "Vm", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "VmSafe", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractAt( name: "OwnableUpgradeable", @@ -986,16 +914,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "GatewayEVMTest", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "GatewayEVMZEVMTest", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "GatewayZEVM", address: string, @@ -1121,86 +1039,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "IERC165", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC20", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC721", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC721Enumerable", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC721Metadata", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC721TokenReceiver", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IMulticall3", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "MockERC20", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "MockERC721", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "StdAssertions", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "StdError", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "StdInvariant", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "StdStorageSafe", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "Test", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "Vm", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "VmSafe", - address: string, - signer?: ethers.Signer - ): Promise; // default types getContractFactory( diff --git a/typechain-types/index.ts b/typechain-types/index.ts index eca804b4..48c348e9 100644 --- a/typechain-types/index.ts +++ b/typechain-types/index.ts @@ -7,8 +7,6 @@ import type * as uniswap from "./@uniswap"; export type { uniswap }; import type * as contracts from "./contracts"; export type { contracts }; -import type * as forgeStd from "./forge-std"; -export type { forgeStd }; export * as factories from "./factories"; export type { OwnableUpgradeable } from "./@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable"; export { OwnableUpgradeable__factory } from "./factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory"; @@ -176,10 +174,6 @@ export type { ReceiverEVM } from "./contracts/prototypes/evm/ReceiverEVM"; export { ReceiverEVM__factory } from "./factories/contracts/prototypes/evm/ReceiverEVM__factory"; export type { TestERC20 } from "./contracts/prototypes/evm/TestERC20"; export { TestERC20__factory } from "./factories/contracts/prototypes/evm/TestERC20__factory"; -export type { GatewayEVMTest } from "./contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest"; -export { GatewayEVMTest__factory } from "./factories/contracts/prototypes/test/GatewayEVM.t.sol/GatewayEVMTest__factory"; -export type { GatewayEVMZEVMTest } from "./contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest"; -export { GatewayEVMZEVMTest__factory } from "./factories/contracts/prototypes/test/GatewayEVMZEVM.t.sol/GatewayEVMZEVMTest__factory"; export type { GatewayZEVM } from "./contracts/prototypes/zevm/GatewayZEVM"; export { GatewayZEVM__factory } from "./factories/contracts/prototypes/zevm/GatewayZEVM__factory"; export type { IGatewayZEVM } from "./contracts/prototypes/zevm/interfaces.sol/IGatewayZEVM"; @@ -218,33 +212,3 @@ export type { ZRC20Errors } from "./contracts/zevm/ZRC20.sol/ZRC20Errors"; export { ZRC20Errors__factory } from "./factories/contracts/zevm/ZRC20.sol/ZRC20Errors__factory"; export type { ZRC20New } from "./contracts/zevm/ZRC20New.sol/ZRC20New"; export { ZRC20New__factory } from "./factories/contracts/zevm/ZRC20New.sol/ZRC20New__factory"; -export type { IERC165 } from "./forge-std/interfaces/IERC165"; -export { IERC165__factory } from "./factories/forge-std/interfaces/IERC165__factory"; -export type { IERC721 } from "./forge-std/interfaces/IERC721.sol/IERC721"; -export { IERC721__factory } from "./factories/forge-std/interfaces/IERC721.sol/IERC721__factory"; -export type { IERC721Enumerable } from "./forge-std/interfaces/IERC721.sol/IERC721Enumerable"; -export { IERC721Enumerable__factory } from "./factories/forge-std/interfaces/IERC721.sol/IERC721Enumerable__factory"; -export type { IERC721Metadata } from "./forge-std/interfaces/IERC721.sol/IERC721Metadata"; -export { IERC721Metadata__factory } from "./factories/forge-std/interfaces/IERC721.sol/IERC721Metadata__factory"; -export type { IERC721TokenReceiver } from "./forge-std/interfaces/IERC721.sol/IERC721TokenReceiver"; -export { IERC721TokenReceiver__factory } from "./factories/forge-std/interfaces/IERC721.sol/IERC721TokenReceiver__factory"; -export type { IMulticall3 } from "./forge-std/interfaces/IMulticall3"; -export { IMulticall3__factory } from "./factories/forge-std/interfaces/IMulticall3__factory"; -export type { MockERC20 } from "./forge-std/mocks/MockERC20"; -export { MockERC20__factory } from "./factories/forge-std/mocks/MockERC20__factory"; -export type { MockERC721 } from "./forge-std/mocks/MockERC721"; -export { MockERC721__factory } from "./factories/forge-std/mocks/MockERC721__factory"; -export type { StdAssertions } from "./forge-std/StdAssertions"; -export { StdAssertions__factory } from "./factories/forge-std/StdAssertions__factory"; -export type { StdError } from "./forge-std/StdError.sol/StdError"; -export { StdError__factory } from "./factories/forge-std/StdError.sol/StdError__factory"; -export type { StdInvariant } from "./forge-std/StdInvariant"; -export { StdInvariant__factory } from "./factories/forge-std/StdInvariant__factory"; -export type { StdStorageSafe } from "./forge-std/StdStorage.sol/StdStorageSafe"; -export { StdStorageSafe__factory } from "./factories/forge-std/StdStorage.sol/StdStorageSafe__factory"; -export type { Test } from "./forge-std/Test"; -export { Test__factory } from "./factories/forge-std/Test__factory"; -export type { Vm } from "./forge-std/Vm.sol/Vm"; -export { Vm__factory } from "./factories/forge-std/Vm.sol/Vm__factory"; -export type { VmSafe } from "./forge-std/Vm.sol/VmSafe"; -export { VmSafe__factory } from "./factories/forge-std/Vm.sol/VmSafe__factory"; diff --git a/yarn.lock b/yarn.lock index f8e6a1a5..f667c550 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3499,6 +3499,13 @@ create-require@^1.1.0: resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== +cross-env@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" + integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== + dependencies: + cross-spawn "^7.0.1" + cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz" @@ -3508,7 +3515,7 @@ cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: +cross-spawn@^7.0.1, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==