From a12b88bb850b0218362ccb15ec2bd0acda20ab1e Mon Sep 17 00:00:00 2001 From: Denis Fadeev Date: Fri, 13 Sep 2024 13:39:05 +0800 Subject: [PATCH] deps --- contracts/EthZetaMock.sol | 2 +- contracts/shared/libraries/SafeMath.sol | 28 +-- package.json | 3 +- .../@openzeppelin/contracts/index.ts | 2 + .../contracts/token/ERC20/ERC20.ts | 110 ++-------- .../contracts/token/ERC20/IERC20.ts | 30 +-- .../token/ERC20/extensions/IERC20Metadata.ts | 30 +-- .../contracts/EthZetaMock.sol/ZetaEthMock.ts | 110 ++-------- typechain-types/contracts/TestZRC20.ts | 110 ++-------- typechain-types/contracts/shared/MockZRC20.ts | 110 ++-------- .../@openzeppelin/contracts/index.ts | 1 + .../contracts/token/ERC20/ERC20__factory.ts | 189 ++++++++---------- .../contracts/token/ERC20/IERC20__factory.ts | 6 +- .../extensions/IERC20Metadata__factory.ts | 6 +- .../EthZetaMock.sol/ZetaEthMock__factory.ts | 142 ++++++++----- .../contracts/SwapHelperLib__factory.ts | 2 +- .../factories/contracts/TestZRC20__factory.ts | 142 ++++++++----- .../contracts/shared/MockZRC20__factory.ts | 142 ++++++++----- .../shared/TestUniswapRouter__factory.ts | 2 +- .../libraries/SafeMath.sol/Math__factory.ts | 2 +- .../libraries/UniswapV2Library__factory.ts | 2 +- typechain-types/hardhat.d.ts | 27 +++ typechain-types/index.ts | 6 + yarn.lock | 13 +- 24 files changed, 518 insertions(+), 699 deletions(-) diff --git a/contracts/EthZetaMock.sol b/contracts/EthZetaMock.sol index 7840a5ea..fecd06e0 100644 --- a/contracts/EthZetaMock.sol +++ b/contracts/EthZetaMock.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity 0.8.7; +pragma solidity 0.8.26; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/shared/libraries/SafeMath.sol b/contracts/shared/libraries/SafeMath.sol index 33cb7970..318f2a5b 100644 --- a/contracts/shared/libraries/SafeMath.sol +++ b/contracts/shared/libraries/SafeMath.sol @@ -1,30 +1,32 @@ // SPDX-License-Identifier: MIT pragma solidity 0.8.26; -import "@openzeppelin/contracts/utils/math/SafeMath.sol"; - library Math { - using SafeMath for uint256; - error AdditionsOverflow(); error SubtractionsUnderflow(); error MultiplicationsOverflow(); function add(uint256 x, uint256 y) internal pure returns (uint256 z) { - bool success; - (success, z) = x.tryAdd(y); - if (!success) revert AdditionsOverflow(); + unchecked { + z = x + y; + if (z < x) revert AdditionsOverflow(); + } } function sub(uint256 x, uint256 y) internal pure returns (uint256 z) { - bool success; - (success, z) = x.trySub(y); - if (!success) revert SubtractionsUnderflow(); + unchecked { + if (y > x) revert SubtractionsUnderflow(); + z = x - y; + } } function mul(uint256 x, uint256 y) internal pure returns (uint256 z) { - bool success; - (success, z) = x.tryMul(y); - if (!success) revert MultiplicationsOverflow(); + unchecked { + if (x == 0 || (z = x * y) / x == y) { + return z; + } else { + revert MultiplicationsOverflow(); + } + } } } diff --git a/package.json b/package.json index 8e840359..2fc1c305 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,8 @@ "@inquirer/prompts": "^2.1.1", "@inquirer/select": "1.1.3", "@nomiclabs/hardhat-ethers": "^2.2.3", - "@openzeppelin/contracts": "^4.9.6", + "@openzeppelin/contracts": "^5.0.2", + "@openzeppelin/contracts-upgradeable": "^5.0.2", "@solana/web3.js": "^1.95.3", "@uniswap/v2-periphery": "^1.1.0-beta.0", "@zetachain/faucet-cli": "^4.1.1", diff --git a/typechain-types/@openzeppelin/contracts/index.ts b/typechain-types/@openzeppelin/contracts/index.ts index c2d4e462..b248dd25 100644 --- a/typechain-types/@openzeppelin/contracts/index.ts +++ b/typechain-types/@openzeppelin/contracts/index.ts @@ -1,5 +1,7 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; import type * as token from "./token"; export type { token }; diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts index 682e3cfd..74ffff9b 100644 --- a/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts @@ -33,8 +33,6 @@ export interface ERC20Interface extends utils.Interface { "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; "name()": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; @@ -48,8 +46,6 @@ export interface ERC20Interface extends utils.Interface { | "approve" | "balanceOf" | "decimals" - | "decreaseAllowance" - | "increaseAllowance" | "name" | "symbol" | "totalSupply" @@ -70,14 +66,6 @@ export interface ERC20Interface extends utils.Interface { values: [PromiseOrValue] ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( @@ -101,14 +89,6 @@ export interface ERC20Interface extends utils.Interface { decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult( @@ -189,7 +169,7 @@ export interface ERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -200,18 +180,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise<[number]>; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise<[string]>; symbol(overrides?: CallOverrides): Promise<[string]>; @@ -220,14 +188,14 @@ export interface ERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -240,7 +208,7 @@ export interface ERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -251,18 +219,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -271,14 +227,14 @@ export interface ERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -291,7 +247,7 @@ export interface ERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -302,18 +258,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -322,14 +266,14 @@ export interface ERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -367,7 +311,7 @@ export interface ERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -378,18 +322,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -398,14 +330,14 @@ export interface ERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -419,7 +351,7 @@ export interface ERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -430,18 +362,6 @@ export interface ERC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -450,14 +370,14 @@ export interface ERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts index e99e80b8..2057fc6a 100644 --- a/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts @@ -157,7 +157,7 @@ export interface IERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -170,14 +170,14 @@ export interface IERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -190,7 +190,7 @@ export interface IERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -203,14 +203,14 @@ export interface IERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -223,7 +223,7 @@ export interface IERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -236,14 +236,14 @@ export interface IERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -281,7 +281,7 @@ export interface IERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -294,14 +294,14 @@ export interface IERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -315,7 +315,7 @@ export interface IERC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -328,14 +328,14 @@ export interface IERC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts index 7a94b724..5dfaa60a 100644 --- a/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts @@ -169,7 +169,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -188,14 +188,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -208,7 +208,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -227,14 +227,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -247,7 +247,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -266,14 +266,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -311,7 +311,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -330,14 +330,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -351,7 +351,7 @@ export interface IERC20Metadata extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -370,14 +370,14 @@ export interface IERC20Metadata extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/EthZetaMock.sol/ZetaEthMock.ts b/typechain-types/contracts/EthZetaMock.sol/ZetaEthMock.ts index 0fcf505d..30c78b96 100644 --- a/typechain-types/contracts/EthZetaMock.sol/ZetaEthMock.ts +++ b/typechain-types/contracts/EthZetaMock.sol/ZetaEthMock.ts @@ -33,8 +33,6 @@ export interface ZetaEthMockInterface extends utils.Interface { "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; "name()": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; @@ -48,8 +46,6 @@ export interface ZetaEthMockInterface extends utils.Interface { | "approve" | "balanceOf" | "decimals" - | "decreaseAllowance" - | "increaseAllowance" | "name" | "symbol" | "totalSupply" @@ -70,14 +66,6 @@ export interface ZetaEthMockInterface extends utils.Interface { values: [PromiseOrValue] ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( @@ -101,14 +89,6 @@ export interface ZetaEthMockInterface extends utils.Interface { decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult( @@ -189,7 +169,7 @@ export interface ZetaEthMock extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -200,18 +180,6 @@ export interface ZetaEthMock extends BaseContract { decimals(overrides?: CallOverrides): Promise<[number]>; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise<[string]>; symbol(overrides?: CallOverrides): Promise<[string]>; @@ -220,14 +188,14 @@ export interface ZetaEthMock extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -240,7 +208,7 @@ export interface ZetaEthMock extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -251,18 +219,6 @@ export interface ZetaEthMock extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -271,14 +227,14 @@ export interface ZetaEthMock extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -291,7 +247,7 @@ export interface ZetaEthMock extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -302,18 +258,6 @@ export interface ZetaEthMock extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -322,14 +266,14 @@ export interface ZetaEthMock extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -367,7 +311,7 @@ export interface ZetaEthMock extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -378,18 +322,6 @@ export interface ZetaEthMock extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -398,14 +330,14 @@ export interface ZetaEthMock extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -419,7 +351,7 @@ export interface ZetaEthMock extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -430,18 +362,6 @@ export interface ZetaEthMock extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -450,14 +370,14 @@ export interface ZetaEthMock extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/TestZRC20.ts b/typechain-types/contracts/TestZRC20.ts index 59949bac..0431e979 100644 --- a/typechain-types/contracts/TestZRC20.ts +++ b/typechain-types/contracts/TestZRC20.ts @@ -34,9 +34,7 @@ export interface TestZRC20Interface extends utils.Interface { "balanceOf(address)": FunctionFragment; "bytesToAddress(bytes,uint256,uint256)": FunctionFragment; "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; "deposit(address,uint256)": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; "name()": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; @@ -53,9 +51,7 @@ export interface TestZRC20Interface extends utils.Interface { | "balanceOf" | "bytesToAddress" | "decimals" - | "decreaseAllowance" | "deposit" - | "increaseAllowance" | "name" | "symbol" | "totalSupply" @@ -86,18 +82,10 @@ export interface TestZRC20Interface extends utils.Interface { ] ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "deposit", values: [PromiseOrValue, PromiseOrValue] ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( @@ -133,15 +121,7 @@ export interface TestZRC20Interface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult( @@ -227,7 +207,7 @@ export interface TestZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -245,24 +225,12 @@ export interface TestZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise<[number]>; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise<[string]>; symbol(overrides?: CallOverrides): Promise<[string]>; @@ -271,14 +239,14 @@ export interface TestZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -299,7 +267,7 @@ export interface TestZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -317,24 +285,12 @@ export interface TestZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -343,14 +299,14 @@ export interface TestZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -371,7 +327,7 @@ export interface TestZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -389,24 +345,12 @@ export interface TestZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides ): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -415,14 +359,14 @@ export interface TestZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -468,7 +412,7 @@ export interface TestZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -486,24 +430,12 @@ export interface TestZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -512,14 +444,14 @@ export interface TestZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -541,7 +473,7 @@ export interface TestZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -559,24 +491,12 @@ export interface TestZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; @@ -585,14 +505,14 @@ export interface TestZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/shared/MockZRC20.ts b/typechain-types/contracts/shared/MockZRC20.ts index b1392243..4272829d 100644 --- a/typechain-types/contracts/shared/MockZRC20.ts +++ b/typechain-types/contracts/shared/MockZRC20.ts @@ -34,11 +34,9 @@ export interface MockZRC20Interface extends utils.Interface { "balanceOf(address)": FunctionFragment; "bytesToAddress(bytes,uint256,uint256)": FunctionFragment; "decimals()": FunctionFragment; - "decreaseAllowance(address,uint256)": FunctionFragment; "deposit(address,uint256)": FunctionFragment; "gasFee()": FunctionFragment; "gasFeeAddress()": FunctionFragment; - "increaseAllowance(address,uint256)": FunctionFragment; "name()": FunctionFragment; "setGasFee(uint256)": FunctionFragment; "setGasFeeAddress(address)": FunctionFragment; @@ -57,11 +55,9 @@ export interface MockZRC20Interface extends utils.Interface { | "balanceOf" | "bytesToAddress" | "decimals" - | "decreaseAllowance" | "deposit" | "gasFee" | "gasFeeAddress" - | "increaseAllowance" | "name" | "setGasFee" | "setGasFeeAddress" @@ -94,10 +90,6 @@ export interface MockZRC20Interface extends utils.Interface { ] ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; - encodeFunctionData( - functionFragment: "decreaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "deposit", values: [PromiseOrValue, PromiseOrValue] @@ -107,10 +99,6 @@ export interface MockZRC20Interface extends utils.Interface { functionFragment: "gasFeeAddress", values?: undefined ): string; - encodeFunctionData( - functionFragment: "increaseAllowance", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData( functionFragment: "setGasFee", @@ -154,20 +142,12 @@ export interface MockZRC20Interface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "decreaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "gasFee", data: BytesLike): Result; decodeFunctionResult( functionFragment: "gasFeeAddress", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "increaseAllowance", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setGasFee", data: BytesLike): Result; decodeFunctionResult( @@ -274,7 +254,7 @@ export interface MockZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -292,12 +272,6 @@ export interface MockZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise<[number]>; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, @@ -308,12 +282,6 @@ export interface MockZRC20 extends BaseContract { gasFeeAddress(overrides?: CallOverrides): Promise<[string]>; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise<[string]>; setGasFee( @@ -332,14 +300,14 @@ export interface MockZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -360,7 +328,7 @@ export interface MockZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -378,12 +346,6 @@ export interface MockZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, @@ -394,12 +356,6 @@ export interface MockZRC20 extends BaseContract { gasFeeAddress(overrides?: CallOverrides): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; setGasFee( @@ -418,14 +374,14 @@ export interface MockZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -446,7 +402,7 @@ export interface MockZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -464,12 +420,6 @@ export interface MockZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, @@ -480,12 +430,6 @@ export interface MockZRC20 extends BaseContract { gasFeeAddress(overrides?: CallOverrides): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - name(overrides?: CallOverrides): Promise; setGasFee( @@ -504,14 +448,14 @@ export interface MockZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -572,7 +516,7 @@ export interface MockZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -590,12 +534,6 @@ export interface MockZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, @@ -606,12 +544,6 @@ export interface MockZRC20 extends BaseContract { gasFeeAddress(overrides?: CallOverrides): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; setGasFee( @@ -630,14 +562,14 @@ export interface MockZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -659,7 +591,7 @@ export interface MockZRC20 extends BaseContract { approve( spender: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -677,12 +609,6 @@ export interface MockZRC20 extends BaseContract { decimals(overrides?: CallOverrides): Promise; - decreaseAllowance( - spender: PromiseOrValue, - subtractedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - deposit( to: PromiseOrValue, amount: PromiseOrValue, @@ -693,12 +619,6 @@ export interface MockZRC20 extends BaseContract { gasFeeAddress(overrides?: CallOverrides): Promise; - increaseAllowance( - spender: PromiseOrValue, - addedValue: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - name(overrides?: CallOverrides): Promise; setGasFee( @@ -717,14 +637,14 @@ export interface MockZRC20 extends BaseContract { transfer( to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, - amount: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/factories/@openzeppelin/contracts/index.ts b/typechain-types/factories/@openzeppelin/contracts/index.ts index a9780efc..074241cc 100644 --- a/typechain-types/factories/@openzeppelin/contracts/index.ts +++ b/typechain-types/factories/@openzeppelin/contracts/index.ts @@ -1,4 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ +export * as interfaces from "./interfaces"; export * as token from "./token"; diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts index 5b02ab32..a7ef16c0 100644 --- a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts @@ -1,9 +1,9 @@ /* 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 { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; import type { ERC20, ERC20Interface, @@ -13,18 +13,88 @@ const _abi = [ { inputs: [ { - internalType: "string", - name: "name_", - type: "string", + internalType: "address", + name: "spender", + type: "address", }, { - internalType: "string", - name: "symbol_", - type: "string", + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", }, ], - stateMutability: "nonpayable", - type: "constructor", + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", }, { anonymous: false, @@ -109,7 +179,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -156,54 +226,6 @@ const _abi = [ 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: [], name: "name", @@ -252,7 +274,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -281,7 +303,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -298,48 +320,7 @@ const _abi = [ }, ] as const; -const _bytecode = - "0x608060405234801561001057600080fd5b50604051611777380380611777833981810160405281019061003291906101ce565b81600390816100419190610467565b5080600490816100519190610467565b505050610539565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6100c082610077565b810181811067ffffffffffffffff821117156100df576100de610088565b5b80604052505050565b60006100f2610059565b90506100fe82826100b7565b919050565b600067ffffffffffffffff82111561011e5761011d610088565b5b61012782610077565b9050602081019050919050565b60005b83811015610152578082015181840152602081019050610137565b60008484015250505050565b600061017161016c84610103565b6100e8565b90508281526020810184848401111561018d5761018c610072565b5b610198848285610134565b509392505050565b600082601f8301126101b5576101b461006d565b5b81516101c584826020860161015e565b91505092915050565b600080604083850312156101e5576101e4610063565b5b600083015167ffffffffffffffff81111561020357610202610068565b5b61020f858286016101a0565b925050602083015167ffffffffffffffff8111156102305761022f610068565b5b61023c858286016101a0565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061029857607f821691505b6020821081036102ab576102aa610251565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026103137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102d6565b61031d86836102d6565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061036461035f61035a84610335565b61033f565b610335565b9050919050565b6000819050919050565b61037e83610349565b61039261038a8261036b565b8484546102e3565b825550505050565b600090565b6103a761039a565b6103b2818484610375565b505050565b5b818110156103d6576103cb60008261039f565b6001810190506103b8565b5050565b601f82111561041b576103ec816102b1565b6103f5846102c6565b81016020851015610404578190505b610418610410856102c6565b8301826103b7565b50505b505050565b600082821c905092915050565b600061043e60001984600802610420565b1980831691505092915050565b6000610457838361042d565b9150826002028217905092915050565b61047082610246565b67ffffffffffffffff81111561048957610488610088565b5b6104938254610280565b61049e8282856103da565b600060209050601f8311600181146104d157600084156104bf578287015190505b6104c9858261044b565b865550610531565b601f1984166104df866102b1565b60005b82811015610507578489015182556001820191506020850194506020810190506104e2565b868310156105245784890151610520601f89168261042d565b8355505b6001600288020188555050505b505050505050565b61122f806105486000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b0c565b60405180910390f35b6100e660048036038101906100e19190610bc7565b610308565b6040516100f39190610c22565b60405180910390f35b61010461032b565b6040516101119190610c4c565b60405180910390f35b610134600480360381019061012f9190610c67565b610335565b6040516101419190610c22565b60405180910390f35b610152610364565b60405161015f9190610cd6565b60405180910390f35b610182600480360381019061017d9190610bc7565b61036d565b60405161018f9190610c22565b60405180910390f35b6101b260048036038101906101ad9190610cf1565b6103a4565b6040516101bf9190610c4c565b60405180910390f35b6101d06103ec565b6040516101dd9190610b0c565b60405180910390f35b61020060048036038101906101fb9190610bc7565b61047e565b60405161020d9190610c22565b60405180910390f35b610230600480360381019061022b9190610bc7565b6104f5565b60405161023d9190610c22565b60405180910390f35b610260600480360381019061025b9190610d1e565b610518565b60405161026d9190610c4c565b60405180910390f35b60606003805461028590610d8d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d8d565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610ded565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d8d565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d8d565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e93565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fb7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c4c565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611023565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611147565b60405180910390fd5b6108e5838383610a72565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111d9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c4c565b60405180910390a3610a6c848484610a77565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ab6578082015181840152602081019050610a9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ade82610a7c565b610ae88185610a87565b9350610af8818560208601610a98565b610b0181610ac2565b840191505092915050565b60006020820190508181036000830152610b268184610ad3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5e82610b33565b9050919050565b610b6e81610b53565b8114610b7957600080fd5b50565b600081359050610b8b81610b65565b92915050565b6000819050919050565b610ba481610b91565b8114610baf57600080fd5b50565b600081359050610bc181610b9b565b92915050565b60008060408385031215610bde57610bdd610b2e565b5b6000610bec85828601610b7c565b9250506020610bfd85828601610bb2565b9150509250929050565b60008115159050919050565b610c1c81610c07565b82525050565b6000602082019050610c376000830184610c13565b92915050565b610c4681610b91565b82525050565b6000602082019050610c616000830184610c3d565b92915050565b600080600060608486031215610c8057610c7f610b2e565b5b6000610c8e86828701610b7c565b9350506020610c9f86828701610b7c565b9250506040610cb086828701610bb2565b9150509250925092565b600060ff82169050919050565b610cd081610cba565b82525050565b6000602082019050610ceb6000830184610cc7565b92915050565b600060208284031215610d0757610d06610b2e565b5b6000610d1584828501610b7c565b91505092915050565b60008060408385031215610d3557610d34610b2e565b5b6000610d4385828601610b7c565b9250506020610d5485828601610b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610da557607f821691505b602082108103610db857610db7610d5e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df882610b91565b9150610e0383610b91565b9250828201905080821115610e1b57610e1a610dbe565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e7d602583610a87565b9150610e8882610e21565b604082019050919050565b60006020820190508181036000830152610eac81610e70565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f0f602483610a87565b9150610f1a82610eb3565b604082019050919050565b60006020820190508181036000830152610f3e81610f02565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fa1602283610a87565b9150610fac82610f45565b604082019050919050565b60006020820190508181036000830152610fd081610f94565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061100d601d83610a87565b915061101882610fd7565b602082019050919050565b6000602082019050818103600083015261103c81611000565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061109f602583610a87565b91506110aa82611043565b604082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611131602383610a87565b915061113c826110d5565b604082019050919050565b6000602082019050818103600083015261116081611124565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111c3602683610a87565b91506111ce82611167565b604082019050919050565b600060208201905081810360008301526111f2816111b6565b905091905056fea2646970667358221220c02b2a39acab76859bade0cecf97bf76856a692f704aac354de5a91a556a12b864736f6c634300081a0033"; - -type ERC20ConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: ERC20ConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class ERC20__factory extends ContractFactory { - constructor(...args: ERC20ConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - name_: PromiseOrValue, - symbol_: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(name_, symbol_, overrides || {}) as Promise; - } - override getDeployTransaction( - name_: PromiseOrValue, - symbol_: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(name_, symbol_, overrides || {}); - } - override attach(address: string): ERC20 { - return super.attach(address) as ERC20; - } - override connect(signer: Signer): ERC20__factory { - return super.connect(signer) as ERC20__factory; - } - - static readonly bytecode = _bytecode; +export class ERC20__factory { static readonly abi = _abi; static createInterface(): ERC20Interface { return new utils.Interface(_abi) as ERC20Interface; diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts index cd7fa8f3..2852323a 100644 --- a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts @@ -93,7 +93,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -149,7 +149,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -178,7 +178,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts index 47c292bf..12eebd22 100644 --- a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts @@ -93,7 +93,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -188,7 +188,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -217,7 +217,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/EthZetaMock.sol/ZetaEthMock__factory.ts b/typechain-types/factories/contracts/EthZetaMock.sol/ZetaEthMock__factory.ts index 3d026981..c014cfc4 100644 --- a/typechain-types/factories/contracts/EthZetaMock.sol/ZetaEthMock__factory.ts +++ b/typechain-types/factories/contracts/EthZetaMock.sol/ZetaEthMock__factory.ts @@ -33,6 +33,92 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, { anonymous: false, inputs: [ @@ -116,7 +202,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -163,54 +249,6 @@ const _abi = [ 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: [], name: "name", @@ -259,7 +297,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -288,7 +326,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -306,7 +344,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60806040523480156200001157600080fd5b5060405162001a5238038062001a5283398181016040528101906200003791906200037d565b6040518060400160405280600481526020017f5a657461000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5a455441000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb9291906200029f565b508060049080519060200190620000d49291906200029f565b5050506200011682620000ec6200011e60201b60201c565b60ff16600a620000fd919062000504565b836200010a919062000641565b6200012760201b60201c565b5050620007e3565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200019a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200019190620003fc565b60405180910390fd5b620001ae600083836200029560201b60201c565b8060026000828254620001c291906200044c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200027591906200041e565b60405180910390a362000291600083836200029a60201b60201c565b5050565b505050565b505050565b828054620002ad90620006e0565b90600052602060002090601f016020900481019282620002d157600085556200031d565b82601f10620002ec57805160ff19168380011785556200031d565b828001600101855582156200031d579182015b828111156200031c578251825591602001919060010190620002ff565b5b5090506200032c919062000330565b5090565b5b808211156200034b57600081600090555060010162000331565b5090565b6000815190506200036081620007af565b92915050565b6000815190506200037781620007c9565b92915050565b6000806040838503121562000397576200039662000774565b5b6000620003a7858286016200034f565b9250506020620003ba8582860162000366565b9150509250929050565b6000620003d3601f836200043b565b9150620003e08262000786565b602082019050919050565b620003f681620006d6565b82525050565b600060208201905081810360008301526200041781620003c4565b9050919050565b6000602082019050620004356000830184620003eb565b92915050565b600082825260208201905092915050565b60006200045982620006d6565b91506200046683620006d6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200049e576200049d62000716565b5b828201905092915050565b6000808291508390505b6001851115620004fb57808604811115620004d357620004d262000716565b5b6001851615620004e35780820291505b8081029050620004f38562000779565b9450620004b3565b94509492505050565b60006200051182620006d6565b91506200051e83620006d6565b92506200054d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000555565b905092915050565b6000826200056757600190506200063a565b816200057757600090506200063a565b81600181146200059057600281146200059b57620005d1565b60019150506200063a565b60ff841115620005b057620005af62000716565b5b8360020a915084821115620005ca57620005c962000716565b5b506200063a565b5060208310610133831016604e8410600b84101617156200060b5782820a90508381111562000605576200060462000716565b5b6200063a565b6200061a8484846001620004a9565b9250905081840481111562000634576200063362000716565b5b81810290505b9392505050565b60006200064e82620006d6565b91506200065b83620006d6565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000697576200069662000716565b5b828202905092915050565b6000620006af82620006b6565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006002820490506001821680620006f957607f821691505b6020821081141562000710576200070f62000745565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620007ba81620006a2565b8114620007c657600080fd5b50565b620007d481620006d6565b8114620007e057600080fd5b50565b61125f80620007f36000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610d20565b60405180910390f35b6100e660048036038101906100e19190610b6a565b610308565b6040516100f39190610d05565b60405180910390f35b61010461032b565b6040516101119190610e22565b60405180910390f35b610134600480360381019061012f9190610b17565b610335565b6040516101419190610d05565b60405180910390f35b610152610364565b60405161015f9190610e3d565b60405180910390f35b610182600480360381019061017d9190610b6a565b61036d565b60405161018f9190610d05565b60405180910390f35b6101b260048036038101906101ad9190610aaa565b6103a4565b6040516101bf9190610e22565b60405180910390f35b6101d06103ec565b6040516101dd9190610d20565b60405180910390f35b61020060048036038101906101fb9190610b6a565b61047e565b60405161020d9190610d05565b60405180910390f35b610230600480360381019061022b9190610b6a565b6104f5565b60405161023d9190610d05565b60405180910390f35b610260600480360381019061025b9190610ad7565b610518565b60405161026d9190610e22565b60405180910390f35b60606003805461028590610f52565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610f52565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610772565b6103588585856107fe565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610e74565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610f52565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610f52565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e02565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fe565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060e90610de2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067e90610d62565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107659190610e22565b60405180910390a3505050565b600061077e8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f857818110156107ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e190610d82565b60405180910390fd5b6107f784848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086590610dc2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156108de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d590610d42565b60405180910390fd5b6108e9838383610a76565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690610da2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a5d9190610e22565b60405180910390a3610a70848484610a7b565b50505050565b505050565b505050565b600081359050610a8f816111fb565b92915050565b600081359050610aa481611212565b92915050565b600060208284031215610ac057610abf610fe2565b5b6000610ace84828501610a80565b91505092915050565b60008060408385031215610aee57610aed610fe2565b5b6000610afc85828601610a80565b9250506020610b0d85828601610a80565b9150509250929050565b600080600060608486031215610b3057610b2f610fe2565b5b6000610b3e86828701610a80565b9350506020610b4f86828701610a80565b9250506040610b6086828701610a95565b9150509250925092565b60008060408385031215610b8157610b80610fe2565b5b6000610b8f85828601610a80565b9250506020610ba085828601610a95565b9150509250929050565b610bb381610edc565b82525050565b6000610bc482610e58565b610bce8185610e63565b9350610bde818560208601610f1f565b610be781610fe7565b840191505092915050565b6000610bff602383610e63565b9150610c0a82610ff8565b604082019050919050565b6000610c22602283610e63565b9150610c2d82611047565b604082019050919050565b6000610c45601d83610e63565b9150610c5082611096565b602082019050919050565b6000610c68602683610e63565b9150610c73826110bf565b604082019050919050565b6000610c8b602583610e63565b9150610c968261110e565b604082019050919050565b6000610cae602483610e63565b9150610cb98261115d565b604082019050919050565b6000610cd1602583610e63565b9150610cdc826111ac565b604082019050919050565b610cf081610f08565b82525050565b610cff81610f12565b82525050565b6000602082019050610d1a6000830184610baa565b92915050565b60006020820190508181036000830152610d3a8184610bb9565b905092915050565b60006020820190508181036000830152610d5b81610bf2565b9050919050565b60006020820190508181036000830152610d7b81610c15565b9050919050565b60006020820190508181036000830152610d9b81610c38565b9050919050565b60006020820190508181036000830152610dbb81610c5b565b9050919050565b60006020820190508181036000830152610ddb81610c7e565b9050919050565b60006020820190508181036000830152610dfb81610ca1565b9050919050565b60006020820190508181036000830152610e1b81610cc4565b9050919050565b6000602082019050610e376000830184610ce7565b92915050565b6000602082019050610e526000830184610cf6565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610e7f82610f08565b9150610e8a83610f08565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ebf57610ebe610f84565b5b828201905092915050565b6000610ed582610ee8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610f3d578082015181840152602081019050610f22565b83811115610f4c576000848401525b50505050565b60006002820490506001821680610f6a57607f821691505b60208210811415610f7e57610f7d610fb3565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61120481610eca565b811461120f57600080fd5b50565b61121b81610f08565b811461122657600080fd5b5056fea2646970667358221220f4ff8b9fe883fa95e7f60beb45769b420d82d53a9e47722183911871d5f90ea064736f6c63430008070033"; + "0x608060405234801561001057600080fd5b506040516118b73803806118b78339818101604052810190610032919061044d565b6040518060400160405280600481526020017f5a657461000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5a4554410000000000000000000000000000000000000000000000000000000081525081600390816100ad91906106d3565b5080600490816100bd91906106d3565b5050506100f7826100d26100fe60201b60201c565b60ff16600a6100e19190610907565b836100ec9190610952565b61010760201b60201c565b5050610a53565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101795760006040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161017091906109a3565b60405180910390fd5b61018b6000838361018f60201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036101e15780600260008282546101d591906109be565b925050819055506102b4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561026d578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161026493929190610a01565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102fd578060026000828254039250508190555061034a565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516103a79190610a38565b60405180910390a3505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103e4826103b9565b9050919050565b6103f4816103d9565b81146103ff57600080fd5b50565b600081519050610411816103eb565b92915050565b6000819050919050565b61042a81610417565b811461043557600080fd5b50565b60008151905061044781610421565b92915050565b60008060408385031215610464576104636103b4565b5b600061047285828601610402565b925050602061048385828601610438565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061050e57607f821691505b602082108103610521576105206104c7565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026105897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261054c565b610593868361054c565b95508019841693508086168417925050509392505050565b6000819050919050565b60006105d06105cb6105c684610417565b6105ab565b610417565b9050919050565b6000819050919050565b6105ea836105b5565b6105fe6105f6826105d7565b848454610559565b825550505050565b600090565b610613610606565b61061e8184846105e1565b505050565b5b818110156106425761063760008261060b565b600181019050610624565b5050565b601f8211156106875761065881610527565b6106618461053c565b81016020851015610670578190505b61068461067c8561053c565b830182610623565b50505b505050565b600082821c905092915050565b60006106aa6000198460080261068c565b1980831691505092915050565b60006106c38383610699565b9150826002028217905092915050565b6106dc8261048d565b67ffffffffffffffff8111156106f5576106f4610498565b5b6106ff82546104f6565b61070a828285610646565b600060209050601f83116001811461073d576000841561072b578287015190505b61073585826106b7565b86555061079d565b601f19841661074b86610527565b60005b828110156107735784890151825560018201915060208501945060208101905061074e565b86831015610790578489015161078c601f891682610699565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561082b57808604811115610807576108066107a5565b5b60018516156108165780820291505b8081029050610824856107d4565b94506107eb565b94509492505050565b6000826108445760019050610900565b816108525760009050610900565b81600181146108685760028114610872576108a1565b6001915050610900565b60ff841115610884576108836107a5565b5b8360020a91508482111561089b5761089a6107a5565b5b50610900565b5060208310610133831016604e8410600b84101617156108d65782820a9050838111156108d1576108d06107a5565b5b610900565b6108e384848460016107e1565b925090508184048111156108fa576108f96107a5565b5b81810290505b9392505050565b600061091282610417565b915061091d83610417565b925061094a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610834565b905092915050565b600061095d82610417565b915061096883610417565b925082820261097681610417565b9150828204841483151761098d5761098c6107a5565b5b5092915050565b61099d816103d9565b82525050565b60006020820190506109b86000830184610994565b92915050565b60006109c982610417565b91506109d483610417565b92508282019050808211156109ec576109eb6107a5565b5b92915050565b6109fb81610417565b82525050565b6000606082019050610a166000830186610994565b610a2360208301856109f2565b610a3060408301846109f2565b949350505050565b6000602082019050610a4d60008301846109f2565b92915050565b610e5580610a626000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad9190610aa9565b60405180910390f35b6100d060048036038101906100cb9190610b64565b610292565b6040516100dd9190610bbf565b60405180910390f35b6100ee6102b5565b6040516100fb9190610be9565b60405180910390f35b61011e60048036038101906101199190610c04565b6102bf565b60405161012b9190610bbf565b60405180910390f35b61013c6102ee565b6040516101499190610c73565b60405180910390f35b61016c60048036038101906101679190610c8e565b6102f7565b6040516101799190610be9565b60405180910390f35b61018a61033f565b6040516101979190610aa9565b60405180910390f35b6101ba60048036038101906101b59190610b64565b6103d1565b6040516101c79190610bbf565b60405180910390f35b6101ea60048036038101906101e59190610cbb565b6103f4565b6040516101f79190610be9565b60405180910390f35b60606003805461020f90610d2a565b80601f016020809104026020016040519081016040528092919081815260200182805461023b90610d2a565b80156102885780601f1061025d57610100808354040283529160200191610288565b820191906000526020600020905b81548152906001019060200180831161026b57829003601f168201915b5050505050905090565b60008061029d61047b565b90506102aa818585610483565b600191505092915050565b6000600254905090565b6000806102ca61047b565b90506102d7858285610495565b6102e2858585610529565b60019150509392505050565b60006012905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461034e90610d2a565b80601f016020809104026020016040519081016040528092919081815260200182805461037a90610d2a565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b5050505050905090565b6000806103dc61047b565b90506103e9818585610529565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b610490838383600161061d565b505050565b60006104a184846103f4565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105235781811015610513578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161050a93929190610d6a565b60405180910390fd5b6105228484848403600061061d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361059b5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016105929190610da1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361060d5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016106049190610da1565b60405180910390fd5b6106188383836107f4565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361068f5760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016106869190610da1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107015760006040517f94280d620000000000000000000000000000000000000000000000000000000081526004016106f89190610da1565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080156107ee578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107e59190610be9565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361084657806002600082825461083a9190610deb565b92505081905550610919565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156108d2578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016108c993929190610d6a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361096257806002600082825403925050819055506109af565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a0c9190610be9565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610a53578082015181840152602081019050610a38565b60008484015250505050565b6000601f19601f8301169050919050565b6000610a7b82610a19565b610a858185610a24565b9350610a95818560208601610a35565b610a9e81610a5f565b840191505092915050565b60006020820190508181036000830152610ac38184610a70565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610afb82610ad0565b9050919050565b610b0b81610af0565b8114610b1657600080fd5b50565b600081359050610b2881610b02565b92915050565b6000819050919050565b610b4181610b2e565b8114610b4c57600080fd5b50565b600081359050610b5e81610b38565b92915050565b60008060408385031215610b7b57610b7a610acb565b5b6000610b8985828601610b19565b9250506020610b9a85828601610b4f565b9150509250929050565b60008115159050919050565b610bb981610ba4565b82525050565b6000602082019050610bd46000830184610bb0565b92915050565b610be381610b2e565b82525050565b6000602082019050610bfe6000830184610bda565b92915050565b600080600060608486031215610c1d57610c1c610acb565b5b6000610c2b86828701610b19565b9350506020610c3c86828701610b19565b9250506040610c4d86828701610b4f565b9150509250925092565b600060ff82169050919050565b610c6d81610c57565b82525050565b6000602082019050610c886000830184610c64565b92915050565b600060208284031215610ca457610ca3610acb565b5b6000610cb284828501610b19565b91505092915050565b60008060408385031215610cd257610cd1610acb565b5b6000610ce085828601610b19565b9250506020610cf185828601610b19565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610d4257607f821691505b602082108103610d5557610d54610cfb565b5b50919050565b610d6481610af0565b82525050565b6000606082019050610d7f6000830186610d5b565b610d8c6020830185610bda565b610d996040830184610bda565b949350505050565b6000602082019050610db66000830184610d5b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df682610b2e565b9150610e0183610b2e565b9250828201905080821115610e1957610e18610dbc565b5b9291505056fea264697066735822122008695f557841ddad327472e0c2386bec8cf424c511e2eae6e9e8b208860ea1c264736f6c634300081a0033"; type ZetaEthMockConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/SwapHelperLib__factory.ts b/typechain-types/factories/contracts/SwapHelperLib__factory.ts index c93b6414..106701df 100644 --- a/typechain-types/factories/contracts/SwapHelperLib__factory.ts +++ b/typechain-types/factories/contracts/SwapHelperLib__factory.ts @@ -136,7 +136,7 @@ const _abi = [ ] as const; const _bytecode = - "0x611309610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c8063b864987914610045578063c63585cc14610075575b600080fd5b61005f600480360381019061005a9190610d9d565b6100a5565b60405161006c9190610e13565b60405180910390f35b61008f600480360381019061008a9190610e2e565b6104ec565b60405161009c9190610e90565b60405180910390f35b60006060600267ffffffffffffffff8111156100c4576100c3610eab565b5b6040519080825280602002602001820160405280156100f25781602001602082028036833780820191505090505b509050848160008151811061010a57610109610eda565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050838160018151811061015957610158610eda565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600061020e8773ffffffffffffffffffffffffffffffffffffffff1663d936a0126040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102079190610f1e565b858461055e565b9050600367ffffffffffffffff81111561022b5761022a610eab565b5b6040519080825280602002602001820160405280156102595781602001602082028036833780820191505090505b509150858260008151811061027157610270610eda565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff1663569541b96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a9190610f1e565b8260018151811061032e5761032d610eda565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050848260028151811061037d5761037c610eda565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060006104328873ffffffffffffffffffffffffffffffffffffffff1663d936a0126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042b9190610f1e565b868561055e565b905080600182516104439190610f7a565b8151811061045457610453610eda565b5b6020026020010151826001845161046b9190610f7a565b8151811061047c5761047b610eda565b5b6020026020010151116104b65780600182516104989190610f7a565b815181106104a9576104a8610eda565b5b60200260200101516104df565b81600183516104c59190610f7a565b815181106104d6576104d5610eda565b5b60200260200101515b9350505050949350505050565b60008060006104fb85856106da565b91509150858282604051602001610513929190610ff6565b6040516020818303038152906040528051906020012060405160200161053a9291906110f0565b6040516020818303038152906040528051906020012060001c925050509392505050565b606060028251101561059c576040517f20db826700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815167ffffffffffffffff8111156105b7576105b6610eab565b5b6040519080825280602002602001820160405280156105e55781602001602082028036833780820191505090505b50905082816000815181106105fd576105fc610eda565b5b60200260200101818152505060005b6001835161061a9190610f7a565b8110156106d25760008061066f8786858151811061063b5761063a610eda565b5b6020026020010151876001876106519190611132565b8151811061066257610661610eda565b5b60200260200101516107f4565b9150915061069884848151811061068957610688610eda565b5b602002602001015183836108f7565b846001856106a69190611132565b815181106106b7576106b6610eda565b5b6020026020010181815250505050808060010191505061060c565b509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610742576040517fcb1e7cfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061077c57828461077f565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107ed576040517f78b507da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b600080600061080385856109eb565b509050600080610814888888610b05565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088291906111e8565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146108e15780826108e4565b81815b8095508196505050505050935093915050565b6000808403610932576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008314806109415750600082145b15610978576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061098f6103e586610b8c90919063ffffffff16565b905060006109a68483610b8c90919063ffffffff16565b905060006109d1836109c36103e889610b8c90919063ffffffff16565b610be890919063ffffffff16565b905080826109df919061126a565b93505050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a53576040517fbd969eb000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610a8d578284610a90565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610afe576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b8152600401610b429291906112aa565b602060405180830381865afa158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b839190610f1e565b90509392505050565b600080610ba28385610c4490919063ffffffff16565b809350819250505080610be1576040517f5797276a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b600080610bfe8385610c9790919063ffffffff16565b809350819250505080610c3d576040517fa259879500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b60008060008403610c5c576001600091509150610c90565b6000838502905083858281610c7457610c7361123b565b5b0414610c87576000809250925050610c90565b60018192509250505b9250929050565b6000806000838501905084811015610cb6576000809250925050610cbf565b60018192509250505b9250929050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610cf682610ccb565b9050919050565b6000610d0882610ceb565b9050919050565b610d1881610cfd565b8114610d2357600080fd5b50565b600081359050610d3581610d0f565b92915050565b610d4481610ceb565b8114610d4f57600080fd5b50565b600081359050610d6181610d3b565b92915050565b6000819050919050565b610d7a81610d67565b8114610d8557600080fd5b50565b600081359050610d9781610d71565b92915050565b60008060008060808587031215610db757610db6610cc6565b5b6000610dc587828801610d26565b9450506020610dd687828801610d52565b9350506040610de787828801610d52565b9250506060610df887828801610d88565b91505092959194509250565b610e0d81610d67565b82525050565b6000602082019050610e286000830184610e04565b92915050565b600080600060608486031215610e4757610e46610cc6565b5b6000610e5586828701610d52565b9350506020610e6686828701610d52565b9250506040610e7786828701610d52565b9150509250925092565b610e8a81610ceb565b82525050565b6000602082019050610ea56000830184610e81565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050610f1881610d3b565b92915050565b600060208284031215610f3457610f33610cc6565b5b6000610f4284828501610f09565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f8582610d67565b9150610f9083610d67565b9250828203905081811115610fa857610fa7610f4b565b5b92915050565b60008160601b9050919050565b6000610fc682610fae565b9050919050565b6000610fd882610fbb565b9050919050565b610ff0610feb82610ceb565b610fcd565b82525050565b60006110028285610fdf565b6014820191506110128284610fdf565b6014820191508190509392505050565b600081905092915050565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b6000611063600183611022565b915061106e8261102d565b600182019050919050565b6000819050919050565b6000819050919050565b61109e61109982611079565b611083565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b60006110da602083611022565b91506110e5826110a4565b602082019050919050565b60006110fb82611056565b91506111078285610fdf565b601482019150611117828461108d565b602082019150611126826110cd565b91508190509392505050565b600061113d82610d67565b915061114883610d67565b92508282019050808211156111605761115f610f4b565b5b92915050565b60006dffffffffffffffffffffffffffff82169050919050565b61118981611166565b811461119457600080fd5b50565b6000815190506111a681611180565b92915050565b600063ffffffff82169050919050565b6111c5816111ac565b81146111d057600080fd5b50565b6000815190506111e2816111bc565b92915050565b60008060006060848603121561120157611200610cc6565b5b600061120f86828701611197565b935050602061122086828701611197565b9250506040611231868287016111d3565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061127582610d67565b915061128083610d67565b9250826112905761128f61123b565b5b828204905092915050565b6112a481610ceb565b82525050565b60006040820190506112bf600083018561129b565b6112cc602083018461129b565b939250505056fea26469706673582212208fd45601d414db457596e1f4931ddaf6ecbb227cc2f49d1c88cfd82b179e8c8a64736f6c634300081a0033"; + "0x611276610052600b82828239805160001a6073146045577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100405760003560e01c8063b864987914610045578063c63585cc14610075575b600080fd5b61005f600480360381019061005a9190610d0a565b6100a5565b60405161006c9190610d80565b60405180910390f35b61008f600480360381019061008a9190610d9b565b6104ec565b60405161009c9190610dfd565b60405180910390f35b60006060600267ffffffffffffffff8111156100c4576100c3610e18565b5b6040519080825280602002602001820160405280156100f25781602001602082028036833780820191505090505b509050848160008151811061010a57610109610e47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050838160018151811061015957610158610e47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600061020e8773ffffffffffffffffffffffffffffffffffffffff1663d936a0126040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102079190610e8b565b858461055e565b9050600367ffffffffffffffff81111561022b5761022a610e18565b5b6040519080825280602002602001820160405280156102595781602001602082028036833780820191505090505b509150858260008151811061027157610270610e47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff1663569541b96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031a9190610e8b565b8260018151811061032e5761032d610e47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050848260028151811061037d5761037c610e47565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060006104328873ffffffffffffffffffffffffffffffffffffffff1663d936a0126040518163ffffffff1660e01b8152600401602060405180830381865afa158015610407573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042b9190610e8b565b868561055e565b905080600182516104439190610ee7565b8151811061045457610453610e47565b5b6020026020010151826001845161046b9190610ee7565b8151811061047c5761047b610e47565b5b6020026020010151116104b65780600182516104989190610ee7565b815181106104a9576104a8610e47565b5b60200260200101516104df565b81600183516104c59190610ee7565b815181106104d6576104d5610e47565b5b60200260200101515b9350505050949350505050565b60008060006104fb85856106da565b91509150858282604051602001610513929190610f63565b6040516020818303038152906040528051906020012060405160200161053a92919061105d565b6040516020818303038152906040528051906020012060001c925050509392505050565b606060028251101561059c576040517f20db826700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815167ffffffffffffffff8111156105b7576105b6610e18565b5b6040519080825280602002602001820160405280156105e55781602001602082028036833780820191505090505b50905082816000815181106105fd576105fc610e47565b5b60200260200101818152505060005b6001835161061a9190610ee7565b8110156106d25760008061066f8786858151811061063b5761063a610e47565b5b602002602001015187600187610651919061109f565b8151811061066257610661610e47565b5b60200260200101516107f4565b9150915061069884848151811061068957610688610e47565b5b602002602001015183836108f7565b846001856106a6919061109f565b815181106106b7576106b6610e47565b5b6020026020010181815250505050808060010191505061060c565b509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610742576040517fcb1e7cfe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161061077c57828461077f565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107ed576040517f78b507da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b600080600061080385856109eb565b509050600080610814888888610b05565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561085e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108829190611155565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146108e15780826108e4565b81815b8095508196505050505050935093915050565b6000808403610932576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008314806109415750600082145b15610978576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061098f6103e586610b8c90919063ffffffff16565b905060006109a68483610b8c90919063ffffffff16565b905060006109d1836109c36103e889610b8c90919063ffffffff16565b610bec90919063ffffffff16565b905080826109df91906111d7565b93505050509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a53576040517fbd969eb000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610a8d578284610a90565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610afe576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b8152600401610b42929190611217565b602060405180830381865afa158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b839190610e8b565b90509392505050565b600080831480610bb05750818383850292508281610bad57610bac6111a8565b5b04145b610be6576040517f5797276a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b6000818301905082811015610c2d576040517fa259879500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610c6382610c38565b9050919050565b6000610c7582610c58565b9050919050565b610c8581610c6a565b8114610c9057600080fd5b50565b600081359050610ca281610c7c565b92915050565b610cb181610c58565b8114610cbc57600080fd5b50565b600081359050610cce81610ca8565b92915050565b6000819050919050565b610ce781610cd4565b8114610cf257600080fd5b50565b600081359050610d0481610cde565b92915050565b60008060008060808587031215610d2457610d23610c33565b5b6000610d3287828801610c93565b9450506020610d4387828801610cbf565b9350506040610d5487828801610cbf565b9250506060610d6587828801610cf5565b91505092959194509250565b610d7a81610cd4565b82525050565b6000602082019050610d956000830184610d71565b92915050565b600080600060608486031215610db457610db3610c33565b5b6000610dc286828701610cbf565b9350506020610dd386828701610cbf565b9250506040610de486828701610cbf565b9150509250925092565b610df781610c58565b82525050565b6000602082019050610e126000830184610dee565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050610e8581610ca8565b92915050565b600060208284031215610ea157610ea0610c33565b5b6000610eaf84828501610e76565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610ef282610cd4565b9150610efd83610cd4565b9250828203905081811115610f1557610f14610eb8565b5b92915050565b60008160601b9050919050565b6000610f3382610f1b565b9050919050565b6000610f4582610f28565b9050919050565b610f5d610f5882610c58565b610f3a565b82525050565b6000610f6f8285610f4c565b601482019150610f7f8284610f4c565b6014820191508190509392505050565b600081905092915050565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b6000610fd0600183610f8f565b9150610fdb82610f9a565b600182019050919050565b6000819050919050565b6000819050919050565b61100b61100682610fe6565b610ff0565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b6000611047602083610f8f565b915061105282611011565b602082019050919050565b600061106882610fc3565b91506110748285610f4c565b6014820191506110848284610ffa565b6020820191506110938261103a565b91508190509392505050565b60006110aa82610cd4565b91506110b583610cd4565b92508282019050808211156110cd576110cc610eb8565b5b92915050565b60006dffffffffffffffffffffffffffff82169050919050565b6110f6816110d3565b811461110157600080fd5b50565b600081519050611113816110ed565b92915050565b600063ffffffff82169050919050565b61113281611119565b811461113d57600080fd5b50565b60008151905061114f81611129565b92915050565b60008060006060848603121561116e5761116d610c33565b5b600061117c86828701611104565b935050602061118d86828701611104565b925050604061119e86828701611140565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006111e282610cd4565b91506111ed83610cd4565b9250826111fd576111fc6111a8565b5b828204905092915050565b61121181610c58565b82525050565b600060408201905061122c6000830185611208565b6112396020830184611208565b939250505056fea2646970667358221220320ecc134e51eeaeb4e6096fb9a3b2070fc1fb1177daec547c4ccfed10a56a9364736f6c634300081a0033"; type SwapHelperLibConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/TestZRC20__factory.ts b/typechain-types/factories/contracts/TestZRC20__factory.ts index f624a4d8..e2f9f8f4 100644 --- a/typechain-types/factories/contracts/TestZRC20__factory.ts +++ b/typechain-types/factories/contracts/TestZRC20__factory.ts @@ -35,6 +35,92 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, { anonymous: false, inputs: [ @@ -118,7 +204,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -194,30 +280,6 @@ const _abi = [ 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: [ { @@ -242,30 +304,6 @@ const _abi = [ 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: [], name: "name", @@ -314,7 +352,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -343,7 +381,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -403,7 +441,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608060405234801561001057600080fd5b5060405161202a38038061202a833981810160405281019061003291906103b5565b818181600390816100439190610657565b5080600490816100539190610657565b50505061008d3361006861009560201b60201c565b60ff16600a610077919061088b565b8561008291906108d6565b61009e60201b60201c565b5050506109f3565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361010d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010490610975565b60405180910390fd5b61011f6000838361020060201b60201c565b80600260008282546101319190610995565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101e291906109d8565b60405180910390a36101fc6000838361020560201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6102318161021e565b811461023c57600080fd5b50565b60008151905061024e81610228565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102a78261025e565b810181811067ffffffffffffffff821117156102c6576102c561026f565b5b80604052505050565b60006102d961020a565b90506102e5828261029e565b919050565b600067ffffffffffffffff8211156103055761030461026f565b5b61030e8261025e565b9050602081019050919050565b60005b8381101561033957808201518184015260208101905061031e565b60008484015250505050565b6000610358610353846102ea565b6102cf565b90508281526020810184848401111561037457610373610259565b5b61037f84828561031b565b509392505050565b600082601f83011261039c5761039b610254565b5b81516103ac848260208601610345565b91505092915050565b6000806000606084860312156103ce576103cd610214565b5b60006103dc8682870161023f565b935050602084015167ffffffffffffffff8111156103fd576103fc610219565b5b61040986828701610387565b925050604084015167ffffffffffffffff81111561042a57610429610219565b5b61043686828701610387565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061049257607f821691505b6020821081036104a5576104a461044b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261050d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104d0565b61051786836104d0565b95508019841693508086168417925050509392505050565b6000819050919050565b600061055461054f61054a8461021e565b61052f565b61021e565b9050919050565b6000819050919050565b61056e83610539565b61058261057a8261055b565b8484546104dd565b825550505050565b600090565b61059761058a565b6105a2818484610565565b505050565b5b818110156105c6576105bb60008261058f565b6001810190506105a8565b5050565b601f82111561060b576105dc816104ab565b6105e5846104c0565b810160208510156105f4578190505b610608610600856104c0565b8301826105a7565b50505b505050565b600082821c905092915050565b600061062e60001984600802610610565b1980831691505092915050565b6000610647838361061d565b9150826002028217905092915050565b61066082610440565b67ffffffffffffffff8111156106795761067861026f565b5b610683825461047a565b61068e8282856105ca565b600060209050601f8311600181146106c157600084156106af578287015190505b6106b9858261063b565b865550610721565b601f1984166106cf866104ab565b60005b828110156106f7578489015182556001820191506020850194506020810190506106d2565b868310156107145784890151610710601f89168261061d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156107af5780860481111561078b5761078a610729565b5b600185161561079a5780820291505b80810290506107a885610758565b945061076f565b94509492505050565b6000826107c85760019050610884565b816107d65760009050610884565b81600181146107ec57600281146107f657610825565b6001915050610884565b60ff84111561080857610807610729565b5b8360020a91508482111561081f5761081e610729565b5b50610884565b5060208310610133831016604e8410600b841016171561085a5782820a90508381111561085557610854610729565b5b610884565b6108678484846001610765565b9250905081840481111561087e5761087d610729565b5b81810290505b9392505050565b60006108968261021e565b91506108a18361021e565b92506108ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846107b8565b905092915050565b60006108e18261021e565b91506108ec8361021e565b92508282026108fa8161021e565b9150828204841483151761091157610910610729565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061095f601f83610918565b915061096a82610929565b602082019050919050565b6000602082019050818103600083015261098e81610952565b9050919050565b60006109a08261021e565b91506109ab8361021e565b92508282019050808211156109c3576109c2610729565b5b92915050565b6109d28161021e565b82525050565b60006020820190506109ed60008301846109c9565b92915050565b61162880610a026000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806347e7ef2411610097578063a9059cbb11610066578063a9059cbb146102c2578063c7012626146102f2578063d9eeebed14610322578063dd62ed3e14610341576100f5565b806347e7ef241461021457806370a082311461024457806395d89b4114610274578063a457c2d714610292576100f5565b806323b872dd116100d357806323b872dd146101665780632c27d3ab14610196578063313ce567146101c657806339509351146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610371565b60405161010f9190610d2f565b60405180910390f35b610132600480360381019061012d9190610def565b610403565b60405161013f9190610e4a565b60405180910390f35b610150610426565b60405161015d9190610e74565b60405180910390f35b610180600480360381019061017b9190610e8f565b610430565b60405161018d9190610e4a565b60405180910390f35b6101b060048036038101906101ab9190610f47565b61045f565b6040516101bd9190610fca565b60405180910390f35b6101ce6104d3565b6040516101db9190611001565b60405180910390f35b6101fe60048036038101906101f99190610def565b6104dc565b60405161020b9190610e4a565b60405180910390f35b61022e60048036038101906102299190610def565b610513565b60405161023b9190610e4a565b60405180910390f35b61025e6004803603810190610259919061101c565b61051f565b60405161026b9190610e74565b60405180910390f35b61027c610567565b6040516102899190610d2f565b60405180910390f35b6102ac60048036038101906102a79190610def565b6105f9565b6040516102b99190610e4a565b60405180910390f35b6102dc60048036038101906102d79190610def565b610670565b6040516102e99190610e4a565b60405180910390f35b61030c60048036038101906103079190611049565b610693565b6040516103199190610e4a565b60405180910390f35b61032a6106b8565b6040516103389291906110a9565b60405180910390f35b61035b600480360381019061035691906110d2565b6106c6565b6040516103689190610e74565b60405180910390f35b60606003805461038090611141565b80601f01602080910402602001604051908101604052809291908181526020018280546103ac90611141565b80156103f95780601f106103ce576101008083540402835291602001916103f9565b820191906000526020600020905b8154815290600101906020018083116103dc57829003601f168201915b5050505050905090565b60008061040e61074d565b905061041b818585610755565b600191505092915050565b6000600254905090565b60008061043b61074d565b905061044885828561091e565b6104538585856109aa565b60019150509392505050565b60008085858590858761047291906111a1565b9261047f939291906111df565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905082810151915050949350505050565b60006012905090565b6000806104e761074d565b90506105088185856104f985896106c6565b61050391906111a1565b610755565b600191505092915050565b60006001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461057690611141565b80601f01602080910402602001604051908101604052809291908181526020018280546105a290611141565b80156105ef5780601f106105c4576101008083540402835291602001916105ef565b820191906000526020600020905b8154815290600101906020018083116105d257829003601f168201915b5050505050905090565b60008061060461074d565b9050600061061282866106c6565b905083811015610657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064e9061128c565b60405180910390fd5b6106648286868403610755565b60019250505092915050565b60008061067b61074d565b90506106888185856109aa565b600191505092915050565b6000806106a28585600c610c20565b90506106ae8184610670565b9150509392505050565b600080306000915091509091565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107bb9061131e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082a906113b0565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109119190610e74565b60405180910390a3505050565b600061092a84846106c6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109a45781811015610996576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098d9061141c565b60405180910390fd5b6109a38484848403610755565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a10906114ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f90611540565b60405180910390fd5b610a93838383610c95565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b10906115d2565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c079190610e74565b60405180910390a3610c1a848484610c9a565b50505050565b60008084848490601486610c3491906111a1565b92610c41939291906111df565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060148101519150509392505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610cd9578082015181840152602081019050610cbe565b60008484015250505050565b6000601f19601f8301169050919050565b6000610d0182610c9f565b610d0b8185610caa565b9350610d1b818560208601610cbb565b610d2481610ce5565b840191505092915050565b60006020820190508181036000830152610d498184610cf6565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d8682610d5b565b9050919050565b610d9681610d7b565b8114610da157600080fd5b50565b600081359050610db381610d8d565b92915050565b6000819050919050565b610dcc81610db9565b8114610dd757600080fd5b50565b600081359050610de981610dc3565b92915050565b60008060408385031215610e0657610e05610d51565b5b6000610e1485828601610da4565b9250506020610e2585828601610dda565b9150509250929050565b60008115159050919050565b610e4481610e2f565b82525050565b6000602082019050610e5f6000830184610e3b565b92915050565b610e6e81610db9565b82525050565b6000602082019050610e896000830184610e65565b92915050565b600080600060608486031215610ea857610ea7610d51565b5b6000610eb686828701610da4565b9350506020610ec786828701610da4565b9250506040610ed886828701610dda565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112610f0757610f06610ee2565b5b8235905067ffffffffffffffff811115610f2457610f23610ee7565b5b602083019150836001820283011115610f4057610f3f610eec565b5b9250929050565b60008060008060608587031215610f6157610f60610d51565b5b600085013567ffffffffffffffff811115610f7f57610f7e610d56565b5b610f8b87828801610ef1565b94509450506020610f9e87828801610dda565b9250506040610faf87828801610dda565b91505092959194509250565b610fc481610d7b565b82525050565b6000602082019050610fdf6000830184610fbb565b92915050565b600060ff82169050919050565b610ffb81610fe5565b82525050565b60006020820190506110166000830184610ff2565b92915050565b60006020828403121561103257611031610d51565b5b600061104084828501610da4565b91505092915050565b60008060006040848603121561106257611061610d51565b5b600084013567ffffffffffffffff8111156110805761107f610d56565b5b61108c86828701610ef1565b9350935050602061109f86828701610dda565b9150509250925092565b60006040820190506110be6000830185610fbb565b6110cb6020830184610e65565b9392505050565b600080604083850312156110e9576110e8610d51565b5b60006110f785828601610da4565b925050602061110885828601610da4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061115957607f821691505b60208210810361116c5761116b611112565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006111ac82610db9565b91506111b783610db9565b92508282019050808211156111cf576111ce611172565b5b92915050565b600080fd5b600080fd5b600080858511156111f3576111f26111d5565b5b83861115611204576112036111da565b5b6001850283019150848603905094509492505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611276602583610caa565b91506112818261121a565b604082019050919050565b600060208201905081810360008301526112a581611269565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611308602483610caa565b9150611313826112ac565b604082019050919050565b60006020820190508181036000830152611337816112fb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061139a602283610caa565b91506113a58261133e565b604082019050919050565b600060208201905081810360008301526113c98161138d565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611406601d83610caa565b9150611411826113d0565b602082019050919050565b60006020820190508181036000830152611435816113f9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611498602583610caa565b91506114a38261143c565b604082019050919050565b600060208201905081810360008301526114c78161148b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061152a602383610caa565b9150611535826114ce565b604082019050919050565b600060208201905081810360008301526115598161151d565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006115bc602683610caa565b91506115c782611560565b604082019050919050565b600060208201905081810360008301526115eb816115af565b905091905056fea26469706673582212203ba3e0eadcbf3df23612df3719aa28c933428a38a60e6090ad646d9d8cd23d0264736f6c634300081a0033"; + "0x608060405234801561001057600080fd5b50604051611d6d380380611d6d833981810160405281019061003291906104f6565b818181600390816100439190610798565b5080600490816100539190610798565b50505061008d3361006861009560201b60201c565b60ff16600a61007791906109cc565b856100829190610a17565b61009e60201b60201c565b505050610b4a565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101105760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016101079190610a9a565b60405180910390fd5b6101226000838361012660201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361017857806002600082825461016c9190610ab5565b9250508190555061024b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610204578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016101fb93929190610af8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361029457806002600082825403925050819055506102e1565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161033e9190610b2f565b60405180910390a3505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6103728161035f565b811461037d57600080fd5b50565b60008151905061038f81610369565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6103e88261039f565b810181811067ffffffffffffffff82111715610407576104066103b0565b5b80604052505050565b600061041a61034b565b905061042682826103df565b919050565b600067ffffffffffffffff821115610446576104456103b0565b5b61044f8261039f565b9050602081019050919050565b60005b8381101561047a57808201518184015260208101905061045f565b60008484015250505050565b60006104996104948461042b565b610410565b9050828152602081018484840111156104b5576104b461039a565b5b6104c084828561045c565b509392505050565b600082601f8301126104dd576104dc610395565b5b81516104ed848260208601610486565b91505092915050565b60008060006060848603121561050f5761050e610355565b5b600061051d86828701610380565b935050602084015167ffffffffffffffff81111561053e5761053d61035a565b5b61054a868287016104c8565b925050604084015167ffffffffffffffff81111561056b5761056a61035a565b5b610577868287016104c8565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806105d357607f821691505b6020821081036105e6576105e561058c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261064e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610611565b6106588683610611565b95508019841693508086168417925050509392505050565b6000819050919050565b600061069561069061068b8461035f565b610670565b61035f565b9050919050565b6000819050919050565b6106af8361067a565b6106c36106bb8261069c565b84845461061e565b825550505050565b600090565b6106d86106cb565b6106e38184846106a6565b505050565b5b81811015610707576106fc6000826106d0565b6001810190506106e9565b5050565b601f82111561074c5761071d816105ec565b61072684610601565b81016020851015610735578190505b61074961074185610601565b8301826106e8565b50505b505050565b600082821c905092915050565b600061076f60001984600802610751565b1980831691505092915050565b6000610788838361075e565b9150826002028217905092915050565b6107a182610581565b67ffffffffffffffff8111156107ba576107b96103b0565b5b6107c482546105bb565b6107cf82828561070b565b600060209050601f83116001811461080257600084156107f0578287015190505b6107fa858261077c565b865550610862565b601f198416610810866105ec565b60005b8281101561083857848901518255600182019150602085019450602081019050610813565b868310156108555784890151610851601f89168261075e565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156108f0578086048111156108cc576108cb61086a565b5b60018516156108db5780820291505b80810290506108e985610899565b94506108b0565b94509492505050565b60008261090957600190506109c5565b8161091757600090506109c5565b816001811461092d576002811461093757610966565b60019150506109c5565b60ff8411156109495761094861086a565b5b8360020a9150848211156109605761095f61086a565b5b506109c5565b5060208310610133831016604e8410600b841016171561099b5782820a9050838111156109965761099561086a565b5b6109c5565b6109a884848460016108a6565b925090508184048111156109bf576109be61086a565b5b81810290505b9392505050565b60006109d78261035f565b91506109e28361035f565b9250610a0f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846108f9565b905092915050565b6000610a228261035f565b9150610a2d8361035f565b9250828202610a3b8161035f565b91508282048414831517610a5257610a5161086a565b5b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a8482610a59565b9050919050565b610a9481610a79565b82525050565b6000602082019050610aaf6000830184610a8b565b92915050565b6000610ac08261035f565b9150610acb8361035f565b9250828201905080821115610ae357610ae261086a565b5b92915050565b610af28161035f565b82525050565b6000606082019050610b0d6000830186610a8b565b610b1a6020830185610ae9565b610b276040830184610ae9565b949350505050565b6000602082019050610b446000830184610ae9565b92915050565b61121480610b596000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806347e7ef241161008c578063a9059cbb11610066578063a9059cbb1461023c578063c70126261461026c578063d9eeebed1461029c578063dd62ed3e146102bb576100cf565b806347e7ef24146101be57806370a08231146101ee57806395d89b411461021e576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461012257806323b872dd146101405780632c27d3ab14610170578063313ce567146101a0575b600080fd5b6100dc6102eb565b6040516100e99190610cbc565b60405180910390f35b61010c60048036038101906101079190610d7c565b61037d565b6040516101199190610dd7565b60405180910390f35b61012a6103a0565b6040516101379190610e01565b60405180910390f35b61015a60048036038101906101559190610e1c565b6103aa565b6040516101679190610dd7565b60405180910390f35b61018a60048036038101906101859190610ed4565b6103d9565b6040516101979190610f57565b60405180910390f35b6101a861044d565b6040516101b59190610f8e565b60405180910390f35b6101d860048036038101906101d39190610d7c565b610456565b6040516101e59190610dd7565b60405180910390f35b61020860048036038101906102039190610fa9565b610462565b6040516102159190610e01565b60405180910390f35b6102266104aa565b6040516102339190610cbc565b60405180910390f35b61025660048036038101906102519190610d7c565b61053c565b6040516102639190610dd7565b60405180910390f35b61028660048036038101906102819190610fd6565b61055f565b6040516102939190610dd7565b60405180910390f35b6102a4610584565b6040516102b2929190611036565b60405180910390f35b6102d560048036038101906102d0919061105f565b610592565b6040516102e29190610e01565b60405180910390f35b6060600380546102fa906110ce565b80601f0160208091040260200160405190810160405280929190818152602001828054610326906110ce565b80156103735780601f1061034857610100808354040283529160200191610373565b820191906000526020600020905b81548152906001019060200180831161035657829003601f168201915b5050505050905090565b600080610388610619565b9050610395818585610621565b600191505092915050565b6000600254905090565b6000806103b5610619565b90506103c2858285610633565b6103cd8585856106c7565b60019150509392505050565b6000808585859085876103ec919061112e565b926103f99392919061116c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905082810151915050949350505050565b60006012905090565b60006001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546104b9906110ce565b80601f01602080910402602001604051908101604052809291908181526020018280546104e5906110ce565b80156105325780601f1061050757610100808354040283529160200191610532565b820191906000526020600020905b81548152906001019060200180831161051557829003601f168201915b5050505050905090565b600080610547610619565b90506105548185856106c7565b600191505092915050565b60008061056e8585600c6107bb565b905061057a818461053c565b9150509392505050565b600080306000915091509091565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b61062e8383836001610830565b505050565b600061063f8484610592565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146106c157818110156106b1578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016106a8939291906111a7565b60405180910390fd5b6106c084848484036000610830565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107395760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016107309190610f57565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107ab5760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016107a29190610f57565b60405180910390fd5b6107b6838383610a07565b505050565b600080848484906014866107cf919061112e565b926107dc9392919061116c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060148101519150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036108a25760006040517fe602df050000000000000000000000000000000000000000000000000000000081526004016108999190610f57565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109145760006040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161090b9190610f57565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610a01578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109f89190610e01565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a59578060026000828254610a4d919061112e565b92505081905550610b2c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ae5578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610adc939291906111a7565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b755780600260008282540392505081905550610bc2565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c1f9190610e01565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610c66578082015181840152602081019050610c4b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610c8e82610c2c565b610c988185610c37565b9350610ca8818560208601610c48565b610cb181610c72565b840191505092915050565b60006020820190508181036000830152610cd68184610c83565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610d1382610ce8565b9050919050565b610d2381610d08565b8114610d2e57600080fd5b50565b600081359050610d4081610d1a565b92915050565b6000819050919050565b610d5981610d46565b8114610d6457600080fd5b50565b600081359050610d7681610d50565b92915050565b60008060408385031215610d9357610d92610cde565b5b6000610da185828601610d31565b9250506020610db285828601610d67565b9150509250929050565b60008115159050919050565b610dd181610dbc565b82525050565b6000602082019050610dec6000830184610dc8565b92915050565b610dfb81610d46565b82525050565b6000602082019050610e166000830184610df2565b92915050565b600080600060608486031215610e3557610e34610cde565b5b6000610e4386828701610d31565b9350506020610e5486828701610d31565b9250506040610e6586828701610d67565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f840112610e9457610e93610e6f565b5b8235905067ffffffffffffffff811115610eb157610eb0610e74565b5b602083019150836001820283011115610ecd57610ecc610e79565b5b9250929050565b60008060008060608587031215610eee57610eed610cde565b5b600085013567ffffffffffffffff811115610f0c57610f0b610ce3565b5b610f1887828801610e7e565b94509450506020610f2b87828801610d67565b9250506040610f3c87828801610d67565b91505092959194509250565b610f5181610d08565b82525050565b6000602082019050610f6c6000830184610f48565b92915050565b600060ff82169050919050565b610f8881610f72565b82525050565b6000602082019050610fa36000830184610f7f565b92915050565b600060208284031215610fbf57610fbe610cde565b5b6000610fcd84828501610d31565b91505092915050565b600080600060408486031215610fef57610fee610cde565b5b600084013567ffffffffffffffff81111561100d5761100c610ce3565b5b61101986828701610e7e565b9350935050602061102c86828701610d67565b9150509250925092565b600060408201905061104b6000830185610f48565b6110586020830184610df2565b9392505050565b6000806040838503121561107657611075610cde565b5b600061108485828601610d31565b925050602061109585828601610d31565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806110e657607f821691505b6020821081036110f9576110f861109f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061113982610d46565b915061114483610d46565b925082820190508082111561115c5761115b6110ff565b5b92915050565b600080fd5b600080fd5b600080858511156111805761117f611162565b5b8386111561119157611190611167565b5b6001850283019150848603905094509492505050565b60006060820190506111bc6000830186610f48565b6111c96020830185610df2565b6111d66040830184610df2565b94935050505056fea264697066735822122062074f98320c38019bbeac1ec71cc040d7c4f7de4005577d6c256753db62984964736f6c634300081a0033"; type TestZRC20ConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/shared/MockZRC20__factory.ts b/typechain-types/factories/contracts/shared/MockZRC20__factory.ts index 8d625b48..daeb318c 100644 --- a/typechain-types/factories/contracts/shared/MockZRC20__factory.ts +++ b/typechain-types/factories/contracts/shared/MockZRC20__factory.ts @@ -38,6 +38,92 @@ const _abi = [ stateMutability: "nonpayable", type: "constructor", }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, { anonymous: false, inputs: [ @@ -158,7 +244,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -234,30 +320,6 @@ const _abi = [ 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: [ { @@ -308,30 +370,6 @@ const _abi = [ stateMutability: "view", 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: [], name: "name", @@ -406,7 +444,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -435,7 +473,7 @@ const _abi = [ }, { internalType: "uint256", - name: "amount", + name: "value", type: "uint256", }, ], @@ -495,7 +533,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608060405234801561001057600080fd5b5060405161232e38038061232e833981810160405281019061003291906103f6565b818181600390816100439190610698565b5080600490816100539190610698565b50505061008d336100686100d660201b60201c565b60ff16600a61007791906108cc565b856100829190610917565b6100df60201b60201c565b30600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050610a34565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361014e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610145906109b6565b60405180910390fd5b6101606000838361024160201b60201c565b806002600082825461017291906109d6565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516102239190610a19565b60405180910390a361023d6000838361024660201b60201c565b5050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6102728161025f565b811461027d57600080fd5b50565b60008151905061028f81610269565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102e88261029f565b810181811067ffffffffffffffff82111715610307576103066102b0565b5b80604052505050565b600061031a61024b565b905061032682826102df565b919050565b600067ffffffffffffffff821115610346576103456102b0565b5b61034f8261029f565b9050602081019050919050565b60005b8381101561037a57808201518184015260208101905061035f565b60008484015250505050565b60006103996103948461032b565b610310565b9050828152602081018484840111156103b5576103b461029a565b5b6103c084828561035c565b509392505050565b600082601f8301126103dd576103dc610295565b5b81516103ed848260208601610386565b91505092915050565b60008060006060848603121561040f5761040e610255565b5b600061041d86828701610280565b935050602084015167ffffffffffffffff81111561043e5761043d61025a565b5b61044a868287016103c8565b925050604084015167ffffffffffffffff81111561046b5761046a61025a565b5b610477868287016103c8565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806104d357607f821691505b6020821081036104e6576104e561048c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261054e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610511565b6105588683610511565b95508019841693508086168417925050509392505050565b6000819050919050565b600061059561059061058b8461025f565b610570565b61025f565b9050919050565b6000819050919050565b6105af8361057a565b6105c36105bb8261059c565b84845461051e565b825550505050565b600090565b6105d86105cb565b6105e38184846105a6565b505050565b5b81811015610607576105fc6000826105d0565b6001810190506105e9565b5050565b601f82111561064c5761061d816104ec565b61062684610501565b81016020851015610635578190505b61064961064185610501565b8301826105e8565b50505b505050565b600082821c905092915050565b600061066f60001984600802610651565b1980831691505092915050565b6000610688838361065e565b9150826002028217905092915050565b6106a182610481565b67ffffffffffffffff8111156106ba576106b96102b0565b5b6106c482546104bb565b6106cf82828561060b565b600060209050601f83116001811461070257600084156106f0578287015190505b6106fa858261067c565b865550610762565b601f198416610710866104ec565b60005b8281101561073857848901518255600182019150602085019450602081019050610713565b868310156107555784890151610751601f89168261065e565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156107f0578086048111156107cc576107cb61076a565b5b60018516156107db5780820291505b80810290506107e985610799565b94506107b0565b94509492505050565b60008261080957600190506108c5565b8161081757600090506108c5565b816001811461082d576002811461083757610866565b60019150506108c5565b60ff8411156108495761084861076a565b5b8360020a9150848211156108605761085f61076a565b5b506108c5565b5060208310610133831016604e8410600b841016171561089b5782820a9050838111156108965761089561076a565b5b6108c5565b6108a884848460016107a6565b925090508184048111156108bf576108be61076a565b5b81810290505b9392505050565b60006108d78261025f565b91506108e28361025f565b925061090f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846107f9565b905092915050565b60006109228261025f565b915061092d8361025f565b925082820261093b8161025f565b915082820484148315176109525761095161076a565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006109a0601f83610959565b91506109ab8261096a565b602082019050919050565b600060208201905081810360008301526109cf81610993565b9050919050565b60006109e18261025f565b91506109ec8361025f565b9250828201905080821115610a0457610a0361076a565b5b92915050565b610a138161025f565b82525050565b6000602082019050610a2e6000830184610a0a565b92915050565b6118eb80610a436000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063658612e9116100ad578063a9059cbb11610071578063a9059cbb14610344578063c701262614610374578063d9eeebed146103a4578063dd62ed3e146103c3578063f7d8f616146103f357610121565b8063658612e91461028c578063678edca3146102aa57806370a08231146102c657806395d89b41146102f6578063a457c2d71461031457610121565b80632c27d3ab116100f45780632c27d3ab146101c2578063313ce567146101f257806339509351146102105780633e8a4ee11461024057806347e7ef241461025c57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461017457806323b872dd14610192575b600080fd5b61012e610411565b60405161013b9190610ee5565b60405180910390f35b61015e60048036038101906101599190610fa5565b6104a3565b60405161016b9190611000565b60405180910390f35b61017c6104c6565b604051610189919061102a565b60405180910390f35b6101ac60048036038101906101a79190611045565b6104d0565b6040516101b99190611000565b60405180910390f35b6101dc60048036038101906101d791906110fd565b6104ff565b6040516101e99190611180565b60405180910390f35b6101fa610573565b60405161020791906111b7565b60405180910390f35b61022a60048036038101906102259190610fa5565b61057c565b6040516102379190611000565b60405180910390f35b61025a600480360381019061025591906111d2565b6105b3565b005b61027660048036038101906102719190610fa5565b6105f7565b6040516102839190611000565b60405180910390f35b610294610603565b6040516102a1919061102a565b60405180910390f35b6102c460048036038101906102bf91906111ff565b610609565b005b6102e060048036038101906102db91906111d2565b610613565b6040516102ed919061102a565b60405180910390f35b6102fe61065b565b60405161030b9190610ee5565b60405180910390f35b61032e60048036038101906103299190610fa5565b6106ed565b60405161033b9190611000565b60405180910390f35b61035e60048036038101906103599190610fa5565b610764565b60405161036b9190611000565b60405180910390f35b61038e6004803603810190610389919061122c565b610787565b60405161039b9190611000565b60405180910390f35b6103ac610825565b6040516103ba92919061128c565b60405180910390f35b6103dd60048036038101906103d891906112b5565b610856565b6040516103ea919061102a565b60405180910390f35b6103fb6108dd565b6040516104089190611180565b60405180910390f35b60606003805461042090611324565b80601f016020809104026020016040519081016040528092919081815260200182805461044c90611324565b80156104995780601f1061046e57610100808354040283529160200191610499565b820191906000526020600020905b81548152906001019060200180831161047c57829003601f168201915b5050505050905090565b6000806104ae610903565b90506104bb81858561090b565b600191505092915050565b6000600254905090565b6000806104db610903565b90506104e8858285610ad4565b6104f3858585610b60565b60019150509392505050565b6000808585859085876105129190611384565b9261051f939291906113c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905082810151915050949350505050565b60006012905090565b600080610587610903565b90506105a88185856105998589610856565b6105a39190611384565b61090b565b600191505092915050565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001905092915050565b60065481565b8060068190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461066a90611324565b80601f016020809104026020016040519081016040528092919081815260200182805461069690611324565b80156106e35780601f106106b8576101008083540402835291602001916106e3565b820191906000526020600020905b8154815290600101906020018083116106c657829003601f168201915b5050505050905090565b6000806106f8610903565b905060006107068286610856565b90508381101561074b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107429061146f565b60405180910390fd5b610758828686840361090b565b60019250505092915050565b60008061076f610903565b905061077c818585610b60565b600191505092915050565b60008060208585905010156107a9576107a285856000610dd6565b90506107b8565b6107b58585600c610dd6565b90505b3373ffffffffffffffffffffffffffffffffffffffff167f9ffbffc04a397460ee1dbe8c9503e098090567d6b7f4b3c02a8617d800b6d9558686866006546000604051610809959493929190611521565b60405180910390a261081b8184610764565b9150509392505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600654915091509091565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361097a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610971906115e1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e090611673565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ac7919061102a565b60405180910390a3505050565b6000610ae08484610856565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b5a5781811015610b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b43906116df565b60405180910390fd5b610b59848484840361090b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc690611771565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3590611803565b60405180910390fd5b610c49838383610e4b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc690611895565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dbd919061102a565b60405180910390a3610dd0848484610e50565b50505050565b60008084848490601486610dea9190611384565b92610df7939291906113c2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060148101519150509392505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e8f578082015181840152602081019050610e74565b60008484015250505050565b6000601f19601f8301169050919050565b6000610eb782610e55565b610ec18185610e60565b9350610ed1818560208601610e71565b610eda81610e9b565b840191505092915050565b60006020820190508181036000830152610eff8184610eac565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f3c82610f11565b9050919050565b610f4c81610f31565b8114610f5757600080fd5b50565b600081359050610f6981610f43565b92915050565b6000819050919050565b610f8281610f6f565b8114610f8d57600080fd5b50565b600081359050610f9f81610f79565b92915050565b60008060408385031215610fbc57610fbb610f07565b5b6000610fca85828601610f5a565b9250506020610fdb85828601610f90565b9150509250929050565b60008115159050919050565b610ffa81610fe5565b82525050565b60006020820190506110156000830184610ff1565b92915050565b61102481610f6f565b82525050565b600060208201905061103f600083018461101b565b92915050565b60008060006060848603121561105e5761105d610f07565b5b600061106c86828701610f5a565b935050602061107d86828701610f5a565b925050604061108e86828701610f90565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f8401126110bd576110bc611098565b5b8235905067ffffffffffffffff8111156110da576110d961109d565b5b6020830191508360018202830111156110f6576110f56110a2565b5b9250929050565b6000806000806060858703121561111757611116610f07565b5b600085013567ffffffffffffffff81111561113557611134610f0c565b5b611141878288016110a7565b9450945050602061115487828801610f90565b925050604061116587828801610f90565b91505092959194509250565b61117a81610f31565b82525050565b60006020820190506111956000830184611171565b92915050565b600060ff82169050919050565b6111b18161119b565b82525050565b60006020820190506111cc60008301846111a8565b92915050565b6000602082840312156111e8576111e7610f07565b5b60006111f684828501610f5a565b91505092915050565b60006020828403121561121557611214610f07565b5b600061122384828501610f90565b91505092915050565b60008060006040848603121561124557611244610f07565b5b600084013567ffffffffffffffff81111561126357611262610f0c565b5b61126f868287016110a7565b9350935050602061128286828701610f90565b9150509250925092565b60006040820190506112a16000830185611171565b6112ae602083018461101b565b9392505050565b600080604083850312156112cc576112cb610f07565b5b60006112da85828601610f5a565b92505060206112eb85828601610f5a565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061133c57607f821691505b60208210810361134f5761134e6112f5565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061138f82610f6f565b915061139a83610f6f565b92508282019050808211156113b2576113b1611355565b5b92915050565b600080fd5b600080fd5b600080858511156113d6576113d56113b8565b5b838611156113e7576113e66113bd565b5b6001850283019150848603905094509492505050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611459602583610e60565b9150611464826113fd565b604082019050919050565b600060208201905081810360008301526114888161144c565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b60006114bb838561148f565b93506114c88385846114a0565b6114d183610e9b565b840190509392505050565b6000819050919050565b6000819050919050565b600061150b611506611501846114dc565b6114e6565b610f6f565b9050919050565b61151b816114f0565b82525050565b6000608082019050818103600083015261153c8187896114af565b905061154b602083018661101b565b611558604083018561101b565b6115656060830184611512565b9695505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006115cb602483610e60565b91506115d68261156f565b604082019050919050565b600060208201905081810360008301526115fa816115be565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061165d602283610e60565b915061166882611601565b604082019050919050565b6000602082019050818103600083015261168c81611650565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006116c9601d83610e60565b91506116d482611693565b602082019050919050565b600060208201905081810360008301526116f8816116bc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061175b602583610e60565b9150611766826116ff565b604082019050919050565b6000602082019050818103600083015261178a8161174e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006117ed602383610e60565b91506117f882611791565b604082019050919050565b6000602082019050818103600083015261181c816117e0565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061187f602683610e60565b915061188a82611823565b604082019050919050565b600060208201905081810360008301526118ae81611872565b905091905056fea2646970667358221220c86adff1e41c65306dd69ccdaa8bb5d5bfaa0708fc0084b93b9871b1e0ac601464736f6c634300081a0033"; + "0x608060405234801561001057600080fd5b5060405161208138038061208183398181016040528101906100329190610537565b8181816003908161004391906107d9565b50806004908161005391906107d9565b50505061008d336100686100d660201b60201c565b60ff16600a6100779190610a0d565b856100829190610a58565b6100df60201b60201c565b30600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050610b8b565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036101515760006040517fec442f050000000000000000000000000000000000000000000000000000000081526004016101489190610adb565b60405180910390fd5b6101636000838361016760201b60201c565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036101b95780600260008282546101ad9190610af6565b9250508190555061028c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610245578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161023c93929190610b39565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036102d55780600260008282540392505081905550610322565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037f9190610b70565b60405180910390a3505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6103b3816103a0565b81146103be57600080fd5b50565b6000815190506103d0816103aa565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610429826103e0565b810181811067ffffffffffffffff82111715610448576104476103f1565b5b80604052505050565b600061045b61038c565b90506104678282610420565b919050565b600067ffffffffffffffff821115610487576104866103f1565b5b610490826103e0565b9050602081019050919050565b60005b838110156104bb5780820151818401526020810190506104a0565b60008484015250505050565b60006104da6104d58461046c565b610451565b9050828152602081018484840111156104f6576104f56103db565b5b61050184828561049d565b509392505050565b600082601f83011261051e5761051d6103d6565b5b815161052e8482602086016104c7565b91505092915050565b6000806000606084860312156105505761054f610396565b5b600061055e868287016103c1565b935050602084015167ffffffffffffffff81111561057f5761057e61039b565b5b61058b86828701610509565b925050604084015167ffffffffffffffff8111156105ac576105ab61039b565b5b6105b886828701610509565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061061457607f821691505b602082108103610627576106266105cd565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261068f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610652565b6106998683610652565b95508019841693508086168417925050509392505050565b6000819050919050565b60006106d66106d16106cc846103a0565b6106b1565b6103a0565b9050919050565b6000819050919050565b6106f0836106bb565b6107046106fc826106dd565b84845461065f565b825550505050565b600090565b61071961070c565b6107248184846106e7565b505050565b5b818110156107485761073d600082610711565b60018101905061072a565b5050565b601f82111561078d5761075e8161062d565b61076784610642565b81016020851015610776578190505b61078a61078285610642565b830182610729565b50505b505050565b600082821c905092915050565b60006107b060001984600802610792565b1980831691505092915050565b60006107c9838361079f565b9150826002028217905092915050565b6107e2826105c2565b67ffffffffffffffff8111156107fb576107fa6103f1565b5b61080582546105fc565b61081082828561074c565b600060209050601f8311600181146108435760008415610831578287015190505b61083b85826107bd565b8655506108a3565b601f1984166108518661062d565b60005b8281101561087957848901518255600182019150602085019450602081019050610854565b868310156108965784890151610892601f89168261079f565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156109315780860481111561090d5761090c6108ab565b5b600185161561091c5780820291505b808102905061092a856108da565b94506108f1565b94509492505050565b60008261094a5760019050610a06565b816109585760009050610a06565b816001811461096e5760028114610978576109a7565b6001915050610a06565b60ff84111561098a576109896108ab565b5b8360020a9150848211156109a1576109a06108ab565b5b50610a06565b5060208310610133831016604e8410600b84101617156109dc5782820a9050838111156109d7576109d66108ab565b5b610a06565b6109e984848460016108e7565b92509050818404811115610a00576109ff6108ab565b5b81810290505b9392505050565b6000610a18826103a0565b9150610a23836103a0565b9250610a507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461093a565b905092915050565b6000610a63826103a0565b9150610a6e836103a0565b9250828202610a7c816103a0565b91508282048414831517610a9357610a926108ab565b5b5092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ac582610a9a565b9050919050565b610ad581610aba565b82525050565b6000602082019050610af06000830184610acc565b92915050565b6000610b01826103a0565b9150610b0c836103a0565b9250828201905080821115610b2457610b236108ab565b5b92915050565b610b33816103a0565b82525050565b6000606082019050610b4e6000830186610acc565b610b5b6020830185610b2a565b610b686040830184610b2a565b949350505050565b6000602082019050610b856000830184610b2a565b92915050565b6114e780610b9a6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063658612e9116100a2578063a9059cbb11610071578063a9059cbb146102ce578063c7012626146102fe578063d9eeebed1461032e578063dd62ed3e1461034d578063f7d8f6161461037d5761010b565b8063658612e914610246578063678edca31461026457806370a082311461028057806395d89b41146102b05761010b565b80632c27d3ab116100de5780632c27d3ab146101ac578063313ce567146101dc5780633e8a4ee1146101fa57806347e7ef24146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b61011861039b565b6040516101259190610e82565b60405180910390f35b61014860048036038101906101439190610f42565b61042d565b6040516101559190610f9d565b60405180910390f35b610166610450565b6040516101739190610fc7565b60405180910390f35b61019660048036038101906101919190610fe2565b61045a565b6040516101a39190610f9d565b60405180910390f35b6101c660048036038101906101c1919061109a565b610489565b6040516101d3919061111d565b60405180910390f35b6101e46104fd565b6040516101f19190611154565b60405180910390f35b610214600480360381019061020f919061116f565b610506565b005b610230600480360381019061022b9190610f42565b61054a565b60405161023d9190610f9d565b60405180910390f35b61024e610556565b60405161025b9190610fc7565b60405180910390f35b61027e6004803603810190610279919061119c565b61055c565b005b61029a6004803603810190610295919061116f565b610566565b6040516102a79190610fc7565b60405180910390f35b6102b86105ae565b6040516102c59190610e82565b60405180910390f35b6102e860048036038101906102e39190610f42565b610640565b6040516102f59190610f9d565b60405180910390f35b610318600480360381019061031391906111c9565b610663565b6040516103259190610f9d565b60405180910390f35b610336610701565b604051610344929190611229565b60405180910390f35b61036760048036038101906103629190611252565b610732565b6040516103749190610fc7565b60405180910390f35b6103856107b9565b604051610392919061111d565b60405180910390f35b6060600380546103aa906112c1565b80601f01602080910402602001604051908101604052809291908181526020018280546103d6906112c1565b80156104235780601f106103f857610100808354040283529160200191610423565b820191906000526020600020905b81548152906001019060200180831161040657829003601f168201915b5050505050905090565b6000806104386107df565b90506104458185856107e7565b600191505092915050565b6000600254905090565b6000806104656107df565b90506104728582856107f9565b61047d85858561088d565b60019150509392505050565b60008085858590858761049c9190611321565b926104a99392919061135f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905082810151915050949350505050565b60006012905090565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006001905092915050565b60065481565b8060068190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546105bd906112c1565b80601f01602080910402602001604051908101604052809291908181526020018280546105e9906112c1565b80156106365780601f1061060b57610100808354040283529160200191610636565b820191906000526020600020905b81548152906001019060200180831161061957829003601f168201915b5050505050905090565b60008061064b6107df565b905061065881858561088d565b600191505092915050565b60008060208585905010156106855761067e85856000610981565b9050610694565b6106918585600c610981565b90505b3373ffffffffffffffffffffffffffffffffffffffff167f9ffbffc04a397460ee1dbe8c9503e098090567d6b7f4b3c02a8617d800b6d95586868660065460006040516106e595949392919061142c565b60405180910390a26106f78184610640565b9150509392505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600654915091509091565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b6107f483838360016109f6565b505050565b60006108058484610732565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108875781811015610877578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161086e9392919061147a565b60405180910390fd5b610886848484840360006109f6565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108ff5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016108f6919061111d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109715760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610968919061111d565b60405180910390fd5b61097c838383610bcd565b505050565b600080848484906014866109959190611321565b926109a29392919061135f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060148101519150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610a685760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610a5f919061111d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ada5760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610ad1919061111d565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015610bc7578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bbe9190610fc7565b60405180910390a35b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c1f578060026000828254610c139190611321565b92505081905550610cf2565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610cab578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610ca29392919061147a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d3b5780600260008282540392505081905550610d88565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610de59190610fc7565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e2c578082015181840152602081019050610e11565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e5482610df2565b610e5e8185610dfd565b9350610e6e818560208601610e0e565b610e7781610e38565b840191505092915050565b60006020820190508181036000830152610e9c8184610e49565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610ed982610eae565b9050919050565b610ee981610ece565b8114610ef457600080fd5b50565b600081359050610f0681610ee0565b92915050565b6000819050919050565b610f1f81610f0c565b8114610f2a57600080fd5b50565b600081359050610f3c81610f16565b92915050565b60008060408385031215610f5957610f58610ea4565b5b6000610f6785828601610ef7565b9250506020610f7885828601610f2d565b9150509250929050565b60008115159050919050565b610f9781610f82565b82525050565b6000602082019050610fb26000830184610f8e565b92915050565b610fc181610f0c565b82525050565b6000602082019050610fdc6000830184610fb8565b92915050565b600080600060608486031215610ffb57610ffa610ea4565b5b600061100986828701610ef7565b935050602061101a86828701610ef7565b925050604061102b86828701610f2d565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f84011261105a57611059611035565b5b8235905067ffffffffffffffff8111156110775761107661103a565b5b6020830191508360018202830111156110935761109261103f565b5b9250929050565b600080600080606085870312156110b4576110b3610ea4565b5b600085013567ffffffffffffffff8111156110d2576110d1610ea9565b5b6110de87828801611044565b945094505060206110f187828801610f2d565b925050604061110287828801610f2d565b91505092959194509250565b61111781610ece565b82525050565b6000602082019050611132600083018461110e565b92915050565b600060ff82169050919050565b61114e81611138565b82525050565b60006020820190506111696000830184611145565b92915050565b60006020828403121561118557611184610ea4565b5b600061119384828501610ef7565b91505092915050565b6000602082840312156111b2576111b1610ea4565b5b60006111c084828501610f2d565b91505092915050565b6000806000604084860312156111e2576111e1610ea4565b5b600084013567ffffffffffffffff811115611200576111ff610ea9565b5b61120c86828701611044565b9350935050602061121f86828701610f2d565b9150509250925092565b600060408201905061123e600083018561110e565b61124b6020830184610fb8565b9392505050565b6000806040838503121561126957611268610ea4565b5b600061127785828601610ef7565b925050602061128885828601610ef7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112d957607f821691505b6020821081036112ec576112eb611292565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061132c82610f0c565b915061133783610f0c565b925082820190508082111561134f5761134e6112f2565b5b92915050565b600080fd5b600080fd5b6000808585111561137357611372611355565b5b838611156113845761138361135a565b5b6001850283019150848603905094509492505050565b600082825260208201905092915050565b82818337600083830152505050565b60006113c6838561139a565b93506113d38385846113ab565b6113dc83610e38565b840190509392505050565b6000819050919050565b6000819050919050565b600061141661141161140c846113e7565b6113f1565b610f0c565b9050919050565b611426816113fb565b82525050565b600060808201905081810360008301526114478187896113ba565b90506114566020830186610fb8565b6114636040830185610fb8565b611470606083018461141d565b9695505050505050565b600060608201905061148f600083018661110e565b61149c6020830185610fb8565b6114a96040830184610fb8565b94935050505056fea2646970667358221220b30e975ea29aa7b9b48f86636a08e59e029f8753a0ca6d341b9ceaf8c0f0061464736f6c634300081a0033"; type MockZRC20ConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/shared/TestUniswapRouter__factory.ts b/typechain-types/factories/contracts/shared/TestUniswapRouter__factory.ts index 0bd7cbe5..eaa2103d 100644 --- a/typechain-types/factories/contracts/shared/TestUniswapRouter__factory.ts +++ b/typechain-types/factories/contracts/shared/TestUniswapRouter__factory.ts @@ -558,7 +558,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60c060405234801561001057600080fd5b5060405161334738038061334783398181016040528101906100329190610104565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050610144565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d1826100a6565b9050919050565b6100e1816100c6565b81146100ec57600080fd5b50565b6000815190506100fe816100d8565b92915050565b6000806040838503121561011b5761011a6100a1565b5b6000610129858286016100ef565b925050602061013a858286016100ef565b9150509250929050565b60805160a05161314c6101fb6000396000818160cd015281816104600152818161049e015281816109ec01528181610e3701528181610e9001528181610ec40152610f4501526000818161055a015281816105ca015281816106c60152818161080c015281816108fc01528181610a6901528181610c6f01528181610c9801528181610d2301528181610e6e01528181611992015281816119e601528181611dc301528181611e7c0152611f24015261314c6000f3fe6080604052600436106100c65760003560e01c8063ad5c46481161007f578063c45a015511610059578063c45a015514610343578063d06ca61f1461036e578063e8e33700146103ab578063f305d719146103ea57610129565b8063ad5c46481461029d578063ad615dec146102c8578063baa2abde1461030557610129565b806302751cec1461012e578063054d50d41461016c5780631f00ca74146101a957806338ed1739146101e657806385f8c259146102235780638803dbee1461026057610129565b36610129577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012757610126612307565b5b005b600080fd5b34801561013a57600080fd5b50610155600480360381019061015091906123de565b61041c565b60405161016392919061247a565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e91906124a3565b61053d565b6040516101a091906124f6565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061266a565b610553565b6040516101dd9190612784565b60405180910390f35b3480156101f257600080fd5b5061020d60048036038101906102089190612801565b610588565b60405161021a9190612784565b60405180910390f35b34801561022f57600080fd5b5061024a600480360381019061024591906124a3565b6107b4565b60405161025791906124f6565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612801565b6107ca565b6040516102949190612784565b60405180910390f35b3480156102a957600080fd5b506102b26109ea565b6040516102bf91906128aa565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea91906124a3565b610a0e565b6040516102fc91906124f6565b60405180910390f35b34801561031157600080fd5b5061032c600480360381019061032791906128c5565b610a24565b60405161033a92919061247a565b60405180910390f35b34801561034f57600080fd5b50610358610c6d565b60405161036591906128aa565b60405180910390f35b34801561037a57600080fd5b506103956004803603810190610390919061266a565b610c91565b6040516103a29190612784565b60405180910390f35b3480156103b757600080fd5b506103d260048036038101906103cd9190612967565b610cc6565b6040516103e193929190612a1d565b60405180910390f35b61040460048036038101906103ff91906123de565b610df1565b60405161041393929190612a1d565b60405180910390f35b600080824281101561045a576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610489897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a610a24565b809350819450505061049c898685611098565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b81526004016104f591906124f6565b600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053185836111ce565b50965096945050505050565b600061054a8484846112ce565b90509392505050565b60606105807f000000000000000000000000000000000000000000000000000000000000000084846113c2565b905092915050565b606081428110156105c5576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106317f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050611554565b91508682600184516106439190612a83565b8151811061065457610653612ab7565b5b60200260200101511015610694576040517f42301c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075d868660008181106106ab576106aa612ab7565b5b90506020020160208101906106c09190612ae6565b3361073c7f00000000000000000000000000000000000000000000000000000000000000008a8a60008181106106f9576106f8612ab7565b5b905060200201602081019061070e9190612ae6565b8b8b600181811061072257610721612ab7565b5b90506020020160208101906107379190612ae6565b6116d0565b856000815181106107505761074f612ab7565b5b6020026020010151611757565b6107a982878780806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505086611890565b509695505050505050565b60006107c1848484611ae3565b90509392505050565b60608142811015610807576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108737f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506113c2565b9150868260008151811061088a57610889612ab7565b5b602002602001015111156108ca576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610993868660008181106108e1576108e0612ab7565b5b90506020020160208101906108f69190612ae6565b336109727f00000000000000000000000000000000000000000000000000000000000000008a8a600081811061092f5761092e612ab7565b5b90506020020160208101906109449190612ae6565b8b8b600181811061095857610957612ab7565b5b905060200201602081019061096d9190612ae6565b6116d0565b8560008151811061098657610985612ab7565b5b6020026020010151611757565b6109df82878780806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505086611890565b509695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610a1b848484611be4565b90509392505050565b6000808242811015610a62576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a8f7f00000000000000000000000000000000000000000000000000000000000000008c8c6116d0565b90508073ffffffffffffffffffffffffffffffffffffffff166323b872dd33838c6040518463ffffffff1660e01b8152600401610ace93929190612b13565b6020604051808303816000875af1158015610aed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b119190612b82565b506000808273ffffffffffffffffffffffffffffffffffffffff166389afcb44896040518263ffffffff1660e01b8152600401610b4e91906128aa565b60408051808303816000875af1158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b909190612bc4565b915091506000610ba08e8e611c8c565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614610bdd578183610be0565b82825b80975081985050508a871015610c22576040517f8dc525d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b89861015610c5c576040517fef71d09100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060610cbe7f00000000000000000000000000000000000000000000000000000000000000008484611554565b905092915050565b60008060008342811015610d06576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d148c8c8c8c8c8c611da6565b80945081955050506000610d497f00000000000000000000000000000000000000000000000000000000000000008e8e6116d0565b9050610d578d338388611757565b610d638c338387611757565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401610d9c91906128aa565b6020604051808303816000875af1158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190612c04565b92505050985098509895505050505050565b60008060008342811015610e31576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e5f8a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c611da6565b80945081955050506000610eb47f00000000000000000000000000000000000000000000000000000000000000008c7f00000000000000000000000000000000000000000000000000000000000000006116d0565b9050610ec28b338388611757565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015610f2a57600080fd5b505af1158015610f3e573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401610f9e929190612c31565b6020604051808303816000875af1158015610fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe19190612b82565b610fee57610fed612307565b5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b815260040161102791906128aa565b6020604051808303816000875af1158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612c04565b92508334111561108a576110893385346110849190612a83565b6111ce565b5b505096509650969350505050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016110ca929190612c31565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111189190612ccb565b6000604051808303816000865af19150503d8060008114611155576040519150601f19603f3d011682016040523d82523d6000602084013e61115a565b606091505b509150915081801561118857506000815114806111875750808060200190518101906111869190612b82565b5b5b6111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be90612d3f565b60405180910390fd5b5050505050565b60008273ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff81111561120357611202612527565b5b6040519080825280601f01601f1916602001820160405280156112355781602001600182028036833780820191505090505b506040516112439190612ccb565b60006040518083038185875af1925050503d8060008114611280576040519150601f19603f3d011682016040523d82523d6000602084013e611285565b606091505b50509050806112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c090612dd1565b60405180910390fd5b505050565b6000808403611309576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008314806113185750600082145b1561134f576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113666103e58661204690919063ffffffff16565b9050600061137d848361204690919063ffffffff16565b905060006113a88361139a6103e88961204690919063ffffffff16565b6120a290919063ffffffff16565b905080826113b69190612e20565b93505050509392505050565b6060600282511015611400576040517f20db826700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815167ffffffffffffffff81111561141b5761141a612527565b5b6040519080825280602002602001820160405280156114495781602001602082028036833780820191505090505b50905082816001835161145c9190612a83565b8151811061146d5761146c612ab7565b5b6020026020010181815250506000600183516114899190612a83565b90505b600081111561154c576000806114e387866001866114aa9190612a83565b815181106114bb576114ba612ab7565b5b60200260200101518786815181106114d6576114d5612ab7565b5b60200260200101516120fe565b9150915061150c8484815181106114fd576114fc612ab7565b5b60200260200101518383611ae3565b8460018561151a9190612a83565b8151811061152b5761152a612ab7565b5b6020026020010181815250505050808061154490612e51565b91505061148c565b509392505050565b6060600282511015611592576040517f20db826700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815167ffffffffffffffff8111156115ad576115ac612527565b5b6040519080825280602002602001820160405280156115db5781602001602082028036833780820191505090505b50905082816000815181106115f3576115f2612ab7565b5b60200260200101818152505060005b600183516116109190612a83565b8110156116c8576000806116658786858151811061163157611630612ab7565b5b6020026020010151876001876116479190612e7a565b8151811061165857611657612ab7565b5b60200260200101516120fe565b9150915061168e84848151811061167f5761167e612ab7565b5b602002602001015183836112ce565b8460018561169c9190612e7a565b815181106116ad576116ac612ab7565b5b60200260200101818152505050508080600101915050611602565b509392505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b815260040161170d929190612eae565b602060405180830381865afa15801561172a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174e9190612eec565b90509392505050565b6000808573ffffffffffffffffffffffffffffffffffffffff166323b872dd86868660405160240161178b93929190612b13565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117d99190612ccb565b6000604051808303816000865af19150503d8060008114611816576040519150601f19603f3d011682016040523d82523d6000602084013e61181b565b606091505b509150915081801561184957506000815114806118485750808060200190518101906118479190612b82565b5b5b611888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187f90612f8b565b60405180910390fd5b505050505050565b60005b600183516118a19190612a83565b811015611add576000808483815181106118be576118bd612ab7565b5b6020026020010151856001856118d49190612e7a565b815181106118e5576118e4612ab7565b5b60200260200101519150915060006118fd8383611c8c565b5090506000876001866119109190612e7a565b8151811061192157611920612ab7565b5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146119695782600061196d565b6000835b91509150600060028a516119819190612a83565b881061198d57886119df565b6119de7f0000000000000000000000000000000000000000000000000000000000000000878c60028c6119c09190612e7a565b815181106119d1576119d0612ab7565b5b60200260200101516116d0565b5b9050611a0c7f000000000000000000000000000000000000000000000000000000000000000088886116d0565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f848484600067ffffffffffffffff811115611a4557611a44612527565b5b6040519080825280601f01601f191660200182016040528015611a775781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401611a979493929190612ff5565b600060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b50505050505050505050508080600101915050611893565b50505050565b6000808403611b1e576040517f42301c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000831480611b2d5750600082145b15611b64576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611b8d6103e8611b7f878761204690919063ffffffff16565b61204690919063ffffffff16565b90506000611bb86103e5611baa888761220190919063ffffffff16565b61204690919063ffffffff16565b9050611bd960018284611bcb9190612e20565b6120a290919063ffffffff16565b925050509392505050565b6000808403611c1f576040517f5945ea5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000831480611c2e5750600082145b15611c65576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82611c79838661204690919063ffffffff16565b611c839190612e20565b90509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611cf4576040517fbd969eb000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610611d2e578284611d31565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d9f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b600080600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a439058a8a6040518363ffffffff1660e01b8152600401611e1c929190612eae565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190612eec565b73ffffffffffffffffffffffffffffffffffffffff1603611f1c5760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c9c653968a8a6040518363ffffffff1660e01b8152600401611ed5929190612eae565b6020604051808303816000875af1158015611ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f189190612eec565b9050505b600080611f4a7f00000000000000000000000000000000000000000000000000000000000000008b8b6120fe565b91509150600082148015611f5e5750600081145b15611f725787878094508195505050612039565b6000611f7f898484611be4565b9050878111611fd15785811015611fc2576040517fef71d09100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b88818095508196505050612037565b6000611fde898486611be4565b905089811115611ff157611ff0612307565b5b8781101561202b576040517f8dc525d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80898096508197505050505b505b5050965096945050505050565b60008061205c838561225d90919063ffffffff16565b80935081925050508061209b576040517f5797276a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6000806120b883856122b090919063ffffffff16565b8093508192505050806120f7576040517fa259879500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b600080600061210d8585611c8c565b50905060008061211e8888886116d0565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612168573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061218c91906130c3565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146121eb5780826121ee565b81815b8095508196505050505050935093915050565b60008061221783856122df90919063ffffffff16565b809350819250505080612256576040517f682e7c7c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b600080600084036122755760016000915091506122a9565b600083850290508385828161228d5761228c612df1565b5b04146122a05760008092509250506122a9565b60018192509250505b9250929050565b60008060008385019050848110156122cf5760008092509250506122d8565b60018192509250505b9250929050565b600080838311156122f65760008091509150612300565b6001838503915091505b9250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123758261234a565b9050919050565b6123858161236a565b811461239057600080fd5b50565b6000813590506123a28161237c565b92915050565b6000819050919050565b6123bb816123a8565b81146123c657600080fd5b50565b6000813590506123d8816123b2565b92915050565b60008060008060008060c087890312156123fb576123fa612340565b5b600061240989828a01612393565b965050602061241a89828a016123c9565b955050604061242b89828a016123c9565b945050606061243c89828a016123c9565b935050608061244d89828a01612393565b92505060a061245e89828a016123c9565b9150509295509295509295565b612474816123a8565b82525050565b600060408201905061248f600083018561246b565b61249c602083018461246b565b9392505050565b6000806000606084860312156124bc576124bb612340565b5b60006124ca868287016123c9565b93505060206124db868287016123c9565b92505060406124ec868287016123c9565b9150509250925092565b600060208201905061250b600083018461246b565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61255f82612516565b810181811067ffffffffffffffff8211171561257e5761257d612527565b5b80604052505050565b6000612591612336565b905061259d8282612556565b919050565b600067ffffffffffffffff8211156125bd576125bc612527565b5b602082029050602081019050919050565b600080fd5b60006125e66125e1846125a2565b612587565b90508083825260208201905060208402830185811115612609576126086125ce565b5b835b81811015612632578061261e8882612393565b84526020840193505060208101905061260b565b5050509392505050565b600082601f83011261265157612650612511565b5b81356126618482602086016125d3565b91505092915050565b6000806040838503121561268157612680612340565b5b600061268f858286016123c9565b925050602083013567ffffffffffffffff8111156126b0576126af612345565b5b6126bc8582860161263c565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6126fb816123a8565b82525050565b600061270d83836126f2565b60208301905092915050565b6000602082019050919050565b6000612731826126c6565b61273b81856126d1565b9350612746836126e2565b8060005b8381101561277757815161275e8882612701565b975061276983612719565b92505060018101905061274a565b5085935050505092915050565b6000602082019050818103600083015261279e8184612726565b905092915050565b600080fd5b60008083601f8401126127c1576127c0612511565b5b8235905067ffffffffffffffff8111156127de576127dd6127a6565b5b6020830191508360208202830111156127fa576127f96125ce565b5b9250929050565b60008060008060008060a0878903121561281e5761281d612340565b5b600061282c89828a016123c9565b965050602061283d89828a016123c9565b955050604087013567ffffffffffffffff81111561285e5761285d612345565b5b61286a89828a016127ab565b9450945050606061287d89828a01612393565b925050608061288e89828a016123c9565b9150509295509295509295565b6128a48161236a565b82525050565b60006020820190506128bf600083018461289b565b92915050565b600080600080600080600060e0888a0312156128e4576128e3612340565b5b60006128f28a828b01612393565b97505060206129038a828b01612393565b96505060406129148a828b016123c9565b95505060606129258a828b016123c9565b94505060806129368a828b016123c9565b93505060a06129478a828b01612393565b92505060c06129588a828b016123c9565b91505092959891949750929550565b600080600080600080600080610100898b03121561298857612987612340565b5b60006129968b828c01612393565b98505060206129a78b828c01612393565b97505060406129b88b828c016123c9565b96505060606129c98b828c016123c9565b95505060806129da8b828c016123c9565b94505060a06129eb8b828c016123c9565b93505060c06129fc8b828c01612393565b92505060e0612a0d8b828c016123c9565b9150509295985092959890939650565b6000606082019050612a32600083018661246b565b612a3f602083018561246b565b612a4c604083018461246b565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a8e826123a8565b9150612a99836123a8565b9250828203905081811115612ab157612ab0612a54565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612afc57612afb612340565b5b6000612b0a84828501612393565b91505092915050565b6000606082019050612b28600083018661289b565b612b35602083018561289b565b612b42604083018461246b565b949350505050565b60008115159050919050565b612b5f81612b4a565b8114612b6a57600080fd5b50565b600081519050612b7c81612b56565b92915050565b600060208284031215612b9857612b97612340565b5b6000612ba684828501612b6d565b91505092915050565b600081519050612bbe816123b2565b92915050565b60008060408385031215612bdb57612bda612340565b5b6000612be985828601612baf565b9250506020612bfa85828601612baf565b9150509250929050565b600060208284031215612c1a57612c19612340565b5b6000612c2884828501612baf565b91505092915050565b6000604082019050612c46600083018561289b565b612c53602083018461246b565b9392505050565b600081519050919050565b600081905092915050565b60005b83811015612c8e578082015181840152602081019050612c73565b60008484015250505050565b6000612ca582612c5a565b612caf8185612c65565b9350612cbf818560208601612c70565b80840191505092915050565b6000612cd78284612c9a565b915081905092915050565b600082825260208201905092915050565b7f5472616e7366657248656c7065723a205452414e534645525f4641494c454400600082015250565b6000612d29601f83612ce2565b9150612d3482612cf3565b602082019050919050565b60006020820190508181036000830152612d5881612d1c565b9050919050565b7f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960008201527f4c45440000000000000000000000000000000000000000000000000000000000602082015250565b6000612dbb602383612ce2565b9150612dc682612d5f565b604082019050919050565b60006020820190508181036000830152612dea81612dae565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612e2b826123a8565b9150612e36836123a8565b925082612e4657612e45612df1565b5b828204905092915050565b6000612e5c826123a8565b915060008203612e6f57612e6e612a54565b5b600182039050919050565b6000612e85826123a8565b9150612e90836123a8565b9250828201905080821115612ea857612ea7612a54565b5b92915050565b6000604082019050612ec3600083018561289b565b612ed0602083018461289b565b9392505050565b600081519050612ee68161237c565b92915050565b600060208284031215612f0257612f01612340565b5b6000612f1084828501612ed7565b91505092915050565b7f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f464160008201527f494c454400000000000000000000000000000000000000000000000000000000602082015250565b6000612f75602483612ce2565b9150612f8082612f19565b604082019050919050565b60006020820190508181036000830152612fa481612f68565b9050919050565b600082825260208201905092915050565b6000612fc782612c5a565b612fd18185612fab565b9350612fe1818560208601612c70565b612fea81612516565b840191505092915050565b600060808201905061300a600083018761246b565b613017602083018661246b565b613024604083018561289b565b81810360608301526130368184612fbc565b905095945050505050565b60006dffffffffffffffffffffffffffff82169050919050565b61306481613041565b811461306f57600080fd5b50565b6000815190506130818161305b565b92915050565b600063ffffffff82169050919050565b6130a081613087565b81146130ab57600080fd5b50565b6000815190506130bd81613097565b92915050565b6000806000606084860312156130dc576130db612340565b5b60006130ea86828701613072565b93505060206130fb86828701613072565b925050604061310c868287016130ae565b915050925092509256fea26469706673582212200fbb59fccb67e1bd3e617c6cbc36a76d5a16d1eaf37e3c69011d8fda8251aad264736f6c634300081a0033"; + "0x60c060405234801561001057600080fd5b5060405161327738038061327783398181016040528101906100329190610104565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250505050610144565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100d1826100a6565b9050919050565b6100e1816100c6565b81146100ec57600080fd5b50565b6000815190506100fe816100d8565b92915050565b6000806040838503121561011b5761011a6100a1565b5b6000610129858286016100ef565b925050602061013a858286016100ef565b9150509250929050565b60805160a05161307c6101fb6000396000818160cd015281816104600152818161049e015281816109ec01528181610e3701528181610e9001528181610ec40152610f4501526000818161055a015281816105ca015281816106c60152818161080c015281816108fc01528181610a6901528181610c6f01528181610c9801528181610d2301528181610e6e01528181611992015281816119e601528181611dc301528181611e7c0152611f24015261307c6000f3fe6080604052600436106100c65760003560e01c8063ad5c46481161007f578063c45a015511610059578063c45a015514610343578063d06ca61f1461036e578063e8e33700146103ab578063f305d719146103ea57610129565b8063ad5c46481461029d578063ad615dec146102c8578063baa2abde1461030557610129565b806302751cec1461012e578063054d50d41461016c5780631f00ca74146101a957806338ed1739146101e657806385f8c259146102235780638803dbee1461026057610129565b36610129577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012757610126612237565b5b005b600080fd5b34801561013a57600080fd5b506101556004803603810190610150919061230e565b61041c565b6040516101639291906123aa565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e91906123d3565b61053d565b6040516101a09190612426565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061259a565b610553565b6040516101dd91906126b4565b60405180910390f35b3480156101f257600080fd5b5061020d60048036038101906102089190612731565b610588565b60405161021a91906126b4565b60405180910390f35b34801561022f57600080fd5b5061024a600480360381019061024591906123d3565b6107b4565b6040516102579190612426565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612731565b6107ca565b60405161029491906126b4565b60405180910390f35b3480156102a957600080fd5b506102b26109ea565b6040516102bf91906127da565b60405180910390f35b3480156102d457600080fd5b506102ef60048036038101906102ea91906123d3565b610a0e565b6040516102fc9190612426565b60405180910390f35b34801561031157600080fd5b5061032c600480360381019061032791906127f5565b610a24565b60405161033a9291906123aa565b60405180910390f35b34801561034f57600080fd5b50610358610c6d565b60405161036591906127da565b60405180910390f35b34801561037a57600080fd5b506103956004803603810190610390919061259a565b610c91565b6040516103a291906126b4565b60405180910390f35b3480156103b757600080fd5b506103d260048036038101906103cd9190612897565b610cc6565b6040516103e19392919061294d565b60405180910390f35b61040460048036038101906103ff919061230e565b610df1565b6040516104139392919061294d565b60405180910390f35b600080824281101561045a576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610489897f00000000000000000000000000000000000000000000000000000000000000008a8a8a308a610a24565b809350819450505061049c898685611098565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b81526004016104f59190612426565b600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053185836111ce565b50965096945050505050565b600061054a8484846112ce565b90509392505050565b60606105807f000000000000000000000000000000000000000000000000000000000000000084846113c2565b905092915050565b606081428110156105c5576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106317f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050611554565b915086826001845161064391906129b3565b81518110610654576106536129e7565b5b60200260200101511015610694576040517f42301c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075d868660008181106106ab576106aa6129e7565b5b90506020020160208101906106c09190612a16565b3361073c7f00000000000000000000000000000000000000000000000000000000000000008a8a60008181106106f9576106f86129e7565b5b905060200201602081019061070e9190612a16565b8b8b6001818110610722576107216129e7565b5b90506020020160208101906107379190612a16565b6116d0565b856000815181106107505761074f6129e7565b5b6020026020010151611757565b6107a982878780806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505086611890565b509695505050505050565b60006107c1848484611ae3565b90509392505050565b60608142811015610807576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108737f000000000000000000000000000000000000000000000000000000000000000089888880806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050506113c2565b9150868260008151811061088a576108896129e7565b5b602002602001015111156108ca576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610993868660008181106108e1576108e06129e7565b5b90506020020160208101906108f69190612a16565b336109727f00000000000000000000000000000000000000000000000000000000000000008a8a600081811061092f5761092e6129e7565b5b90506020020160208101906109449190612a16565b8b8b6001818110610958576109576129e7565b5b905060200201602081019061096d9190612a16565b6116d0565b85600081518110610986576109856129e7565b5b6020026020010151611757565b6109df82878780806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505086611890565b509695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610a1b848484611be4565b90509392505050565b6000808242811015610a62576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a8f7f00000000000000000000000000000000000000000000000000000000000000008c8c6116d0565b90508073ffffffffffffffffffffffffffffffffffffffff166323b872dd33838c6040518463ffffffff1660e01b8152600401610ace93929190612a43565b6020604051808303816000875af1158015610aed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b119190612ab2565b506000808273ffffffffffffffffffffffffffffffffffffffff166389afcb44896040518263ffffffff1660e01b8152600401610b4e91906127da565b60408051808303816000875af1158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b909190612af4565b915091506000610ba08e8e611c8c565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614610bdd578183610be0565b82825b80975081985050508a871015610c22576040517f8dc525d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b89861015610c5c576040517fef71d09100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060610cbe7f00000000000000000000000000000000000000000000000000000000000000008484611554565b905092915050565b60008060008342811015610d06576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d148c8c8c8c8c8c611da6565b80945081955050506000610d497f00000000000000000000000000000000000000000000000000000000000000008e8e6116d0565b9050610d578d338388611757565b610d638c338387611757565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401610d9c91906127da565b6020604051808303816000875af1158015610dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ddf9190612b34565b92505050985098509895505050505050565b60008060008342811015610e31576040517f203d82d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e5f8a7f00000000000000000000000000000000000000000000000000000000000000008b348c8c611da6565b80945081955050506000610eb47f00000000000000000000000000000000000000000000000000000000000000008c7f00000000000000000000000000000000000000000000000000000000000000006116d0565b9050610ec28b338388611757565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015610f2a57600080fd5b505af1158015610f3e573d6000803e3d6000fd5b50505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401610f9e929190612b61565b6020604051808303816000875af1158015610fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe19190612ab2565b610fee57610fed612237565b5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b815260040161102791906127da565b6020604051808303816000875af1158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612b34565b92508334111561108a5761108933853461108491906129b3565b6111ce565b5b505096509650969350505050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016110ca929190612b61565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111189190612bfb565b6000604051808303816000865af19150503d8060008114611155576040519150601f19603f3d011682016040523d82523d6000602084013e61115a565b606091505b509150915081801561118857506000815114806111875750808060200190518101906111869190612ab2565b5b5b6111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be90612c6f565b60405180910390fd5b5050505050565b60008273ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff81111561120357611202612457565b5b6040519080825280601f01601f1916602001820160405280156112355781602001600182028036833780820191505090505b506040516112439190612bfb565b60006040518083038185875af1925050503d8060008114611280576040519150601f19603f3d011682016040523d82523d6000602084013e611285565b606091505b50509050806112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c090612d01565b60405180910390fd5b505050565b6000808403611309576040517f098fb56100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008314806113185750600082145b1561134f576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113666103e58661204690919063ffffffff16565b9050600061137d848361204690919063ffffffff16565b905060006113a88361139a6103e88961204690919063ffffffff16565b6120a690919063ffffffff16565b905080826113b69190612d50565b93505050509392505050565b6060600282511015611400576040517f20db826700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815167ffffffffffffffff81111561141b5761141a612457565b5b6040519080825280602002602001820160405280156114495781602001602082028036833780820191505090505b50905082816001835161145c91906129b3565b8151811061146d5761146c6129e7565b5b60200260200101818152505060006001835161148991906129b3565b90505b600081111561154c576000806114e387866001866114aa91906129b3565b815181106114bb576114ba6129e7565b5b60200260200101518786815181106114d6576114d56129e7565b5b60200260200101516120ed565b9150915061150c8484815181106114fd576114fc6129e7565b5b60200260200101518383611ae3565b8460018561151a91906129b3565b8151811061152b5761152a6129e7565b5b6020026020010181815250505050808061154490612d81565b91505061148c565b509392505050565b6060600282511015611592576040517f20db826700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815167ffffffffffffffff8111156115ad576115ac612457565b5b6040519080825280602002602001820160405280156115db5781602001602082028036833780820191505090505b50905082816000815181106115f3576115f26129e7565b5b60200260200101818152505060005b6001835161161091906129b3565b8110156116c85760008061166587868581518110611631576116306129e7565b5b6020026020010151876001876116479190612daa565b81518110611658576116576129e7565b5b60200260200101516120ed565b9150915061168e84848151811061167f5761167e6129e7565b5b602002602001015183836112ce565b8460018561169c9190612daa565b815181106116ad576116ac6129e7565b5b60200260200101818152505050508080600101915050611602565b509392505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663e6a4390584846040518363ffffffff1660e01b815260040161170d929190612dde565b602060405180830381865afa15801561172a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174e9190612e1c565b90509392505050565b6000808573ffffffffffffffffffffffffffffffffffffffff166323b872dd86868660405160240161178b93929190612a43565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117d99190612bfb565b6000604051808303816000865af19150503d8060008114611816576040519150601f19603f3d011682016040523d82523d6000602084013e61181b565b606091505b509150915081801561184957506000815114806118485750808060200190518101906118479190612ab2565b5b5b611888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187f90612ebb565b60405180910390fd5b505050505050565b60005b600183516118a191906129b3565b811015611add576000808483815181106118be576118bd6129e7565b5b6020026020010151856001856118d49190612daa565b815181106118e5576118e46129e7565b5b60200260200101519150915060006118fd8383611c8c565b5090506000876001866119109190612daa565b81518110611921576119206129e7565b5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146119695782600061196d565b6000835b91509150600060028a5161198191906129b3565b881061198d57886119df565b6119de7f0000000000000000000000000000000000000000000000000000000000000000878c60028c6119c09190612daa565b815181106119d1576119d06129e7565b5b60200260200101516116d0565b5b9050611a0c7f000000000000000000000000000000000000000000000000000000000000000088886116d0565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f848484600067ffffffffffffffff811115611a4557611a44612457565b5b6040519080825280601f01601f191660200182016040528015611a775781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401611a979493929190612f25565b600060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b50505050505050505050508080600101915050611893565b50505050565b6000808403611b1e576040517f42301c2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000831480611b2d5750600082145b15611b64576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611b8d6103e8611b7f878761204690919063ffffffff16565b61204690919063ffffffff16565b90506000611bb86103e5611baa88876121f090919063ffffffff16565b61204690919063ffffffff16565b9050611bd960018284611bcb9190612d50565b6120a690919063ffffffff16565b925050509392505050565b6000808403611c1f576040517f5945ea5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000831480611c2e5750600082145b15611c65576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82611c79838661204690919063ffffffff16565b611c839190612d50565b90509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611cf4576040517fbd969eb000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610611d2e578284611d31565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d9f576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250929050565b600080600073ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e6a439058a8a6040518363ffffffff1660e01b8152600401611e1c929190612dde565b602060405180830381865afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5d9190612e1c565b73ffffffffffffffffffffffffffffffffffffffff1603611f1c5760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663c9c653968a8a6040518363ffffffff1660e01b8152600401611ed5929190612dde565b6020604051808303816000875af1158015611ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f189190612e1c565b9050505b600080611f4a7f00000000000000000000000000000000000000000000000000000000000000008b8b6120ed565b91509150600082148015611f5e5750600081145b15611f725787878094508195505050612039565b6000611f7f898484611be4565b9050878111611fd15785811015611fc2576040517fef71d09100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b88818095508196505050612037565b6000611fde898486611be4565b905089811115611ff157611ff0612237565b5b8781101561202b576040517f8dc525d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80898096508197505050505b505b5050965096945050505050565b60008083148061206a575081838385029250828161206757612066612d21565b5b04145b6120a0576040517f5797276a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60008183019050828110156120e7576040517fa259879500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b60008060006120fc8585611c8c565b50905060008061210d8888886116d0565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217b9190612ff3565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16146121da5780826121dd565b81815b8095508196505050505050935093915050565b60008282111561222c576040517f682e7c7c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818303905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122a58261227a565b9050919050565b6122b58161229a565b81146122c057600080fd5b50565b6000813590506122d2816122ac565b92915050565b6000819050919050565b6122eb816122d8565b81146122f657600080fd5b50565b600081359050612308816122e2565b92915050565b60008060008060008060c0878903121561232b5761232a612270565b5b600061233989828a016122c3565b965050602061234a89828a016122f9565b955050604061235b89828a016122f9565b945050606061236c89828a016122f9565b935050608061237d89828a016122c3565b92505060a061238e89828a016122f9565b9150509295509295509295565b6123a4816122d8565b82525050565b60006040820190506123bf600083018561239b565b6123cc602083018461239b565b9392505050565b6000806000606084860312156123ec576123eb612270565b5b60006123fa868287016122f9565b935050602061240b868287016122f9565b925050604061241c868287016122f9565b9150509250925092565b600060208201905061243b600083018461239b565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61248f82612446565b810181811067ffffffffffffffff821117156124ae576124ad612457565b5b80604052505050565b60006124c1612266565b90506124cd8282612486565b919050565b600067ffffffffffffffff8211156124ed576124ec612457565b5b602082029050602081019050919050565b600080fd5b6000612516612511846124d2565b6124b7565b90508083825260208201905060208402830185811115612539576125386124fe565b5b835b81811015612562578061254e88826122c3565b84526020840193505060208101905061253b565b5050509392505050565b600082601f83011261258157612580612441565b5b8135612591848260208601612503565b91505092915050565b600080604083850312156125b1576125b0612270565b5b60006125bf858286016122f9565b925050602083013567ffffffffffffffff8111156125e0576125df612275565b5b6125ec8582860161256c565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61262b816122d8565b82525050565b600061263d8383612622565b60208301905092915050565b6000602082019050919050565b6000612661826125f6565b61266b8185612601565b935061267683612612565b8060005b838110156126a757815161268e8882612631565b975061269983612649565b92505060018101905061267a565b5085935050505092915050565b600060208201905081810360008301526126ce8184612656565b905092915050565b600080fd5b60008083601f8401126126f1576126f0612441565b5b8235905067ffffffffffffffff81111561270e5761270d6126d6565b5b60208301915083602082028301111561272a576127296124fe565b5b9250929050565b60008060008060008060a0878903121561274e5761274d612270565b5b600061275c89828a016122f9565b965050602061276d89828a016122f9565b955050604087013567ffffffffffffffff81111561278e5761278d612275565b5b61279a89828a016126db565b945094505060606127ad89828a016122c3565b92505060806127be89828a016122f9565b9150509295509295509295565b6127d48161229a565b82525050565b60006020820190506127ef60008301846127cb565b92915050565b600080600080600080600060e0888a03121561281457612813612270565b5b60006128228a828b016122c3565b97505060206128338a828b016122c3565b96505060406128448a828b016122f9565b95505060606128558a828b016122f9565b94505060806128668a828b016122f9565b93505060a06128778a828b016122c3565b92505060c06128888a828b016122f9565b91505092959891949750929550565b600080600080600080600080610100898b0312156128b8576128b7612270565b5b60006128c68b828c016122c3565b98505060206128d78b828c016122c3565b97505060406128e88b828c016122f9565b96505060606128f98b828c016122f9565b955050608061290a8b828c016122f9565b94505060a061291b8b828c016122f9565b93505060c061292c8b828c016122c3565b92505060e061293d8b828c016122f9565b9150509295985092959890939650565b6000606082019050612962600083018661239b565b61296f602083018561239b565b61297c604083018461239b565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006129be826122d8565b91506129c9836122d8565b92508282039050818111156129e1576129e0612984565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612a2c57612a2b612270565b5b6000612a3a848285016122c3565b91505092915050565b6000606082019050612a5860008301866127cb565b612a6560208301856127cb565b612a72604083018461239b565b949350505050565b60008115159050919050565b612a8f81612a7a565b8114612a9a57600080fd5b50565b600081519050612aac81612a86565b92915050565b600060208284031215612ac857612ac7612270565b5b6000612ad684828501612a9d565b91505092915050565b600081519050612aee816122e2565b92915050565b60008060408385031215612b0b57612b0a612270565b5b6000612b1985828601612adf565b9250506020612b2a85828601612adf565b9150509250929050565b600060208284031215612b4a57612b49612270565b5b6000612b5884828501612adf565b91505092915050565b6000604082019050612b7660008301856127cb565b612b83602083018461239b565b9392505050565b600081519050919050565b600081905092915050565b60005b83811015612bbe578082015181840152602081019050612ba3565b60008484015250505050565b6000612bd582612b8a565b612bdf8185612b95565b9350612bef818560208601612ba0565b80840191505092915050565b6000612c078284612bca565b915081905092915050565b600082825260208201905092915050565b7f5472616e7366657248656c7065723a205452414e534645525f4641494c454400600082015250565b6000612c59601f83612c12565b9150612c6482612c23565b602082019050919050565b60006020820190508181036000830152612c8881612c4c565b9050919050565b7f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960008201527f4c45440000000000000000000000000000000000000000000000000000000000602082015250565b6000612ceb602383612c12565b9150612cf682612c8f565b604082019050919050565b60006020820190508181036000830152612d1a81612cde565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612d5b826122d8565b9150612d66836122d8565b925082612d7657612d75612d21565b5b828204905092915050565b6000612d8c826122d8565b915060008203612d9f57612d9e612984565b5b600182039050919050565b6000612db5826122d8565b9150612dc0836122d8565b9250828201905080821115612dd857612dd7612984565b5b92915050565b6000604082019050612df360008301856127cb565b612e0060208301846127cb565b9392505050565b600081519050612e16816122ac565b92915050565b600060208284031215612e3257612e31612270565b5b6000612e4084828501612e07565b91505092915050565b7f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f464160008201527f494c454400000000000000000000000000000000000000000000000000000000602082015250565b6000612ea5602483612c12565b9150612eb082612e49565b604082019050919050565b60006020820190508181036000830152612ed481612e98565b9050919050565b600082825260208201905092915050565b6000612ef782612b8a565b612f018185612edb565b9350612f11818560208601612ba0565b612f1a81612446565b840191505092915050565b6000608082019050612f3a600083018761239b565b612f47602083018661239b565b612f5460408301856127cb565b8181036060830152612f668184612eec565b905095945050505050565b60006dffffffffffffffffffffffffffff82169050919050565b612f9481612f71565b8114612f9f57600080fd5b50565b600081519050612fb181612f8b565b92915050565b600063ffffffff82169050919050565b612fd081612fb7565b8114612fdb57600080fd5b50565b600081519050612fed81612fc7565b92915050565b60008060006060848603121561300c5761300b612270565b5b600061301a86828701612fa2565b935050602061302b86828701612fa2565b925050604061303c86828701612fde565b915050925092509256fea26469706673582212200de443cd98e1784f0239633b0e6ec8b1a5eb643b8c04be642ed678b5e32a0e4564736f6c634300081a0033"; type TestUniswapRouterConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/shared/libraries/SafeMath.sol/Math__factory.ts b/typechain-types/factories/contracts/shared/libraries/SafeMath.sol/Math__factory.ts index 8f4742b0..42ff4e96 100644 --- a/typechain-types/factories/contracts/shared/libraries/SafeMath.sol/Math__factory.ts +++ b/typechain-types/factories/contracts/shared/libraries/SafeMath.sol/Math__factory.ts @@ -28,7 +28,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207af54cb2dd5499721437ed31dac6a283e56d508d05726acae2b3bdf47d306e4d64736f6c634300081a0033"; + "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204a9fad29d6c59edd3bc2db66cea6678f11489950adda9a1a4ee3e9a9244b23f264736f6c634300081a0033"; type MathConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/shared/libraries/UniswapV2Library__factory.ts b/typechain-types/factories/contracts/shared/libraries/UniswapV2Library__factory.ts index e6782c85..43ced6b8 100644 --- a/typechain-types/factories/contracts/shared/libraries/UniswapV2Library__factory.ts +++ b/typechain-types/factories/contracts/shared/libraries/UniswapV2Library__factory.ts @@ -48,7 +48,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f5b565575e1825088d4c765f828000912cd86b9bfc543343483069cdc1a8b1cc64736f6c634300081a0033"; + "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207ef9a64ce197c9682b3e82c845cf6d7a7e225d50f9564087ad7b33869043035d64736f6c634300081a0033"; type UniswapV2LibraryConstructorParams = | [signer?: Signer] diff --git a/typechain-types/hardhat.d.ts b/typechain-types/hardhat.d.ts index 1e9cbde2..807d457d 100644 --- a/typechain-types/hardhat.d.ts +++ b/typechain-types/hardhat.d.ts @@ -12,6 +12,18 @@ import * as Contracts from "."; declare module "hardhat/types/runtime" { interface HardhatEthersHelpers extends HardhatEthersHelpersBase { + getContractFactory( + name: "IERC1155Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; getContractFactory( name: "ERC20", signerOrOptions?: ethers.Signer | FactoryOptions @@ -217,6 +229,21 @@ declare module "hardhat/types/runtime" { signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; + getContractAt( + name: "IERC1155Errors", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Errors", + address: string, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Errors", + address: string, + signer?: ethers.Signer + ): Promise; getContractAt( name: "ERC20", address: string, diff --git a/typechain-types/index.ts b/typechain-types/index.ts index 88a5b554..04e4d24c 100644 --- a/typechain-types/index.ts +++ b/typechain-types/index.ts @@ -10,6 +10,12 @@ export type { zetachain }; import type * as contracts from "./contracts"; export type { contracts }; export * as factories from "./factories"; +export type { IERC1155Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors"; +export { IERC1155Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory"; +export type { IERC20Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors"; +export { IERC20Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory"; +export type { IERC721Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors"; +export { IERC721Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory"; export type { ERC20 } from "./@openzeppelin/contracts/token/ERC20/ERC20"; export { ERC20__factory } from "./factories/@openzeppelin/contracts/token/ERC20/ERC20__factory"; export type { IERC20Metadata } from "./@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata"; diff --git a/yarn.lock b/yarn.lock index a348c937..4c597095 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1264,10 +1264,15 @@ table "^6.8.0" undici "^5.14.0" -"@openzeppelin/contracts@^4.9.6": - version "4.9.6" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.6.tgz#2a880a24eb19b4f8b25adc2a5095f2aa27f39677" - integrity sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA== +"@openzeppelin/contracts-upgradeable@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-5.0.2.tgz#3e5321a2ecdd0b206064356798c21225b6ec7105" + integrity sha512-0MmkHSHiW2NRFiT9/r5Lu4eJq5UJ4/tzlOgYXNAIj/ONkQTVnz22pLxDvp4C4uZ9he7ZFvGn3Driptn1/iU7tQ== + +"@openzeppelin/contracts@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-5.0.2.tgz#b1d03075e49290d06570b2fd42154d76c2a5d210" + integrity sha512-ytPc6eLGcHHnapAZ9S+5qsdomhjo6QBHTDRRBFfTxXIpsicMhVPouPgmUPebZZZGX7vt9USA+Z+0M0dSVtSUEA== "@pkgjs/parseargs@^0.11.0": version "0.11.0"