@1inch/solidity-utils 4.1.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +1 -1
  2. package/contracts/interfaces/IERC7597Permit.sol +13 -0
  3. package/contracts/libraries/BySigTraits.sol +37 -5
  4. package/contracts/libraries/SafeERC20.sol +1 -1
  5. package/contracts/mixins/BySig.sol +220 -0
  6. package/contracts/mixins/EthReceiver.sol +27 -0
  7. package/contracts/mixins/OnlyWethReceiver.sol +31 -0
  8. package/contracts/mixins/PermitAndCall.sol +39 -0
  9. package/contracts/mixins/SelfdestructEthSender.sol +32 -0
  10. package/contracts/mocks/SelfdestructEthSenderMock.sol +10 -0
  11. package/dist/docgen/index.d.ts +2 -0
  12. package/dist/docgen/index.js +7 -0
  13. package/dist/docgen/index.js.map +1 -0
  14. package/dist/docgen/templates.d.ts +6 -0
  15. package/dist/docgen/templates.js +15 -0
  16. package/dist/docgen/templates.js.map +1 -0
  17. package/dist/hardhat-setup/networks.d.ts +6 -1
  18. package/dist/hardhat-setup/networks.js +1 -1
  19. package/dist/hardhat-setup/networks.js.map +1 -1
  20. package/dist/src/permit.d.ts +14 -2
  21. package/dist/src/permit.js +14 -2
  22. package/dist/src/permit.js.map +1 -1
  23. package/dist/src/utils.d.ts +41 -15
  24. package/dist/src/utils.js +9 -11
  25. package/dist/src/utils.js.map +1 -1
  26. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.d.ts +1 -1
  27. package/dist/typechain-types/factories/contracts/libraries/BySigTraits__factory.js +1 -1
  28. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
  29. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
  30. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
  31. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
  32. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.d.ts +1 -1
  33. package/dist/typechain-types/factories/contracts/mocks/SelfdestructEthSenderMock__factory.js +1 -1
  34. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.d.ts +1 -1
  35. package/dist/typechain-types/factories/contracts/tests/mocks/BySigTraitsMock__factory.js +1 -1
  36. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
  37. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
  38. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
  39. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
  40. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
  41. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
  42. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
  43. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
  44. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
  45. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
  46. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
  47. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
  48. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
  49. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
  50. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
  51. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
  52. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
  53. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
  54. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
  55. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
  56. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
  57. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
  58. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
  59. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
  60. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
  61. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
  62. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
  63. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
  64. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
  65. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
  66. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
  67. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
  68. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
  69. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
  70. package/package.json +9 -6
  71. package/utils/README.md +21 -3
  72. package/utils/docify.utils.js +1 -32
  73. package/utils/contract.hbs +0 -69
@@ -1 +1 @@
1
- {"version":3,"file":"permit.js","sourceRoot":"","sources":["../../src/permit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permit.js","sourceRoot":"","sources":["../../src/permit.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,23 @@ import '@nomicfoundation/hardhat-ethers';
2
2
  import { BaseContract, BigNumberish, BytesLike, Contract, ContractTransactionReceipt, ContractTransactionResponse, JsonRpcProvider, Signer, Wallet } from 'ethers';
3
3
  import { DeployOptions, DeployResult } from 'hardhat-deploy/types';
4
4
  import { constants } from './prelude';
5
- interface DeployContractOptions {
5
+ /**
6
+ * @category utils
7
+ * @notice Options for deployment methods.
8
+ * @param contractName Name of the contract to deploy.
9
+ * @param constructorArgs Arguments for the contract's constructor.
10
+ * @param deployments Deployment facilitator object from Hardhat.
11
+ * @param deployer Wallet deploying the contract.
12
+ * @param deploymentName Optional custom name for deployment.
13
+ * @param skipVerify Skips Etherscan verification if true.
14
+ * @param skipIfAlreadyDeployed Avoids redeployment if contract already deployed.
15
+ * @param gasPrice Gas strategy option.
16
+ * @param maxPriorityFeePerGas Gas strategy option.
17
+ * @param maxFeePerGas Gas strategy option.
18
+ * @param log Toggles deployment logging.
19
+ * @param waitConfirmations Number of confirmations to wait based on network. Ussually it's need for waiting before Etherscan verification.
20
+ */
21
+ export interface DeployContractOptions {
6
22
  contractName: string;
7
23
  constructorArgs?: any[];
8
24
  deployments: {
@@ -21,19 +37,15 @@ interface DeployContractOptions {
21
37
  /**
22
38
  * @category utils
23
39
  * @notice Deploys a contract with optional Etherscan verification.
24
- * @param contractName Name of the contract to deploy.
25
- * @param constructorArgs Arguments for the contract's constructor.
26
- * @param deployments Deployment facilitator object from Hardhat.
27
- * @param deployer Address deploying the contract.
28
- * @param deploymentName Optional custom name for deployment; defaults to contract name.
29
- * @param skipVerify Skips Etherscan verification if true.
30
- * @param skipIfAlreadyDeployed Avoids redeployment if contract already deployed.
31
- * @param gasPrice, maxPriorityFeePerGas, maxFeePerGas Gas strategy options.
32
- * @param log Toggles deployment logging.
33
- * @param waitConfirmations Number of confirmations to wait based on network. Ussually it's need for waiting before Etherscan verification.
40
+ * @param options Deployment options. Default values:
41
+ * - deploymentName: contractName
42
+ * - skipVerify: false
43
+ * - skipIfAlreadyDeployed: true
44
+ * - log: true
45
+ * - waitConfirmations: 1 on dev chains, 6 on others
34
46
  * @returns The deployed contract instance.
35
47
  */
36
- export declare function deployAndGetContract({ contractName, constructorArgs, deployments, deployer, deploymentName, skipVerify, skipIfAlreadyDeployed, gasPrice, maxPriorityFeePerGas, maxFeePerGas, log, waitConfirmations, }: DeployContractOptions): Promise<Contract>;
48
+ export declare function deployAndGetContract(options: DeployContractOptions): Promise<Contract>;
37
49
  /**
38
50
  * @category utils
39
51
  * @notice Advances the blockchain time to a specific timestamp for testing purposes.
@@ -58,11 +70,26 @@ export declare function deployContract(name: string, parameters?: Array<BigNumbe
58
70
  * @returns The deployed contract instance.
59
71
  */
60
72
  export declare function deployContractFromBytecode(abi: any[], bytecode: BytesLike, parameters?: Array<BigNumberish>, signer?: Signer): Promise<BaseContract>;
61
- type Token = {
73
+ /**
74
+ * @category utils
75
+ * Represents the interface for a token, providing methods to fetch its balance and address.
76
+ * This type is used in `trackReceivedTokenAndTx` method.
77
+ * @param balanceOf Method which retrieves the balance of the specified address.
78
+ * @param getAddress Method which retrieves the token contract's address.
79
+ */
80
+ export type Token = {
62
81
  balanceOf: (address: string) => Promise<bigint>;
63
82
  getAddress: () => Promise<string>;
64
83
  };
65
- type TrackReceivedTokenAndTxResult = [bigint, ContractTransactionReceipt | TrackReceivedTokenAndTxResult];
84
+ /**
85
+ * @category utils
86
+ * @notice Represents a tuple containing a token quantity and either a transaction receipt or a recursive instance of the same tuple type.
87
+ * This type is used in `trackReceivedTokenAndTx` method to track token transfers and their transaction receipts in a nested structure,
88
+ * allowing for handling of complex scenarios like chained or batched transactions and tracking several tokens.
89
+ * - result[0]: The amount of the token received.
90
+ * - result[1]: The transaction receipt or another nested token tracking result.
91
+ */
92
+ export type TrackReceivedTokenAndTxResult = [bigint, ContractTransactionReceipt | TrackReceivedTokenAndTxResult];
66
93
  /**
67
94
  * @category utils
68
95
  * @notice Tracks token balance changes and transaction receipts for specified wallet addresses during test scenarios.
@@ -120,4 +147,3 @@ export declare function countInstructions(provider: JsonRpcProvider | {
120
147
  * @return The price of the specified native token in USD, scaled by 1e18 to preserve precision.
121
148
  */
122
149
  export declare function getEthPrice(nativeTokenSymbol?: string): Promise<bigint>;
123
- export {};
package/dist/src/utils.js CHANGED
@@ -10,19 +10,17 @@ const prelude_1 = require("./prelude");
10
10
  /**
11
11
  * @category utils
12
12
  * @notice Deploys a contract with optional Etherscan verification.
13
- * @param contractName Name of the contract to deploy.
14
- * @param constructorArgs Arguments for the contract's constructor.
15
- * @param deployments Deployment facilitator object from Hardhat.
16
- * @param deployer Address deploying the contract.
17
- * @param deploymentName Optional custom name for deployment; defaults to contract name.
18
- * @param skipVerify Skips Etherscan verification if true.
19
- * @param skipIfAlreadyDeployed Avoids redeployment if contract already deployed.
20
- * @param gasPrice, maxPriorityFeePerGas, maxFeePerGas Gas strategy options.
21
- * @param log Toggles deployment logging.
22
- * @param waitConfirmations Number of confirmations to wait based on network. Ussually it's need for waiting before Etherscan verification.
13
+ * @param options Deployment options. Default values:
14
+ * - deploymentName: contractName
15
+ * - skipVerify: false
16
+ * - skipIfAlreadyDeployed: true
17
+ * - log: true
18
+ * - waitConfirmations: 1 on dev chains, 6 on others
23
19
  * @returns The deployed contract instance.
24
20
  */
25
- async function deployAndGetContract({ contractName, constructorArgs, deployments, deployer, deploymentName = contractName, skipVerify = false, skipIfAlreadyDeployed = true, gasPrice, maxPriorityFeePerGas, maxFeePerGas, log = true, waitConfirmations = prelude_1.constants.DEV_CHAINS.includes(hardhat_1.default.network.name) ? 1 : 6, }) {
21
+ async function deployAndGetContract(options) {
22
+ // Set default values for options
23
+ const { contractName, constructorArgs, deployments, deployer, deploymentName = contractName, skipVerify = false, skipIfAlreadyDeployed = true, gasPrice, maxPriorityFeePerGas, maxFeePerGas, log = true, waitConfirmations = prelude_1.constants.DEV_CHAINS.includes(hardhat_1.default.network.name) ? 1 : 6, } = options;
26
24
  /**
27
25
  * Deploys contract and tries to verify it on Etherscan if requested.
28
26
  * @remarks
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class BySigTraits__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): BySigTraits__factory;
17
- static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212201c5f413eb4267a7b813ca5a3a3b5b0d4dd2f24d17ae08406a7233bda96f4fefa64736f6c63430008190033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212207a1e7584828109d42af34284144b3da003bc43413a63aa9540b923578e9c518b64736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "WrongNonceType";
@@ -12,7 +12,7 @@ const _abi = [
12
12
  type: "error",
13
13
  },
14
14
  ];
15
- const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212201c5f413eb4267a7b813ca5a3a3b5b0d4dd2f24d17ae08406a7233bda96f4fefa64736f6c63430008190033";
15
+ const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212207a1e7584828109d42af34284144b3da003bc43413a63aa9540b923578e9c518b64736f6c63430008190033";
16
16
  const isSuperArgs = (xs) => xs.length > 1;
17
17
  class BySigTraits__factory extends ethers_1.ContractFactory {
18
18
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class SafeERC20__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): SafeERC20__factory;
17
- static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220c51210c82009e66d00725c29d0559e68f351941627861380ce699e0de76ef40864736f6c63430008190033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122043bd539b8502a10d6cd2a13a276816a6aa39adb475b6f377ee775b91eb8aa96564736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "ForceApproveFailed";
@@ -42,7 +42,7 @@ const _abi = [
42
42
  type: "error",
43
43
  },
44
44
  ];
45
- const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220c51210c82009e66d00725c29d0559e68f351941627861380ce699e0de76ef40864736f6c63430008190033";
45
+ const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122043bd539b8502a10d6cd2a13a276816a6aa39adb475b6f377ee775b91eb8aa96564736f6c63430008190033";
46
46
  const isSuperArgs = (xs) => xs.length > 1;
47
47
  class SafeERC20__factory extends ethers_1.ContractFactory {
48
48
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class UniERC20__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): UniERC20__factory;
17
- static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212205c9282c6a8b0287758071ede9c053ed7583f7e823042d12ee60b06ce0de1982964736f6c63430008190033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220cdb9bbb447241ad126d2f05faa8510d0cb6f4d9fab9379cea36e56ace21759d564736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "ApproveCalledOnETH";
@@ -37,7 +37,7 @@ const _abi = [
37
37
  type: "error",
38
38
  },
39
39
  ];
40
- const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212205c9282c6a8b0287758071ede9c053ed7583f7e823042d12ee60b06ce0de1982964736f6c63430008190033";
40
+ const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220cdb9bbb447241ad126d2f05faa8510d0cb6f4d9fab9379cea36e56ace21759d564736f6c63430008190033";
41
41
  const isSuperArgs = (xs) => xs.length > 1;
42
42
  class UniERC20__factory extends ethers_1.ContractFactory {
43
43
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class SelfdestructEthSenderMock__factory extends ContractFactory
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): SelfdestructEthSenderMock__factory;
17
- static readonly bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe608060405260048036101561001c575b50361561001a575f80fd5b005b5f3560e01c8063106637931461017a576363b6b31f0361000f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017657803573ffffffffffffffffffffffffffffffffffffffff8116809103610176575f8080809347905af13d156101715767ffffffffffffffff3d8181116101455760405191601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168301908111838210176101195760405281525f60203d92013e5b156100f157005b6040517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6041847f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6100ea565b5f80fd5b50346101765760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176573573ffffffffffffffffffffffffffffffffffffffff8116810361017657fffea2646970667358221220040cd097497cc69dd7fb79ae504f1f483eee25a1f76d7ecf51f7d729f022728664736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe608060405260048036101561001c575b50361561001a575f80fd5b005b5f3560e01c8063106637931461017a576363b6b31f0361000f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017657803573ffffffffffffffffffffffffffffffffffffffff8116809103610176575f8080809347905af13d156101715767ffffffffffffffff3d8181116101455760405191601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168301908111838210176101195760405281525f60203d92013e5b156100f157005b6040517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6041847f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6100ea565b5f80fd5b50346101765760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176573573ffffffffffffffffffffffffffffffffffffffff8116810361017657fffea26469706673582212201688424ab6b4d61a08cc69cd202cc2ea49e479e42b236a249da4c4e5f9067d2a64736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "ETHTransferFailed";
@@ -42,7 +42,7 @@ const _abi = [
42
42
  type: "receive",
43
43
  },
44
44
  ];
45
- const _bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe608060405260048036101561001c575b50361561001a575f80fd5b005b5f3560e01c8063106637931461017a576363b6b31f0361000f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017657803573ffffffffffffffffffffffffffffffffffffffff8116809103610176575f8080809347905af13d156101715767ffffffffffffffff3d8181116101455760405191601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168301908111838210176101195760405281525f60203d92013e5b156100f157005b6040517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6041847f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6100ea565b5f80fd5b50346101765760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176573573ffffffffffffffffffffffffffffffffffffffff8116810361017657fffea2646970667358221220040cd097497cc69dd7fb79ae504f1f483eee25a1f76d7ecf51f7d729f022728664736f6c63430008190033";
45
+ const _bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe608060405260048036101561001c575b50361561001a575f80fd5b005b5f3560e01c8063106637931461017a576363b6b31f0361000f5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017657803573ffffffffffffffffffffffffffffffffffffffff8116809103610176575f8080809347905af13d156101715767ffffffffffffffff3d8181116101455760405191601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168301908111838210176101195760405281525f60203d92013e5b156100f157005b6040517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6041847f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6100ea565b5f80fd5b50346101765760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610176573573ffffffffffffffffffffffffffffffffffffffff8116810361017657fffea26469706673582212201688424ab6b4d61a08cc69cd202cc2ea49e479e42b236a249da4c4e5f9067d2a64736f6c63430008190033";
46
46
  const isSuperArgs = (xs) => xs.length > 1;
47
47
  class SelfdestructEthSenderMock__factory extends ethers_1.ContractFactory {
48
48
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class BySigTraitsMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): BySigTraitsMock__factory;
17
- static readonly bytecode = "0x60808060405234601557610240908161001a8239f35b5f80fdfe608060409080825260049081361015610016575f80fd5b5f3560e01c9081631941c38614610185575080639c7091c6146100df578063c40dc8ec1461009b5763ce03fdab1461004c575f80fd5b346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097576fffffffffffffffffffffffffffffffff602092519135168152f35b5f80fd5b50346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975764ffffffffff60209251913560d01c168152f35b5090346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009757813560fe1c906002821161015d576003821015610131576020925051908152f35b6021837f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b9050517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90508234610097577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975760243573ffffffffffffffffffffffffffffffffffffffff811681036100975760209269ffffffffffffffffffff80913560801c169081159283156101fe575b50505015158152f35b161490508380806101f556fea26469706673582212206f1a97dbeec4c79ac610b76cf9847f5deac3f4d2a5e17bba4d93fd50adc6bcfa64736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610240908161001a8239f35b5f80fdfe608060409080825260049081361015610016575f80fd5b5f3560e01c9081631941c38614610185575080639c7091c6146100df578063c40dc8ec1461009b5763ce03fdab1461004c575f80fd5b346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097576fffffffffffffffffffffffffffffffff602092519135168152f35b5f80fd5b50346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975764ffffffffff60209251913560d01c168152f35b5090346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009757813560fe1c906002821161015d576003821015610131576020925051908152f35b6021837f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b9050517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90508234610097577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975760243573ffffffffffffffffffffffffffffffffffffffff811681036100975760209269ffffffffffffffffffff80913560801c169081159283156101fe575b50505015158152f35b161490508380806101f556fea2646970667358221220f87da6bd7532459cb34570564f79e6d7163e0ba0145c08e19184969f40db38d364736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "WrongNonceType";
@@ -93,7 +93,7 @@ const _abi = [
93
93
  type: "function",
94
94
  },
95
95
  ];
96
- const _bytecode = "0x60808060405234601557610240908161001a8239f35b5f80fdfe608060409080825260049081361015610016575f80fd5b5f3560e01c9081631941c38614610185575080639c7091c6146100df578063c40dc8ec1461009b5763ce03fdab1461004c575f80fd5b346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097576fffffffffffffffffffffffffffffffff602092519135168152f35b5f80fd5b50346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975764ffffffffff60209251913560d01c168152f35b5090346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009757813560fe1c906002821161015d576003821015610131576020925051908152f35b6021837f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b9050517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90508234610097577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975760243573ffffffffffffffffffffffffffffffffffffffff811681036100975760209269ffffffffffffffffffff80913560801c169081159283156101fe575b50505015158152f35b161490508380806101f556fea26469706673582212206f1a97dbeec4c79ac610b76cf9847f5deac3f4d2a5e17bba4d93fd50adc6bcfa64736f6c63430008190033";
96
+ const _bytecode = "0x60808060405234601557610240908161001a8239f35b5f80fdfe608060409080825260049081361015610016575f80fd5b5f3560e01c9081631941c38614610185575080639c7091c6146100df578063c40dc8ec1461009b5763ce03fdab1461004c575f80fd5b346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097576fffffffffffffffffffffffffffffffff602092519135168152f35b5f80fd5b50346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975764ffffffffff60209251913560d01c168152f35b5090346100975760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009757813560fe1c906002821161015d576003821015610131576020925051908152f35b6021837f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b9050517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90508234610097577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975760243573ffffffffffffffffffffffffffffffffffffffff811681036100975760209269ffffffffffffffffffff80913560801c169081159283156101fe575b50505015158152f35b161490508380806101f556fea2646970667358221220f87da6bd7532459cb34570564f79e6d7163e0ba0145c08e19184969f40db38d364736f6c63430008190033";
97
97
  const isSuperArgs = (xs) => xs.length > 1;
98
98
  class BySigTraitsMock__factory extends ethers_1.ContractFactory {
99
99
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class PermitAndCallMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): PermitAndCallMock__factory;
17
- static readonly bytecode = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea2646970667358221220f772df87de5fb8b4f3bd3060b7e540a47a87d2a04aa4a9e8de7f0ec233538cf764736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea264697066735822122059cce282d07f0defef2dfd18591b65de952051909ab2f650db1e253c261cc05564736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly anonymous: false;
20
20
  readonly inputs: readonly [];
@@ -58,7 +58,7 @@ const _abi = [
58
58
  type: "function",
59
59
  },
60
60
  ];
61
- const _bytecode = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea2646970667358221220f772df87de5fb8b4f3bd3060b7e540a47a87d2a04aa4a9e8de7f0ec233538cf764736f6c63430008190033";
61
+ const _bytecode = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea264697066735822122059cce282d07f0defef2dfd18591b65de952051909ab2f650db1e253c261cc05564736f6c63430008190033";
62
62
  const isSuperArgs = (xs) => xs.length > 1;
63
63
  class PermitAndCallMock__factory extends ethers_1.ContractFactory {
64
64
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class PermitableMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): PermitableMock__factory;
17
- static readonly bytecode = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea2646970667358221220b72dd709874817bf308498731f1ec377d0d2ad679a48b5a389e566ceaa1caed864736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea264697066735822122074d79b10f12e1cb0576953774b77330ed259a849d16fab7905d9728057aded2f64736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "contract IERC20";
@@ -43,7 +43,7 @@ const _abi = [
43
43
  type: "function",
44
44
  },
45
45
  ];
46
- const _bytecode = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea2646970667358221220b72dd709874817bf308498731f1ec377d0d2ad679a48b5a389e566ceaa1caed864736f6c63430008190033";
46
+ const _bytecode = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea264697066735822122074d79b10f12e1cb0576953774b77330ed259a849d16fab7905d9728057aded2f64736f6c63430008190033";
47
47
  const isSuperArgs = (xs) => xs.length > 1;
48
48
  class PermitableMock__factory extends ethers_1.ContractFactory {
49
49
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class ERC20NoReturnMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC20NoReturnMock__factory;
17
- static readonly bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea26469706673582212202783779e6a1f95581b34521d1917f051e8ba4f2fd1eacea0c389a3a89634467264736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea264697066735822122036235c6e013899fa27dcb74f509f2719df8497f851d9f200a7061407d09cd0c364736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -103,7 +103,7 @@ const _abi = [
103
103
  type: "function",
104
104
  },
105
105
  ];
106
- const _bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea26469706673582212202783779e6a1f95581b34521d1917f051e8ba4f2fd1eacea0c389a3a89634467264736f6c63430008190033";
106
+ const _bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea264697066735822122036235c6e013899fa27dcb74f509f2719df8497f851d9f200a7061407d09cd0c364736f6c63430008190033";
107
107
  const isSuperArgs = (xs) => xs.length > 1;
108
108
  class ERC20NoReturnMock__factory extends ethers_1.ContractFactory {
109
109
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class ERC20PermitNoRevertMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC20PermitNoRevertMock__factory;
17
- static readonly bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220767b0d497b7dae16c3cfc01c9040630c25ccc579f554448e5248b67a79c6061464736f6c63430008190033";
17
+ static readonly bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220d83fb92f4f4405600b96d651fdfeed20934d31e64d0e31d532dd462d014c770664736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [];
20
20
  readonly name: "ECDSAInvalidSignature";
@@ -581,7 +581,7 @@ const _abi = [
581
581
  type: "function",
582
582
  },
583
583
  ];
584
- const _bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220767b0d497b7dae16c3cfc01c9040630c25ccc579f554448e5248b67a79c6061464736f6c63430008190033";
584
+ const _bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220d83fb92f4f4405600b96d651fdfeed20934d31e64d0e31d532dd462d014c770664736f6c63430008190033";
585
585
  const isSuperArgs = (xs) => xs.length > 1;
586
586
  class ERC20PermitNoRevertMock__factory extends ethers_1.ContractFactory {
587
587
  constructor(...args) {