@1inch/solidity-utils 5.2.0 → 5.2.2

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 (49) hide show
  1. package/contracts/interfaces/IPermit2.sol +11 -0
  2. package/contracts/libraries/ECDSA.sol +3 -3
  3. package/dist/typechain-types/contracts/interfaces/IPermit2.d.ts +19 -1
  4. package/dist/typechain-types/factories/contracts/interfaces/IPermit2__factory.d.ts +22 -0
  5. package/dist/typechain-types/factories/contracts/interfaces/IPermit2__factory.js +28 -0
  6. package/dist/typechain-types/factories/contracts/interfaces/IPermit2__factory.js.map +1 -1
  7. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.d.ts +1 -1
  8. package/dist/typechain-types/factories/contracts/libraries/SafeERC20__factory.js +1 -1
  9. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.d.ts +1 -1
  10. package/dist/typechain-types/factories/contracts/libraries/UniERC20__factory.js +1 -1
  11. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.d.ts +1 -1
  12. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js +1 -1
  13. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.d.ts +1 -1
  14. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js +1 -1
  15. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.d.ts +1 -1
  16. package/dist/typechain-types/factories/contracts/tests/mocks/PermitAndCallMock__factory.js +1 -1
  17. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.d.ts +1 -1
  18. package/dist/typechain-types/factories/contracts/tests/mocks/PermitableMock__factory.js +1 -1
  19. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.d.ts +1 -1
  20. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20NoReturnMock__factory.js +1 -1
  21. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.d.ts +1 -1
  22. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20PermitNoRevertMock__factory.js +1 -1
  23. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.d.ts +1 -1
  24. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnFalseMock__factory.js +1 -1
  25. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.d.ts +1 -1
  26. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ReturnTrueMock__factory.js +1 -1
  27. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.d.ts +1 -1
  28. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20ThroughZeroApprove__factory.js +1 -1
  29. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.d.ts +1 -1
  30. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/ERC20WithSafeBalance__factory.js +1 -1
  31. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.d.ts +1 -1
  32. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/Permit2ReturnTrueMock__factory.js +1 -1
  33. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.d.ts +1 -1
  34. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeERC20Wrapper__factory.js +1 -1
  35. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.d.ts +1 -1
  36. package/dist/typechain-types/factories/contracts/tests/mocks/SafeERC20Helper.sol/SafeWETHWrapper__factory.js +1 -1
  37. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
  38. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
  39. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.d.ts +1 -1
  40. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20Capitals__factory.js +1 -1
  41. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.d.ts +1 -1
  42. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32Capitals__factory.js +1 -1
  43. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.d.ts +1 -1
  44. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ERC20bytes32__factory.js +1 -1
  45. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.d.ts +1 -1
  46. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/ETHBadReceiver__factory.js +1 -1
  47. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.d.ts +1 -1
  48. package/dist/typechain-types/factories/contracts/tests/mocks/UniERC20Helper.sol/UniERC20Wrapper__factory.js +1 -1
  49. package/package.json +1 -1
@@ -70,4 +70,15 @@ interface IPermit2 {
70
70
  * @return The packed allowance details.
71
71
  */
72
72
  function allowance(address user, address token, address spender) external view returns (PackedAllowance memory);
73
+
74
+ /**
75
+ * @notice Approves the spender to use up to amount of the specified token up until the expiration
76
+ * @param token The token to approve
77
+ * @param spender The spender address to approve
78
+ * @param amount The approved amount of the token
79
+ * @param expiration The timestamp at which the approval is no longer valid
80
+ * @dev The packed allowance also holds a nonce, which will stay unchanged in approve
81
+ * @dev Setting amount to type(uint160).max sets an unlimited approval
82
+ */
83
+ function approve(address token, address spender, uint160 amount, uint48 expiration) external;
73
84
  }
@@ -231,7 +231,7 @@ library ECDSA {
231
231
  bytes calldata signature
232
232
  ) internal view returns (bool success) {
233
233
  // (bool success, bytes memory data) = signer.staticcall(abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, signature));
234
- // return success && data.length >= 4 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
234
+ // return success && data.length == 32 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
235
235
  bytes4 selector = IERC1271.isValidSignature.selector;
236
236
  assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
237
237
  let ptr := mload(0x40)
@@ -297,7 +297,7 @@ library ECDSA {
297
297
  bytes32 vs
298
298
  ) internal view returns (bool success) {
299
299
  // (bool success, bytes memory data) = signer.staticcall(abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, abi.encodePacked(r, vs)));
300
- // return success && data.length >= 4 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
300
+ // return success && data.length == 32 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
301
301
  bytes4 selector = IERC1271.isValidSignature.selector;
302
302
  assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
303
303
  let ptr := mload(0x40)
@@ -329,7 +329,7 @@ library ECDSA {
329
329
  bytes32 vs
330
330
  ) internal view returns (bool success) {
331
331
  // (bool success, bytes memory data) = signer.staticcall(abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, abi.encodePacked(r, vs & ~uint256(1 << 255), uint8(vs >> 255))));
332
- // return success && data.length >= 4 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
332
+ // return success && data.length == 32 && abi.decode(data, (bytes4)) == IERC1271.isValidSignature.selector;
333
333
  bytes4 selector = IERC1271.isValidSignature.selector;
334
334
  assembly ("memory-safe") { // solhint-disable-line no-inline-assembly
335
335
  let ptr := mload(0x40)
@@ -48,11 +48,13 @@ export declare namespace IPermit2 {
48
48
  };
49
49
  }
50
50
  export interface IPermit2Interface extends Interface {
51
- getFunction(nameOrSignature: "allowance" | "permit" | "transferFrom"): FunctionFragment;
51
+ getFunction(nameOrSignature: "allowance" | "approve" | "permit" | "transferFrom"): FunctionFragment;
52
52
  encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike, AddressLike]): string;
53
+ encodeFunctionData(functionFragment: "approve", values: [AddressLike, AddressLike, BigNumberish, BigNumberish]): string;
53
54
  encodeFunctionData(functionFragment: "permit", values: [AddressLike, IPermit2.PermitSingleStruct, BytesLike]): string;
54
55
  encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish, AddressLike]): string;
55
56
  decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result;
57
+ decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
56
58
  decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result;
57
59
  decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
58
60
  }
@@ -76,6 +78,14 @@ export interface IPermit2 extends BaseContract {
76
78
  ], [
77
79
  IPermit2.PackedAllowanceStructOutput
78
80
  ], "view">;
81
+ approve: TypedContractMethod<[
82
+ token: AddressLike,
83
+ spender: AddressLike,
84
+ amount: BigNumberish,
85
+ expiration: BigNumberish
86
+ ], [
87
+ void
88
+ ], "nonpayable">;
79
89
  permit: TypedContractMethod<[
80
90
  owner: AddressLike,
81
91
  permitSingle: IPermit2.PermitSingleStruct,
@@ -99,6 +109,14 @@ export interface IPermit2 extends BaseContract {
99
109
  ], [
100
110
  IPermit2.PackedAllowanceStructOutput
101
111
  ], "view">;
112
+ getFunction(nameOrSignature: "approve"): TypedContractMethod<[
113
+ token: AddressLike,
114
+ spender: AddressLike,
115
+ amount: BigNumberish,
116
+ expiration: BigNumberish
117
+ ], [
118
+ void
119
+ ], "nonpayable">;
102
120
  getFunction(nameOrSignature: "permit"): TypedContractMethod<[
103
121
  owner: AddressLike,
104
122
  permitSingle: IPermit2.PermitSingleStruct,
@@ -36,6 +36,28 @@ export declare class IPermit2__factory {
36
36
  }];
37
37
  readonly stateMutability: "view";
38
38
  readonly type: "function";
39
+ }, {
40
+ readonly inputs: readonly [{
41
+ readonly internalType: "address";
42
+ readonly name: "token";
43
+ readonly type: "address";
44
+ }, {
45
+ readonly internalType: "address";
46
+ readonly name: "spender";
47
+ readonly type: "address";
48
+ }, {
49
+ readonly internalType: "uint160";
50
+ readonly name: "amount";
51
+ readonly type: "uint160";
52
+ }, {
53
+ readonly internalType: "uint48";
54
+ readonly name: "expiration";
55
+ readonly type: "uint48";
56
+ }];
57
+ readonly name: "approve";
58
+ readonly outputs: readonly [];
59
+ readonly stateMutability: "nonpayable";
60
+ readonly type: "function";
39
61
  }, {
40
62
  readonly inputs: readonly [{
41
63
  readonly internalType: "address";
@@ -52,6 +52,34 @@ const _abi = [
52
52
  stateMutability: "view",
53
53
  type: "function",
54
54
  },
55
+ {
56
+ inputs: [
57
+ {
58
+ internalType: "address",
59
+ name: "token",
60
+ type: "address",
61
+ },
62
+ {
63
+ internalType: "address",
64
+ name: "spender",
65
+ type: "address",
66
+ },
67
+ {
68
+ internalType: "uint160",
69
+ name: "amount",
70
+ type: "uint160",
71
+ },
72
+ {
73
+ internalType: "uint48",
74
+ name: "expiration",
75
+ type: "uint48",
76
+ },
77
+ ],
78
+ name: "approve",
79
+ outputs: [],
80
+ stateMutability: "nonpayable",
81
+ type: "function",
82
+ },
55
83
  {
56
84
  inputs: [
57
85
  {
@@ -1 +1 @@
1
- {"version":3,"file":"IPermit2__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/interfaces/IPermit2__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAkE;AAMlE,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,YAAY,EAAE,iCAAiC;gBAC/C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,QAAQ;gCACtB,IAAI,EAAE,YAAY;gCAClB,IAAI,EAAE,QAAQ;6BACf;4BACD;gCACE,YAAY,EAAE,QAAQ;gCACtB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,YAAY,EAAE,+BAA+B;wBAC7C,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAa,iBAAiB;IAE5B,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAsB,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAA8B;QAC5D,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAwB,CAAC;IACpE,CAAC;;AAPH,8CAQC;AAPiB,qBAAG,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"IPermit2__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/interfaces/IPermit2__factory.ts"],"names":[],"mappings":";AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;;;AAEpB,mCAAkE;AAMlE,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,QAAQ;qBACf;oBACD;wBACE,YAAY,EAAE,QAAQ;wBACtB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;qBACf;iBACF;gBACD,YAAY,EAAE,iCAAiC;gBAC/C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV;wBACE,UAAU,EAAE;4BACV;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,SAAS;gCACvB,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,SAAS;6BAChB;4BACD;gCACE,YAAY,EAAE,QAAQ;gCACtB,IAAI,EAAE,YAAY;gCAClB,IAAI,EAAE,QAAQ;6BACf;4BACD;gCACE,YAAY,EAAE,QAAQ;gCACtB,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,YAAY,EAAE,+BAA+B;wBAC7C,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;qBACd;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,SAAS;qBAChB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,YAAY,EAAE,8BAA8B;gBAC5C,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAa,iBAAiB;IAE5B,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAsB,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAA8B;QAC5D,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAwB,CAAC;IACpE,CAAC;;AAPH,8CAQC;AAPiB,qBAAG,GAAG,IAAI,CAAC"}
@@ -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 = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122043bd539b8502a10d6cd2a13a276816a6aa39adb475b6f377ee775b91eb8aa96564736f6c63430008190033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122030acb532eeb60f25cf506dae568bff02acd004b47eee8b031d90101b065adc9364736f6c63430008190033";
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 = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122043bd539b8502a10d6cd2a13a276816a6aa39adb475b6f377ee775b91eb8aa96564736f6c63430008190033";
45
+ const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122030acb532eeb60f25cf506dae568bff02acd004b47eee8b031d90101b065adc9364736f6c63430008190033";
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 = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220cdb9bbb447241ad126d2f05faa8510d0cb6f4d9fab9379cea36e56ace21759d564736f6c63430008190033";
17
+ static readonly bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122058f41f79458810c8b7e185a74f8d235481bf7657f0a110990bffd89de8a94ab864736f6c63430008190033";
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 = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220cdb9bbb447241ad126d2f05faa8510d0cb6f4d9fab9379cea36e56ace21759d564736f6c63430008190033";
40
+ const _bytecode = "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122058f41f79458810c8b7e185a74f8d235481bf7657f0a110990bffd89de8a94ab864736f6c63430008190033";
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 ECDSATest__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ECDSATest__factory;
17
- static readonly bytecode = "0x60808060405234601557610a05908161001a8239f35b5f80fdfe604060808152600480361015610013575f80fd5b5f3560e01c908163126442731461034f57816319045a25146102de578163238a4d1e146102c05781633f91b7f6146102a25781634cf302cf146102845781634d84f864146102665781635b3cc7c5146102485781637df7a71c146101d8578163918a15cf14610173578163948696cb14610155578163a005410b146100f457508063c479e1b3146100d65763d573e327146100ac575f80fd5b346100d2576020906100c96100c036610456565b92919091610993565b90519015158152f35b5f80fd5b50346100d2576020906100c96100eb366104af565b93929092610940565b82346100d25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25773ffffffffffffffffffffffffffffffffffffffff61014d6020936044359060243590356108b0565b915191168152f35b82346100d2576020906100c961016a36610456565b92919091610874565b82346100d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576020917f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5235601c52603c5f209051908152f35b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760426020928251907f190100000000000000000000000000000000000000000000000000000000000082523560028201526024356022820152209051908152f35b82346100d2576020906100c961025d366103e4565b929190916107fa565b82346100d2576020906100c961027b366104af565b93929092610798565b82346100d2576020906100c961029936610456565b9291909161073c565b82346100d2576020906100c96102b736610456565b929190916106b2565b82346100d2576020906100c96102d5366103e4565b9291909161064d565b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576024359167ffffffffffffffff83116100d25761014d73ffffffffffffffffffffffffffffffffffffffff91610348602095369083016103b6565b913561057f565b82346100d25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760243560ff811681036100d25761014d73ffffffffffffffffffffffffffffffffffffffff91602094606435916044359135610516565b9181601f840112156100d25782359167ffffffffffffffff83116100d257602083818601950101116100d257565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25791602435916044359067ffffffffffffffff82116100d257610452916004016103b6565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25790602435906044359060643590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d257906024359060443560ff811681036100d257906064359060843590565b91939290935f947f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1831061054b575b50505050565b6020949550915f9391608093604051938452868401526040830152606082015282805260015afa505f51905f808080610545565b6040515f9493909290836041821461063457506040146105ef57505f9150815b6105a7575050565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060830151106105d6575050565b6020929350816080915f935282805260015afa505f5190565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160208086940135918260ff1c601b0182860152604085013716606082015261059f565b9160408092508101355f1a60208401528183013761059f565b5f9060209293959495829680604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501528160448501526064840137606401915afa6106a65750565b5f51143d602014169150565b60a5602092935f929695968397604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501526041604485015260648401527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8116608484015260ff1c601b0160a48301535afa6106a65750565b60a4602092935f929695968397604051927f1626ba7e000000000000000000000000000000000000000000000000000000009788855260048501526040602485015260406044850152606484015260848301525afa6106a65750565b5f919360a5916020949796978498604051937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260406024860152604160448601526064850152608484015260a48301535afa6106a65750565b92919073ffffffffffffffffffffffffffffffffffffffff808516801561086a576040851491821561085f575b82610848575b505061083f5761083c9361064d565b90565b50505050600190565b90915061085685858561057f565b16145f8061082d565b604186149250610827565b5050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576108a18585856108b0565b161461083f5761083c9361073c565b9092915f937f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8216917f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a183106109065750505050565b6020949550915f939160809360405193845260ff1c601b01868401526040830152606082015282805260015afa505f51905f808080610545565b9392919073ffffffffffffffffffffffffffffffffffffffff8086169081156109885761096f86868686610516565b161461097e5761083c94610798565b5050505050600190565b505050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576109c08585856108b0565b161461083f5761083c936106b256fea264697066735822122004d3f1d9e110afe433e623c76e0a3d7bc3ee9abaf0a16561b9d2d1e29b4e665d64736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610a05908161001a8239f35b5f80fdfe604060808152600480361015610013575f80fd5b5f3560e01c908163126442731461034f57816319045a25146102de578163238a4d1e146102c05781633f91b7f6146102a25781634cf302cf146102845781634d84f864146102665781635b3cc7c5146102485781637df7a71c146101d8578163918a15cf14610173578163948696cb14610155578163a005410b146100f457508063c479e1b3146100d65763d573e327146100ac575f80fd5b346100d2576020906100c96100c036610456565b92919091610993565b90519015158152f35b5f80fd5b50346100d2576020906100c96100eb366104af565b93929092610940565b82346100d25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25773ffffffffffffffffffffffffffffffffffffffff61014d6020936044359060243590356108b0565b915191168152f35b82346100d2576020906100c961016a36610456565b92919091610874565b82346100d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576020917f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5235601c52603c5f209051908152f35b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760426020928251907f190100000000000000000000000000000000000000000000000000000000000082523560028201526024356022820152209051908152f35b82346100d2576020906100c961025d366103e4565b929190916107fa565b82346100d2576020906100c961027b366104af565b93929092610798565b82346100d2576020906100c961029936610456565b9291909161073c565b82346100d2576020906100c96102b736610456565b929190916106b2565b82346100d2576020906100c96102d5366103e4565b9291909161064d565b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576024359167ffffffffffffffff83116100d25761014d73ffffffffffffffffffffffffffffffffffffffff91610348602095369083016103b6565b913561057f565b82346100d25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760243560ff811681036100d25761014d73ffffffffffffffffffffffffffffffffffffffff91602094606435916044359135610516565b9181601f840112156100d25782359167ffffffffffffffff83116100d257602083818601950101116100d257565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25791602435916044359067ffffffffffffffff82116100d257610452916004016103b6565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25790602435906044359060643590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d257906024359060443560ff811681036100d257906064359060843590565b91939290935f947f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1831061054b575b50505050565b6020949550915f9391608093604051938452868401526040830152606082015282805260015afa505f51905f808080610545565b6040515f9493909290836041821461063457506040146105ef57505f9150815b6105a7575050565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060830151106105d6575050565b6020929350816080915f935282805260015afa505f5190565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160208086940135918260ff1c601b0182860152604085013716606082015261059f565b9160408092508101355f1a60208401528183013761059f565b5f9060209293959495829680604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501528160448501526064840137606401915afa6106a65750565b5f51143d602014169150565b60a5602092935f929695968397604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501526041604485015260648401527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8116608484015260ff1c601b0160a48301535afa6106a65750565b60a4602092935f929695968397604051927f1626ba7e000000000000000000000000000000000000000000000000000000009788855260048501526040602485015260406044850152606484015260848301525afa6106a65750565b5f919360a5916020949796978498604051937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260406024860152604160448601526064850152608484015260a48301535afa6106a65750565b92919073ffffffffffffffffffffffffffffffffffffffff808516801561086a576040851491821561085f575b82610848575b505061083f5761083c9361064d565b90565b50505050600190565b90915061085685858561057f565b16145f8061082d565b604186149250610827565b5050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576108a18585856108b0565b161461083f5761083c9361073c565b9092915f937f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8216917f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a183106109065750505050565b6020949550915f939160809360405193845260ff1c601b01868401526040830152606082015282805260015afa505f51905f808080610545565b9392919073ffffffffffffffffffffffffffffffffffffffff8086169081156109885761096f86868686610516565b161461097e5761083c94610798565b5050505050600190565b505050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576109c08585856108b0565b161461083f5761083c936106b256fea26469706673582212208434c966364d8a6fe8a3743627f55789fcc10aaa2ac99fb0a2f411f7bcda448864736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -409,7 +409,7 @@ const _abi = [
409
409
  type: "function",
410
410
  },
411
411
  ];
412
- const _bytecode = "0x60808060405234601557610a05908161001a8239f35b5f80fdfe604060808152600480361015610013575f80fd5b5f3560e01c908163126442731461034f57816319045a25146102de578163238a4d1e146102c05781633f91b7f6146102a25781634cf302cf146102845781634d84f864146102665781635b3cc7c5146102485781637df7a71c146101d8578163918a15cf14610173578163948696cb14610155578163a005410b146100f457508063c479e1b3146100d65763d573e327146100ac575f80fd5b346100d2576020906100c96100c036610456565b92919091610993565b90519015158152f35b5f80fd5b50346100d2576020906100c96100eb366104af565b93929092610940565b82346100d25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25773ffffffffffffffffffffffffffffffffffffffff61014d6020936044359060243590356108b0565b915191168152f35b82346100d2576020906100c961016a36610456565b92919091610874565b82346100d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576020917f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5235601c52603c5f209051908152f35b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760426020928251907f190100000000000000000000000000000000000000000000000000000000000082523560028201526024356022820152209051908152f35b82346100d2576020906100c961025d366103e4565b929190916107fa565b82346100d2576020906100c961027b366104af565b93929092610798565b82346100d2576020906100c961029936610456565b9291909161073c565b82346100d2576020906100c96102b736610456565b929190916106b2565b82346100d2576020906100c96102d5366103e4565b9291909161064d565b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576024359167ffffffffffffffff83116100d25761014d73ffffffffffffffffffffffffffffffffffffffff91610348602095369083016103b6565b913561057f565b82346100d25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760243560ff811681036100d25761014d73ffffffffffffffffffffffffffffffffffffffff91602094606435916044359135610516565b9181601f840112156100d25782359167ffffffffffffffff83116100d257602083818601950101116100d257565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25791602435916044359067ffffffffffffffff82116100d257610452916004016103b6565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25790602435906044359060643590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d257906024359060443560ff811681036100d257906064359060843590565b91939290935f947f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1831061054b575b50505050565b6020949550915f9391608093604051938452868401526040830152606082015282805260015afa505f51905f808080610545565b6040515f9493909290836041821461063457506040146105ef57505f9150815b6105a7575050565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060830151106105d6575050565b6020929350816080915f935282805260015afa505f5190565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160208086940135918260ff1c601b0182860152604085013716606082015261059f565b9160408092508101355f1a60208401528183013761059f565b5f9060209293959495829680604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501528160448501526064840137606401915afa6106a65750565b5f51143d602014169150565b60a5602092935f929695968397604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501526041604485015260648401527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8116608484015260ff1c601b0160a48301535afa6106a65750565b60a4602092935f929695968397604051927f1626ba7e000000000000000000000000000000000000000000000000000000009788855260048501526040602485015260406044850152606484015260848301525afa6106a65750565b5f919360a5916020949796978498604051937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260406024860152604160448601526064850152608484015260a48301535afa6106a65750565b92919073ffffffffffffffffffffffffffffffffffffffff808516801561086a576040851491821561085f575b82610848575b505061083f5761083c9361064d565b90565b50505050600190565b90915061085685858561057f565b16145f8061082d565b604186149250610827565b5050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576108a18585856108b0565b161461083f5761083c9361073c565b9092915f937f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8216917f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a183106109065750505050565b6020949550915f939160809360405193845260ff1c601b01868401526040830152606082015282805260015afa505f51905f808080610545565b9392919073ffffffffffffffffffffffffffffffffffffffff8086169081156109885761096f86868686610516565b161461097e5761083c94610798565b5050505050600190565b505050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576109c08585856108b0565b161461083f5761083c936106b256fea264697066735822122004d3f1d9e110afe433e623c76e0a3d7bc3ee9abaf0a16561b9d2d1e29b4e665d64736f6c63430008190033";
412
+ const _bytecode = "0x60808060405234601557610a05908161001a8239f35b5f80fdfe604060808152600480361015610013575f80fd5b5f3560e01c908163126442731461034f57816319045a25146102de578163238a4d1e146102c05781633f91b7f6146102a25781634cf302cf146102845781634d84f864146102665781635b3cc7c5146102485781637df7a71c146101d8578163918a15cf14610173578163948696cb14610155578163a005410b146100f457508063c479e1b3146100d65763d573e327146100ac575f80fd5b346100d2576020906100c96100c036610456565b92919091610993565b90519015158152f35b5f80fd5b50346100d2576020906100c96100eb366104af565b93929092610940565b82346100d25760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25773ffffffffffffffffffffffffffffffffffffffff61014d6020936044359060243590356108b0565b915191168152f35b82346100d2576020906100c961016a36610456565b92919091610874565b82346100d25760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576020917f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f5235601c52603c5f209051908152f35b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760426020928251907f190100000000000000000000000000000000000000000000000000000000000082523560028201526024356022820152209051908152f35b82346100d2576020906100c961025d366103e4565b929190916107fa565b82346100d2576020906100c961027b366104af565b93929092610798565b82346100d2576020906100c961029936610456565b9291909161073c565b82346100d2576020906100c96102b736610456565b929190916106b2565b82346100d2576020906100c96102d5366103e4565b9291909161064d565b82346100d257807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d2576024359167ffffffffffffffff83116100d25761014d73ffffffffffffffffffffffffffffffffffffffff91610348602095369083016103b6565b913561057f565b82346100d25760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100d25760243560ff811681036100d25761014d73ffffffffffffffffffffffffffffffffffffffff91602094606435916044359135610516565b9181601f840112156100d25782359167ffffffffffffffff83116100d257602083818601950101116100d257565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25791602435916044359067ffffffffffffffff82116100d257610452916004016103b6565b9091565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d25790602435906044359060643590565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a09101126100d25760043573ffffffffffffffffffffffffffffffffffffffff811681036100d257906024359060443560ff811681036100d257906064359060843590565b91939290935f947f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1831061054b575b50505050565b6020949550915f9391608093604051938452868401526040830152606082015282805260015afa505f51905f808080610545565b6040515f9493909290836041821461063457506040146105ef57505f9150815b6105a7575050565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060830151106105d6575050565b6020929350816080915f935282805260015afa505f5190565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160208086940135918260ff1c601b0182860152604085013716606082015261059f565b9160408092508101355f1a60208401528183013761059f565b5f9060209293959495829680604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501528160448501526064840137606401915afa6106a65750565b5f51143d602014169150565b60a5602092935f929695968397604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501526041604485015260648401527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8116608484015260ff1c601b0160a48301535afa6106a65750565b60a4602092935f929695968397604051927f1626ba7e000000000000000000000000000000000000000000000000000000009788855260048501526040602485015260406044850152606484015260848301525afa6106a65750565b5f919360a5916020949796978498604051937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260406024860152604160448601526064850152608484015260a48301535afa6106a65750565b92919073ffffffffffffffffffffffffffffffffffffffff808516801561086a576040851491821561085f575b82610848575b505061083f5761083c9361064d565b90565b50505050600190565b90915061085685858561057f565b16145f8061082d565b604186149250610827565b5050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576108a18585856108b0565b161461083f5761083c9361073c565b9092915f937f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8216917f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a183106109065750505050565b6020949550915f939160809360405193845260ff1c601b01868401526040830152606082015282805260015afa505f51905f808080610545565b9392919073ffffffffffffffffffffffffffffffffffffffff8086169081156109885761096f86868686610516565b161461097e5761083c94610798565b5050505050600190565b505050505050505f90565b92919073ffffffffffffffffffffffffffffffffffffffff80851690811561086a576109c08585856108b0565b161461083f5761083c936106b256fea26469706673582212208434c966364d8a6fe8a3743627f55789fcc10aaa2ac99fb0a2f411f7bcda448864736f6c63430008190033";
413
413
  const isSuperArgs = (xs) => xs.length > 1;
414
414
  class ECDSATest__factory extends ethers_1.ContractFactory {
415
415
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class ERC1271WalletMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC1271WalletMock__factory;
17
- static readonly bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220281d479cd028aff1653edd92bd7ae6c785004d98b7048471fbfd82f8fa69c2dd64736f6c63430008190033";
17
+ static readonly bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220db34eda27b02768ba4391a0670538c6ce0254c59bd0c1d73b71113793e49fd3364736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -116,7 +116,7 @@ const _abi = [
116
116
  type: "function",
117
117
  },
118
118
  ];
119
- const _bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220281d479cd028aff1653edd92bd7ae6c785004d98b7048471fbfd82f8fa69c2dd64736f6c63430008190033";
119
+ const _bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220db34eda27b02768ba4391a0670538c6ce0254c59bd0c1d73b71113793e49fd3364736f6c63430008190033";
120
120
  const isSuperArgs = (xs) => xs.length > 1;
121
121
  class ERC1271WalletMock__factory extends ethers_1.ContractFactory {
122
122
  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 = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea264697066735822122059cce282d07f0defef2dfd18591b65de952051909ab2f650db1e253c261cc05564736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea264697066735822122067715595fc49e4129deb758b108e376fda85d17d2af19f6c3b41c30a37029f6d64736f6c63430008190033";
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 = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea264697066735822122059cce282d07f0defef2dfd18591b65de952051909ab2f650db1e253c261cc05564736f6c63430008190033";
61
+ const _bytecode = "0x60808060405234601557610603908161001a8239f35b5f80fdfe60808060405260049081361015610014575f80fd5b60e05f35811c9283635816d723146100ef575050508063c29855781461009b5763d161706714610042575f80fd5b5f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fa143729f1e064742494ee223fd9347d2eb1ea559fcad61e62d2568b526a7a6866020604051348152a1005b5f80fd5b34610097575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610097577fac43e28cd59e04fe2babb4a4ca6294dda7f889b2c5352db2088b5618e57d8cf65f80a1005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100975767ffffffffffffffff90803582811161009757610139903690830161059f565b93909260243590811161009757610153903690840161059f565b92909584357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808216916014891061058a575b505060601c9086601411610097575f968796879586957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8401926014810192849190606483146104cf578260481461040a578260e0146103cf57826101001461039057826060146102b55750506101601461026957918693917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0937f9fd5a6cf00000000000000000000000000000000000000000000000000000000875286013701925af1505b8060405194853783305af43d5f833e15610265573d90f35b3d90fd5b909150610164945061016092507f2b67b570000000000000000000000000000000000000000000000000000000008452830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b9260209650605495506014925097610164987f2b67b5700000000000000000000000000000000000000000000000000000000089969396523390890152602488015260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff91816028850135821c0183166064880152602c840135811c60848801523060a48801526030840135901c011660c485015261010060e48501526040610104850152826034820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af15061024d565b50505086935061010495925090610100917f8fcbaf0c0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b939291505087945060e49693507fd505accf0000000000000000000000000000000000000000000000000000000086528501375af15061024d565b89965061010498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff601c927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957f8fcbaf0c000000000000000000000000000000000000000000000000000000008b5233908b01523060248b0152603c8301359535811c60448b01526018830135901c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af15061024d565b89965060e498955060209250907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6038927f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff96957fd505accf000000000000000000000000000000000000000000000000000000008b5233908b01523060248b01528460588401359660448c01376034830135901c0160648901528360ff1c601b0160848901520160a48701371660c48401525af15061024d565b908092508860140360031b1b16168880610186565b9181601f840112156100975782359167ffffffffffffffff831161009757602083818601950101116100975756fea264697066735822122067715595fc49e4129deb758b108e376fda85d17d2af19f6c3b41c30a37029f6d64736f6c63430008190033";
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 = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea264697066735822122074d79b10f12e1cb0576953774b77330ed259a849d16fab7905d9728057aded2f64736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea2646970667358221220e0f8a134d8d789e9d31f16ed77caddd4c1a5efcea1636f72db18718aaea640fc64736f6c63430008190033";
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 = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea264697066735822122074d79b10f12e1cb0576953774b77330ed259a849d16fab7905d9728057aded2f64736f6c63430008190033";
46
+ const _bytecode = "0x60808060405234601557610499908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806352d852c11461002f5763c2c3b4561461002f575f80fd5b3461005c5761004a61004036610060565b91309033906100e8565b1561005157005b6040513d5f823e3d90fd5b5f80fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261005c5760043573ffffffffffffffffffffffffffffffffffffffff8116810361005c579160243567ffffffffffffffff9283821161005c578060238301121561005c57816004013593841161005c576024848301011161005c576024019190565b9190935f94938594604051938391826064146103ae57826048146102ed578260e0146102b457826101001461027957826060146101a55750506101601461015d578185926004927f9fd5a6cf0000000000000000000000000000000000000000000000000000000086528386013701925af190565b610164935061016091507f2b67b5700000000000000000000000000000000000000000000000000000000083526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b60209450604093925095610164967f2b67b5700000000000000000000000000000000000000000000000000000000087526004870152602486015260148260508701377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff65ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b50505084915092610100610104947f8fcbaf0c00000000000000000000000000000000000000000000000000000000855260048501375af190565b5050508491509260e060e4947fd505accf00000000000000000000000000000000000000000000000000000000855260048501375af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9250906101049693917f8fcbaf0c0000000000000000000000000000000000000000000000000000000087526004870152602486015260206008602883013592803560e01c60448901527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b8794507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92509060e49693917fd505accf0000000000000000000000000000000000000000000000000000000087526004870152602486015260206024604483013592828160448a01377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af19056fea2646970667358221220e0f8a134d8d789e9d31f16ed77caddd4c1a5efcea1636f72db18718aaea640fc64736f6c63430008190033";
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 = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea264697066735822122036235c6e013899fa27dcb74f509f2719df8497f851d9f200a7061407d09cd0c364736f6c63430008190033";
17
+ static readonly bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea2646970667358221220fe19efe868700d01347b7d97b9ca1c57e39d42df6f6baa63b1438a44d94e6fc564736f6c63430008190033";
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 = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea264697066735822122036235c6e013899fa27dcb74f509f2719df8497f851d9f200a7061407d09cd0c364736f6c63430008190033";
106
+ const _bytecode = "0x60808060405234601557610200908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b3146100bf57806323b872dd146101065780633ba93f26146100c4578063a9059cbb146100bf5763dd62ed3e14610050575f80fd5b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5773ffffffffffffffffffffffffffffffffffffffff61009c61014d565b6100a4610170565b50165f525f602052602060405f2054604051908152f35b5f80fd5b610193565b346100bb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb57335f525f60205260043560405f20555f80f35b346100bb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761013d61014d565b50610146610170565b505f600155005b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036100bb57565b346100bb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100bb5761014661014d56fea2646970667358221220fe19efe868700d01347b7d97b9ca1c57e39d42df6f6baa63b1438a44d94e6fc564736f6c63430008190033";
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 = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220d83fb92f4f4405600b96d651fdfeed20934d31e64d0e31d532dd462d014c770664736f6c63430008190033";
17
+ static readonly bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220ea529be9b70da6597edb30f9a1378951bcec280826a8f08d18bfa53a451eb06a64736f6c63430008190033";
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 = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220d83fb92f4f4405600b96d651fdfeed20934d31e64d0e31d532dd462d014c770664736f6c63430008190033";
584
+ const _bytecode = "0x610160604090808252346103e657610016816103ea565b601781526020908181017f45524332305065726d69744e6f5265766572744d6f636b00000000000000000093848252805193610051856103ea565b601785528581860152815195610066876103ea565b601787528187015281519161007a836103ea565b6001808452603160f81b83850190815287516001600160401b0398919291908981116102fd576003908154928484811c941680156103dc575b888510146103c8578190601f9485811161037a575b50889085831160011461031c575f92610311575b50505f1982841b1c191690841b1781555b8a51918a83116102fd5760049b8c548581811c911680156102f3575b898210146102e05782811161029d575b508791841160011461023b579383949184925f95610230575b50501b925f19911b1c19161788555b61014a86610405565b9461012095865261015a8561058a565b96610140978852519020938460e05251902096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761021d57508590525190206080523060c0526113d593846106c7853960805184610e6f015260a05184610f3b015260c05184610e40015260e05184610ebe01525183610ee4015251826105730152518161059d0152f35b604190634e487b7160e01b5f525260245ffd5b015193505f80610132565b9190601f198416928d5f5284895f20945f5b8b89838310610286575050501061026d575b50505050811b018855610141565b01519060f8845f19921b161c191690555f80808061025f565b86860151895590970196948501948893500161024d565b8d5f52885f208380870160051c8201928b88106102d7575b0160051c019086905b8281106102cc575050610119565b5f81550186906102be565b925081926102b5565b60228e634e487b7160e01b5f525260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100dc565b90869350601f19831691855f528a5f20925f5b8c828210610364575050841161034d575b505050811b0181556100ed565b01515f1983861b60f8161c191690555f8080610340565b8385015186558a9790950194938401930161032f565b909150835f52885f208580850160051c8201928b86106103bf575b918891869594930160051c01915b8281106103b15750506100c8565b5f81558594508891016103a3565b92508192610395565b634e487b7160e01b5f52602260045260245ffd5b93607f16936100b3565b5f80fd5b604081019081106001600160401b038211176102fd57604052565b8051602091908281101561047d575090601f82511161043f578082519201519080831061043157501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116102fd576005928354926001938481811c91168015610580575b838210146103c857601f811161054f575b5081601f84116001146104ed57509282939183925f946104e2575b50501b915f199060031b1c191617905560ff90565b015192505f806104cd565b919083601f198116875f52845f20945f905b88838310610535575050501061051d575b505050811b01905560ff90565b01515f1960f88460031b161c191690555f8080610510565b8587015188559096019594850194879350908101906104ff565b855f5284601f845f209201871c820191601f8601881c015b8281106105755750506104b2565b5f8155018590610567565b90607f16906104a1565b8051602090818110156105b45750601f82511161043f578082519201519080831061043157501790565b906001600160401b0382116102fd57600654926001938481811c911680156106bc575b838210146103c857601f8111610688575b5081601f841160011461062457509282939183925f94610619575b50501b915f199060031b1c19161760065560ff90565b015192505f80610603565b919083601f19811660065f52845f20945f905b8883831061066e5750505010610656575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610648565b858701518855909601959485019487935090810190610637565b60065f5284601f845f20920160051c820191601f860160051c015b8281106106b15750506105e8565b5f81550185906106a3565b90607f16906105d756fe6080604081815260049182361015610015575f80fd5b5f925f3560e01c91826306fdde0314610a0357508163095ea7b3146109bc57816318160ddd1461098057816323b872dd146107f8578163313ce567146107bf5781633408e470146107875781633644e5151461074657816370a08231146106e55781637ecebe001461068357816384b0196e1461053e57816395d89b411461041657816396a9fc3114610267578163a9059cbb14610219578163d505accf1461013e575063dd62ed3e146100c7575f80fd5b3461013a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261013a57602091610100610b51565b82610109610b74565b9273ffffffffffffffffffffffffffffffffffffffff8093168152600186522091165f528252805f20549051908152f35b5080fd5b919050346102155761014f36610b97565b949795929093303b156102155760ff938851997f96a9fc31000000000000000000000000000000000000000000000000000000008b5273ffffffffffffffffffffffffffffffffffffffff809216898c01521660248a01526044890152606488015216608486015260a485015260c48401525f8360e48183305af16101d2578380f35b9091925067ffffffffffffffff83116101e9575052005b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b5f80fd5b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610260610256610b51565b6024359033610cec565b5160018152f35b9050346102155761027736610b97565b908397949796959642116103e75773ffffffffffffffffffffffffffffffffffffffff928984881695865f526007602052815f20908154916001830190558251918860208401947f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98652840152878c1660608401528c608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176103bb578c61036995936103729795936042938352519020610333610e29565b9151917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220611220565b909291926112ba565b1681810361038757610385868686610f61565b005b604493508651927f4b800e460000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6041897f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b602485858b51917f62791302000000000000000000000000000000000000000000000000000000008352820152fd5b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557815191825f835461045681610c11565b90818452602095600191876001821691825f146104f957505060011461049d575b505050610499929161048a910385610cab565b51928284938452830190610b0e565b0390f35b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106104e1575050508201018161048a610499610477565b8054848a0186015288955087949093019281016104c8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b8601909301935084925061048a91506104999050610477565b905034610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576105977f000000000000000000000000000000000000000000000000000000000000000061102b565b916105c17f0000000000000000000000000000000000000000000000000000000000000000611163565b815191602091602084019484861067ffffffffffffffff8711176101e95750610638826020928761062b99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a0190610b0e565b9188830390890152610b0e565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061066c57505050500390f35b83518552869550938101939281019260010161065d565b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff6106d3610b51565b165f5260078252805f20549051908152f35b82346102155760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209073ffffffffffffffffffffffffffffffffffffffff610735610b51565b165f525f8252805f20549051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557602090610780610e29565b9051908152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760209051468152f35b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020905160128152f35b9050346102155760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021557610831610b51565b610839610b74565b906044359273ffffffffffffffffffffffffffffffffffffffff8216805f526001602052855f20335f52602052855f2054917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83036108a1575b602087610260888888610cec565b85831061093b57811561090c5733156108dd57505f90815260016020908152868220338352815290869020918590039091558290610260610893565b6024905f8851917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8851917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b86517ffb8f41b2000000000000000000000000000000000000000000000000000000008152339181019182526020820193909352604081018690528291506060010390fd5b8234610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906002549051908152f35b823461021557807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610215576020906102606109f9610b51565b6024359033610f61565b8334610215575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102155760035490825f610a4184610c11565b808352602094600190866001821691825f14610ace575050600114610a73575b5050610499929161048a910385610cab565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b828410610ab6575050508201018161048a610a61565b8054848a018601528895508794909301928101610aa0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b8501909201925083915061048a9050610a61565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361021557565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60e09101126102155773ffffffffffffffffffffffffffffffffffffffff906004358281168103610215579160243590811681036102155790604435906064359060843560ff81168103610215579060a4359060c43590565b90600182811c92168015610c58575b6020831014610c2b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610c20565b6040810190811067ffffffffffffffff821117610c7e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c7e57604052565b9173ffffffffffffffffffffffffffffffffffffffff808416928315610df95716928315610dc957825f525f60205260405f205490828210610d715750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480610f38575b15610e91577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117610c7e5760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610e68565b73ffffffffffffffffffffffffffffffffffffffff809116918215610ffb5716918215610fcb5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526001825260405f20855f5282528060405f2055604051908152a3565b60246040517f94280d620000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517fe602df050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60ff81146110815760ff811690601f8211611057576040519161104d83610c62565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554815f61109383610c11565b8083529260209060019081811690811561112057506001146110c1575b50506110be92500382610cab565b90565b91509260055f527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0935f925b82841061110857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926110ed565b9050602093506110be9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f806110b0565b60ff81146111855760ff811690601f8211611057576040519161104d83610c62565b50604051600654815f61119783610c11565b8083529260209060019081811690811561112057506001146111c15750506110be92500382610cab565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b82841061120857506110be9450505081016020015f806110b0565b855487850183015294850194869450928101926111ed565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116112af579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156112a4575f5173ffffffffffffffffffffffffffffffffffffffff81161561129a57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b600481101561137257806112cc575050565b600181036112fe5760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b6002810361133757602482604051907ffce698f70000000000000000000000000000000000000000000000000000000082526004820152fd5b6003146113415750565b602490604051907fd78bce0c0000000000000000000000000000000000000000000000000000000082526004820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220ea529be9b70da6597edb30f9a1378951bcec280826a8f08d18bfa53a451eb06a64736f6c63430008190033";
585
585
  const isSuperArgs = (xs) => xs.length > 1;
586
586
  class ERC20PermitNoRevertMock__factory extends ethers_1.ContractFactory {
587
587
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class ERC20ReturnFalseMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC20ReturnFalseMock__factory;
17
- static readonly bytecode = "0x608080604052346015576101dd908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b31461009f57806323b872dd146100db57806370a08231146100a4578063a9059cbb1461009f5763dd62ed3e14610050575f80fd5b3461009b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761008761012a565b5061009061014d565b5060206040515f8152f35b5f80fd5b610170565b3461009b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761009061012a565b3461009b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761011261012a565b5061011b61014d565b505f60015560206040515f8152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361009b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361009b57565b3461009b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761011b61012a56fea264697066735822122024b72b1aa1520ec74a5e7b25688d5c87cd9f73ff203234f1f53249fe68518b7464736f6c63430008190033";
17
+ static readonly bytecode = "0x608080604052346015576101dd908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063095ea7b31461009f57806323b872dd146100db57806370a08231146100a4578063a9059cbb1461009f5763dd62ed3e14610050575f80fd5b3461009b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761008761012a565b5061009061014d565b5060206040515f8152f35b5f80fd5b610170565b3461009b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761009061012a565b3461009b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761011261012a565b5061011b61014d565b505f60015560206040515f8152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361009b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361009b57565b3461009b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261009b5761011b61012a56fea264697066735822122056b2624866dd70796071007d0c8ee3cfaacb583d987994aff09964ca146cf09264736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";