@pendle/core-v2 6.4.2-swaphubtest → 6.4.2-swaphubtest2

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 (131) hide show
  1. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/PendleMerkleDistributor.sol/PendleMerkleDistributor.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/PendleMultiTokenMerkleDistributor.sol/PendleMultiTokenMerkleDistributor.json +2 -2
  5. package/build/artifacts/contracts/core/Market/PendleGauge.sol/PendleGauge.dbg.json +1 -1
  6. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.dbg.json +1 -1
  7. package/build/artifacts/contracts/core/Market/PendleMarketV6.sol/PendleMarketV6.json +2 -2
  8. package/build/artifacts/contracts/core/RewardManager/RewardManager.sol/RewardManager.dbg.json +1 -1
  9. package/build/artifacts/contracts/core/RewardManager/RewardManagerAbstract.sol/RewardManagerAbstract.dbg.json +1 -1
  10. package/build/artifacts/contracts/core/YieldContracts/InterestManagerYT.sol/InterestManagerYT.dbg.json +1 -1
  11. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.dbg.json +1 -1
  12. package/build/artifacts/contracts/core/YieldContracts/PendleYieldContractFactoryUpg.sol/PendleYieldContractFactoryUpg.json +2 -2
  13. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.dbg.json +1 -1
  14. package/build/artifacts/contracts/core/YieldContracts/PendleYieldToken.sol/PendleYieldToken.json +2 -2
  15. package/build/artifacts/contracts/core/libraries/TokenHelper.sol/TokenHelper.dbg.json +1 -1
  16. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +1 -1
  17. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +2 -2
  18. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.dbg.json +4 -0
  19. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBox.sol/DepositBox.json +170 -0
  20. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.dbg.json +4 -0
  21. package/build/artifacts/contracts/cross-chain/deposit-box/DepositBoxFactory.sol/DepositBoxFactory.json +124 -0
  22. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.dbg.json +1 -1
  23. package/build/artifacts/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol/PendleCrossChainSwapHub.json +200 -433
  24. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.dbg.json +1 -1
  25. package/build/artifacts/contracts/cross-chain/swap-hub/SwapHubBase.sol/SwapHubBase.json +199 -423
  26. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.dbg.json +1 -1
  27. package/build/artifacts/contracts/deprecated/VeDistributor/PendleFeeDistributorV2.sol/PendleFeeDistributorV2.json +2 -2
  28. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.dbg.json +1 -1
  29. package/build/artifacts/contracts/interfaces/IPCrossChainSwapHub.sol/IPCrossChainSwapHub.json +161 -398
  30. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.dbg.json +4 -0
  31. package/build/artifacts/contracts/interfaces/IPDepositBoxFactory.sol/IPDepositBoxFactory.json +108 -0
  32. package/build/artifacts/contracts/limit/LimitRouterBase.sol/LimitRouterBase.dbg.json +1 -1
  33. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.dbg.json +1 -1
  34. package/build/artifacts/contracts/limit/PendleLimitRouter.sol/PendleLimitRouter.json +2 -2
  35. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.dbg.json +1 -1
  36. package/build/artifacts/contracts/offchain-helpers/Broadcaster.sol/Broadcaster.json +2 -2
  37. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.dbg.json +1 -1
  38. package/build/artifacts/contracts/offchain-helpers/ExpiredLpPtRedeemer.sol/ExpiredLpPtRedeemer.json +2 -2
  39. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.dbg.json +1 -1
  40. package/build/artifacts/contracts/offchain-helpers/LimitBackendHelperV2.sol/LimitBackendHelperV2.json +2 -2
  41. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.dbg.json +1 -1
  42. package/build/artifacts/contracts/offchain-helpers/MarketSweed.sol/MarketSweed.json +2 -2
  43. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.dbg.json +1 -1
  44. package/build/artifacts/contracts/offchain-helpers/PendleAPIFeeDepositor.sol/PendleAPIFeeDepositor.json +2 -2
  45. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.dbg.json +1 -1
  46. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapper.sol/PendleLPWrapper.json +2 -2
  47. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.dbg.json +1 -1
  48. package/build/artifacts/contracts/offchain-helpers/PendleLPWrapperFactory.sol/PendleLPWrapperFactory.json +2 -2
  49. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.dbg.json +1 -1
  50. package/build/artifacts/contracts/offchain-helpers/deploy/PendleCommonPoolDeployHelperV2.sol/PendleCommonPoolDeployHelperV2.json +2 -2
  51. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.dbg.json +1 -1
  52. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelper.sol/PendlePoolDeployHelper.json +2 -2
  53. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.dbg.json +1 -1
  54. package/build/artifacts/contracts/offchain-helpers/deploy/PendlePoolDeployHelperV2.sol/PendlePoolDeployHelperV2.json +2 -2
  55. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.dbg.json +1 -1
  56. package/build/artifacts/contracts/router/ActionAddRemoveLiqV3.sol/ActionAddRemoveLiqV3.json +2 -2
  57. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.dbg.json +1 -1
  58. package/build/artifacts/contracts/router/ActionCallbackV3.sol/ActionCallbackV3.json +2 -2
  59. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.dbg.json +1 -1
  60. package/build/artifacts/contracts/router/ActionCrossChain.sol/ActionCrossChain.json +2 -2
  61. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.dbg.json +1 -1
  62. package/build/artifacts/contracts/router/ActionMiscV3.sol/ActionMiscV3.json +2 -2
  63. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.dbg.json +1 -1
  64. package/build/artifacts/contracts/router/ActionSimple.sol/ActionSimple.json +2 -2
  65. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.dbg.json +1 -1
  66. package/build/artifacts/contracts/router/ActionSwapPTV3.sol/ActionSwapPTV3.json +2 -2
  67. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.dbg.json +1 -1
  68. package/build/artifacts/contracts/router/ActionSwapYTV3.sol/ActionSwapYTV3.json +2 -2
  69. package/build/artifacts/contracts/router/Reflector.sol/Reflector.dbg.json +1 -1
  70. package/build/artifacts/contracts/router/Reflector.sol/Reflector.json +2 -2
  71. package/build/artifacts/contracts/router/base/ActionBase.sol/ActionBase.dbg.json +1 -1
  72. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.dbg.json +1 -1
  73. package/build/artifacts/contracts/router/base/ActionDelegateBase.sol/ActionDelegateBase.json +2 -2
  74. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/IOKXDexRouter.dbg.json +1 -1
  75. package/build/artifacts/contracts/router/swap-aggregator/OKXScaleHelper.sol/OKXScaleHelper.dbg.json +1 -1
  76. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IKyberScalingHelper.dbg.json +1 -1
  77. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/IOdosRouterV2.dbg.json +1 -1
  78. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.dbg.json +1 -1
  79. package/build/artifacts/contracts/router/swap-aggregator/PendleSwap.sol/PendleSwap.json +2 -2
  80. package/contracts/core/libraries/TokenHelper.sol +5 -1
  81. package/contracts/cross-chain/deposit-box/DepositBoxFactory.sol +44 -0
  82. package/contracts/cross-chain/swap-hub/PendleCrossChainSwapHub.sol +14 -102
  83. package/contracts/cross-chain/swap-hub/SwapHubBase.sol +73 -150
  84. package/contracts/interfaces/IPCrossChainSwapHub.sol +35 -66
  85. package/contracts/interfaces/IPDepositBoxFactory.sol +19 -0
  86. package/deployments/130-core.json +2 -1
  87. package/deployments/9745-core.json +3 -2
  88. package/package.json +1 -1
  89. package/typechain-types/DepositBoxFactory.ts +226 -0
  90. package/typechain-types/IPCrossChainSwapHub.ts +192 -383
  91. package/typechain-types/IPDepositBoxFactory.ts +226 -0
  92. package/typechain-types/PendleCrossChainSwapHub.ts +217 -390
  93. package/typechain-types/SwapHubBase.ts +216 -389
  94. package/typechain-types/factories/ActionAddRemoveLiqV3__factory.ts +1 -1
  95. package/typechain-types/factories/ActionCallbackV3__factory.ts +1 -1
  96. package/typechain-types/factories/ActionCrossChain__factory.ts +1 -1
  97. package/typechain-types/factories/ActionMiscV3__factory.ts +1 -1
  98. package/typechain-types/factories/ActionSimple__factory.ts +1 -1
  99. package/typechain-types/factories/ActionSwapPTV3__factory.ts +1 -1
  100. package/typechain-types/factories/ActionSwapYTV3__factory.ts +1 -1
  101. package/typechain-types/factories/Broadcaster__factory.ts +1 -1
  102. package/typechain-types/factories/DepositBoxFactory__factory.ts +189 -0
  103. package/typechain-types/factories/DepositBox__factory.ts +1 -1
  104. package/typechain-types/factories/ExpiredLpPtRedeemer__factory.ts +1 -1
  105. package/typechain-types/factories/FixedPricePTAMM__factory.ts +1 -1
  106. package/typechain-types/factories/IPCrossChainSwapHub__factory.ts +161 -398
  107. package/typechain-types/factories/IPDepositBoxFactory__factory.ts +123 -0
  108. package/typechain-types/factories/LimitBackendHelperV2__factory.ts +1 -1
  109. package/typechain-types/factories/MarketSweed__factory.ts +1 -1
  110. package/typechain-types/factories/PendleAPIFeeDepositor__factory.ts +1 -1
  111. package/typechain-types/factories/PendleCommonPoolDeployHelperV2__factory.ts +1 -1
  112. package/typechain-types/factories/PendleCrossChainSwapHub__factory.ts +203 -440
  113. package/typechain-types/factories/PendleFeeDistributorV2__factory.ts +1 -1
  114. package/typechain-types/factories/PendleLPWrapperFactory__factory.ts +1 -1
  115. package/typechain-types/factories/PendleLPWrapper__factory.ts +1 -1
  116. package/typechain-types/factories/PendleLimitRouter__factory.ts +1 -1
  117. package/typechain-types/factories/PendleMarketV6__factory.ts +1 -1
  118. package/typechain-types/factories/PendleMerkleDistributor__factory.ts +1 -1
  119. package/typechain-types/factories/PendleMultiTokenMerkleDistributor__factory.ts +1 -1
  120. package/typechain-types/factories/PendlePoolDeployHelperV2__factory.ts +1 -1
  121. package/typechain-types/factories/PendlePoolDeployHelper__factory.ts +1 -1
  122. package/typechain-types/factories/PendleSwap__factory.ts +1 -1
  123. package/typechain-types/factories/PendleYieldContractFactoryUpg__factory.ts +1 -1
  124. package/typechain-types/factories/PendleYieldToken__factory.ts +1 -1
  125. package/typechain-types/factories/Reflector__factory.ts +1 -1
  126. package/typechain-types/factories/SwapHubBase__factory.ts +199 -423
  127. package/typechain-types/hardhat.d.ts +27 -9
  128. package/typechain-types/index.ts +6 -2
  129. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.dbg.json +0 -4
  130. package/build/artifacts/contracts/cross-chain/swap-hub/DepositBox.sol/DepositBox.json +0 -170
  131. /package/contracts/cross-chain/{swap-hub → deposit-box}/DepositBox.sol +0 -0
@@ -0,0 +1,189 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
5
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
+ import type {
7
+ DepositBoxFactory,
8
+ DepositBoxFactoryInterface,
9
+ } from "../DepositBoxFactory";
10
+
11
+ const _abi = [
12
+ {
13
+ inputs: [
14
+ {
15
+ internalType: "address",
16
+ name: "beaconProxyCodeContract_",
17
+ type: "address",
18
+ },
19
+ {
20
+ internalType: "address",
21
+ name: "depositBoxBeacon_",
22
+ type: "address",
23
+ },
24
+ ],
25
+ stateMutability: "nonpayable",
26
+ type: "constructor",
27
+ },
28
+ {
29
+ inputs: [],
30
+ name: "BEACON_PROXY_CODE_CONTRACT",
31
+ outputs: [
32
+ {
33
+ internalType: "address",
34
+ name: "",
35
+ type: "address",
36
+ },
37
+ ],
38
+ stateMutability: "view",
39
+ type: "function",
40
+ },
41
+ {
42
+ inputs: [],
43
+ name: "DEPOSIT_BOX_BEACON",
44
+ outputs: [
45
+ {
46
+ internalType: "address",
47
+ name: "",
48
+ type: "address",
49
+ },
50
+ ],
51
+ stateMutability: "view",
52
+ type: "function",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "DEPOSIT_BOX_CODE_HASH",
57
+ outputs: [
58
+ {
59
+ internalType: "bytes32",
60
+ name: "",
61
+ type: "bytes32",
62
+ },
63
+ ],
64
+ stateMutability: "view",
65
+ type: "function",
66
+ },
67
+ {
68
+ inputs: [
69
+ {
70
+ internalType: "address",
71
+ name: "owner",
72
+ type: "address",
73
+ },
74
+ {
75
+ internalType: "uint32",
76
+ name: "boxId",
77
+ type: "uint32",
78
+ },
79
+ ],
80
+ name: "computeDepositBox",
81
+ outputs: [
82
+ {
83
+ internalType: "address",
84
+ name: "box",
85
+ type: "address",
86
+ },
87
+ {
88
+ internalType: "bytes32",
89
+ name: "salt",
90
+ type: "bytes32",
91
+ },
92
+ {
93
+ internalType: "bool",
94
+ name: "deployed",
95
+ type: "bool",
96
+ },
97
+ ],
98
+ stateMutability: "view",
99
+ type: "function",
100
+ },
101
+ {
102
+ inputs: [
103
+ {
104
+ internalType: "address",
105
+ name: "owner",
106
+ type: "address",
107
+ },
108
+ {
109
+ internalType: "uint32",
110
+ name: "boxId",
111
+ type: "uint32",
112
+ },
113
+ ],
114
+ name: "deployDepositBox",
115
+ outputs: [
116
+ {
117
+ internalType: "contract IPDepositBox",
118
+ name: "",
119
+ type: "address",
120
+ },
121
+ ],
122
+ stateMutability: "nonpayable",
123
+ type: "function",
124
+ },
125
+ ];
126
+
127
+ const _bytecode =
128
+ "0x60e060405234801561000f575f5ffd5b506040516106f03803806106f083398101604081905261002e916100de565b6001600160a01b03828116608081905290821660a052604080516020833b808301820190935282825290925f918401903c604080516001600160a01b0384166020820152808201919091525f606082015260800160408051601f19818403018152908290526100a0929160200161013c565b60408051601f19818403018152919052805160209091012060c052506101589050565b80516001600160a01b03811681146100d9575f5ffd5b919050565b5f5f604083850312156100ef575f5ffd5b6100f8836100c3565b9150610106602084016100c3565b90509250929050565b5f81515f5b8181101561012e5760208185018101518683015201610114565b505f93019283525090919050565b5f61015061014a838661010f565b8461010f565b949350505050565b60805160a05160c05161055c6101945f395f818160c901526102ea01525f8181605e01526101bf01525f818160a2015261016e015261055c5ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631122f54e146100595780632d610bb01461009d5780635a3f0e6b146100c45780637f6bc3fd146100f9578063f22e9dd41461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6100eb7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610094565b610080610107366004610460565b610146565b61011f61011a366004610460565b6102b6565b604080516001600160a01b0390941684526020840192909252151590820152606001610094565b5f5f5f5f61015486866102b6565b925092509250801561016b578293505050506102b0565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b806020016040519081016040528181525f908060200190933c604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020820152808201919091525f606082015260800160408051601f198184030181529082905261021292916020016104d7565b6040516020818303038152906040529050836001600160a01b03166102385f8584610326565b6001600160a01b03161461024e5761024e6104f3565b60405163c5e4c9f960e01b81526001600160a01b0385169063c5e4c9f99061027c908a908a90600401610507565b5f604051808303815f87803b158015610293575f5ffd5b505af11580156102a5573d5f5f3e3d5ffd5b509596505050505050505b92915050565b5f5f5f84846040516020016102cc929190610507565b60405160208183030381529060405280519060200120915061030e827f0000000000000000000000000000000000000000000000000000000000000000610430565b92505f836001600160a01b03163b1190509250925092565b5f8347101561037c5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b81515f036103cc5760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f6044820152606401610373565b8282516020840186f590506001600160a01b0381166104295760405162461bcd60e51b8152602060048201526019602482015278437265617465323a204661696c6564206f6e206465706c6f7960381b6044820152606401610373565b9392505050565b5f6104298383305f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b5f5f60408385031215610471575f5ffd5b82356001600160a01b0381168114610487575f5ffd5b9150602083013563ffffffff8116811461049f575f5ffd5b809150509250929050565b5f81515f5b818110156104c957602081850181015186830152016104af565b505f93019283525090919050565b5f6104eb6104e583866104aa565b846104aa565b949350505050565b634e487b7160e01b5f52600160045260245ffd5b6001600160a01b0392909216825263ffffffff1660208201526040019056fea26469706673582212209605ae6a6d8b822b0d50f015ed183f9750ebc2b47f2e82a3884d03c8edbf75ed64736f6c634300081e0033";
129
+
130
+ type DepositBoxFactoryConstructorParams =
131
+ | [signer?: Signer]
132
+ | ConstructorParameters<typeof ContractFactory>;
133
+
134
+ const isSuperArgs = (
135
+ xs: DepositBoxFactoryConstructorParams
136
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
137
+
138
+ export class DepositBoxFactory__factory extends ContractFactory {
139
+ constructor(...args: DepositBoxFactoryConstructorParams) {
140
+ if (isSuperArgs(args)) {
141
+ super(...args);
142
+ } else {
143
+ super(_abi, _bytecode, args[0]);
144
+ }
145
+ this.contractName = "DepositBoxFactory";
146
+ }
147
+
148
+ deploy(
149
+ beaconProxyCodeContract_: string,
150
+ depositBoxBeacon_: string,
151
+ overrides?: Overrides & { from?: string | Promise<string> }
152
+ ): Promise<DepositBoxFactory> {
153
+ return super.deploy(
154
+ beaconProxyCodeContract_,
155
+ depositBoxBeacon_,
156
+ overrides || {}
157
+ ) as Promise<DepositBoxFactory>;
158
+ }
159
+ getDeployTransaction(
160
+ beaconProxyCodeContract_: string,
161
+ depositBoxBeacon_: string,
162
+ overrides?: Overrides & { from?: string | Promise<string> }
163
+ ): TransactionRequest {
164
+ return super.getDeployTransaction(
165
+ beaconProxyCodeContract_,
166
+ depositBoxBeacon_,
167
+ overrides || {}
168
+ );
169
+ }
170
+ attach(address: string): DepositBoxFactory {
171
+ return super.attach(address) as DepositBoxFactory;
172
+ }
173
+ connect(signer: Signer): DepositBoxFactory__factory {
174
+ return super.connect(signer) as DepositBoxFactory__factory;
175
+ }
176
+ static readonly contractName: "DepositBoxFactory";
177
+ public readonly contractName: "DepositBoxFactory";
178
+ static readonly bytecode = _bytecode;
179
+ static readonly abi = _abi;
180
+ static createInterface(): DepositBoxFactoryInterface {
181
+ return new utils.Interface(_abi) as DepositBoxFactoryInterface;
182
+ }
183
+ static connect(
184
+ address: string,
185
+ signerOrProvider: Signer | Provider
186
+ ): DepositBoxFactory {
187
+ return new Contract(address, _abi, signerOrProvider) as DepositBoxFactory;
188
+ }
189
+ }
@@ -168,7 +168,7 @@ const _abi = [
168
168
  ];
169
169
 
170
170
  const _bytecode =
171
- "0x60a060405234801561000f575f5ffd5b50604051610ed1380380610ed183398101604081905261002e91610103565b610036610047565b6001600160a01b0316608052610130565b5f54610100900460ff16156100b25760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610101575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f60208284031215610113575f5ffd5b81516001600160a01b0381168114610129575f5ffd5b9392505050565b608051610d7c6101555f395f818160ad01528181610173015261028b0152610d7c5ff3fe608060405260043610610057575f3560e01c8063117803e3146100625780631b2df8501461009c57806328dc8307146100cf578063a817c113146100ef578063c3b35a7e14610126578063c5e4c9f914610147575f5ffd5b3661005e57005b5f5ffd5b34801561006d575f5ffd5b505f54610086906201000090046001600160a01b031681565b60405161009391906109aa565b60405180910390f35b3480156100a7575f5ffd5b506100867f000000000000000000000000000000000000000000000000000000000000000081565b6100e26100dd366004610a45565b610166565b6040516100939190610ba8565b3480156100fa575f5ffd5b505f5461011190600160b01b900463ffffffff1681565b60405163ffffffff9091168152602001610093565b348015610131575f5ffd5b50610145610140366004610bc1565b610280565b005b348015610152575f5ffd5b50610145610161366004610bfb565b6102d8565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101b95760405162461bcd60e51b81526004016101b090610c38565b60405180910390fd5b82515f906001600160a01b0316156101d1575f6101d7565b83602001515b9050345f81836101e68361041c565b6101f09190610c8d565b6101fa9190610c8d565b9050610212865f0151876040015188602001516104a4565b608086015161023a906102258486610ca0565b60608901516001600160a01b031691906104cb565b935061024e865f015187604001515f6104a4565b5f6102585f61041c565b905081811115610276576102765f876102718585610c8d565b6104f9565b5050505092915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102c85760405162461bcd60e51b81526004016101b090610c38565b6102d38284836104f9565b505050565b5f54610100900460ff16158080156102f657505f54600160ff909116105b806103165750610305306105be565b15801561031657505f5460ff166001145b6103795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101b0565b5f805460ff19166001179055801561039a575f805461ff0019166101001790555b5f805462010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85160217905580156102d3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b5f6001600160a01b0382161561049c576040516370a0823160e01b81526001600160a01b038316906370a08231906104589030906004016109aa565b602060405180830381865afa158015610473573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104979190610cb3565b61049e565b475b92915050565b6001600160a01b0383166104b757505050565b6102d36001600160a01b03841683836105cd565b60606104f1848484604051806060016040528060298152602001610d1e60299139610697565b949350505050565b805f0361050557505050565b6001600160a01b0383166105aa575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461055c576040519150601f19603f3d011682016040523d82523d5f602084013e610561565b606091505b50509050806105a45760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016101b0565b50505050565b6102d36001600160a01b038416838361076e565b6001600160a01b03163b151590565b5f63095ea7b360e01b83836040516024016105e9929190610cca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610627848261078d565b6105a4576040516001600160a01b03841660248201525f604482015261068d90859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610829565b6105a48482610829565b6060824710156106f85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101b0565b5f5f866001600160a01b031685876040516107139190610ce3565b5f6040518083038185875af1925050503d805f811461074d576040519150601f19603f3d011682016040523d82523d5f602084013e610752565b606091505b5091509150610763878383876108fc565b979650505050505050565b6102d38363a9059cbb60e01b8484604051602401610656929190610cca565b5f5f5f846001600160a01b0316846040516107a89190610ce3565b5f604051808303815f865af19150503d805f81146107e1576040519150601f19603f3d011682016040523d82523d5f602084013e6107e6565b606091505b50915091508180156108105750805115806108105750808060200190518101906108109190610cfe565b80156108205750610820856105be565b95945050505050565b5f61087d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109729092919063ffffffff16565b905080515f148061089d57508080602001905181019061089d9190610cfe565b6102d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101b0565b606083156109685782515f0361096157610915856105be565b6109615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b0565b50816104f1565b6104f18383610980565b60606104f184845f85610697565b8151156109905781518083602001fd5b8060405162461bcd60e51b81526004016101b09190610ba8565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b03811182821017156109f4576109f46109be565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610a2257610a226109be565b604052919050565b80356001600160a01b0381168114610a40575f5ffd5b919050565b5f5f60408385031215610a56575f5ffd5b82356001600160401b03811115610a6b575f5ffd5b830160a08186031215610a7c575f5ffd5b610a846109d2565b610a8d82610a2a565b815260208281013590820152610aa560408301610a2a565b6040820152610ab660608301610a2a565b606082015260808201356001600160401b03811115610ad3575f5ffd5b80830192505085601f830112610ae7575f5ffd5b81356001600160401b03811115610b0057610b006109be565b610b13601f8201601f19166020016109fa565b818152876020838601011115610b27575f5ffd5b816020850160208301375f6020838301015280608084015250508093505050610b5260208401610a2a565b90509250929050565b5f5b83811015610b75578181015183820152602001610b5d565b50505f910152565b5f8151808452610b94816020860160208601610b5b565b601f01601f19169290920160200192915050565b602081525f610bba6020830184610b7d565b9392505050565b5f5f5f60608486031215610bd3575f5ffd5b610bdc84610a2a565b9250610bea60208501610a2a565b929592945050506040919091013590565b5f5f60408385031215610c0c575f5ffd5b610c1583610a2a565b9150602083013563ffffffff81168114610c2d575f5ffd5b809150509250929050565b60208082526021908201527f4465706f736974426f783a2063616c6c6572206973206e6f74206d616e6167656040820152603960f91b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561049e5761049e610c79565b8082018082111561049e5761049e610c79565b5f60208284031215610cc3575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f8251610cf4818460208701610b5b565b9190910192915050565b5f60208284031215610d0e575f5ffd5b81518015158114610bba575f5ffdfe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220afc1a14ded4a540e28b7c0f99a15e869c8918ef90403d4ccab718803d5a226bb64736f6c634300081e0033";
171
+ "0x60a060405234801561000f575f5ffd5b50604051610ee6380380610ee683398101604081905261002e91610103565b610036610047565b6001600160a01b0316608052610130565b5f54610100900460ff16156100b25760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610101575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f60208284031215610113575f5ffd5b81516001600160a01b0381168114610129575f5ffd5b9392505050565b608051610d916101555f395f818160ad01528181610173015261028b0152610d915ff3fe608060405260043610610057575f3560e01c8063117803e3146100625780631b2df8501461009c57806328dc8307146100cf578063a817c113146100ef578063c3b35a7e14610126578063c5e4c9f914610147575f5ffd5b3661005e57005b5f5ffd5b34801561006d575f5ffd5b505f54610086906201000090046001600160a01b031681565b60405161009391906109c6565b60405180910390f35b3480156100a7575f5ffd5b506100867f000000000000000000000000000000000000000000000000000000000000000081565b6100e26100dd366004610a61565b610166565b6040516100939190610bc4565b3480156100fa575f5ffd5b505f5461011190600160b01b900463ffffffff1681565b60405163ffffffff9091168152602001610093565b348015610131575f5ffd5b50610145610140366004610bd6565b610280565b005b348015610152575f5ffd5b50610145610161366004610c10565b6102d8565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101b95760405162461bcd60e51b81526004016101b090610c4d565b60405180910390fd5b82515f906001600160a01b0316156101d1575f6101d7565b83602001515b9050345f81836101e68361041c565b6101f09190610ca2565b6101fa9190610ca2565b9050610212865f01518760400151886020015161042d565b608086015161023a906102258486610cb5565b60608901516001600160a01b03169190610454565b935061024e865f015187604001515f61042d565b5f6102585f61041c565b905081811115610276576102765f876102718585610ca2565b610482565b5050505092915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102c85760405162461bcd60e51b81526004016101b090610c4d565b6102d3828483610482565b505050565b5f54610100900460ff16158080156102f657505f54600160ff909116105b80610316575061030530610547565b15801561031657505f5460ff166001145b6103795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101b0565b5f805460ff19166001179055801561039a575f805461ff0019166101001790555b5f805462010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85160217905580156102d3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b5f6104273083610556565b92915050565b6001600160a01b03831661044057505050565b6102d36001600160a01b03841683836105e9565b606061047a848484604051806060016040528060298152602001610d33602991396106b3565b949350505050565b805f0361048e57505050565b6001600160a01b038316610533575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146104e5576040519150601f19603f3d011682016040523d82523d5f602084013e6104ea565b606091505b505090508061052d5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016101b0565b50505050565b6102d36001600160a01b038416838361078a565b6001600160a01b03163b151590565b5f6001600160a01b038216156105d6576040516370a0823160e01b81526001600160a01b038316906370a08231906105929086906004016109c6565b602060405180830381865afa1580156105ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105d19190610cc8565b6105e2565b826001600160a01b0316315b9392505050565b5f63095ea7b360e01b8383604051602401610605929190610cdf565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061064384826107a9565b61052d576040516001600160a01b03841660248201525f60448201526106a990859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610845565b61052d8482610845565b6060824710156107145760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101b0565b5f5f866001600160a01b0316858760405161072f9190610cf8565b5f6040518083038185875af1925050503d805f8114610769576040519150601f19603f3d011682016040523d82523d5f602084013e61076e565b606091505b509150915061077f87838387610918565b979650505050505050565b6102d38363a9059cbb60e01b8484604051602401610672929190610cdf565b5f5f5f846001600160a01b0316846040516107c49190610cf8565b5f604051808303815f865af19150503d805f81146107fd576040519150601f19603f3d011682016040523d82523d5f602084013e610802565b606091505b509150915081801561082c57508051158061082c57508080602001905181019061082c9190610d13565b801561083c575061083c85610547565b95945050505050565b5f610899826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661098e9092919063ffffffff16565b905080515f14806108b95750808060200190518101906108b99190610d13565b6102d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101b0565b606083156109845782515f0361097d5761093185610547565b61097d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b0565b508161047a565b61047a838361099c565b606061047a84845f856106b3565b8151156109ac5781518083602001fd5b8060405162461bcd60e51b81526004016101b09190610bc4565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715610a1057610a106109da565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610a3e57610a3e6109da565b604052919050565b80356001600160a01b0381168114610a5c575f5ffd5b919050565b5f5f60408385031215610a72575f5ffd5b82356001600160401b03811115610a87575f5ffd5b830160a08186031215610a98575f5ffd5b610aa06109ee565b610aa982610a46565b815260208281013590820152610ac160408301610a46565b6040820152610ad260608301610a46565b606082015260808201356001600160401b03811115610aef575f5ffd5b80830192505085601f830112610b03575f5ffd5b81356001600160401b03811115610b1c57610b1c6109da565b610b2f601f8201601f1916602001610a16565b818152876020838601011115610b43575f5ffd5b816020850160208301375f6020838301015280608084015250508093505050610b6e60208401610a46565b90509250929050565b5f5b83811015610b91578181015183820152602001610b79565b50505f910152565b5f8151808452610bb0816020860160208601610b77565b601f01601f19169290920160200192915050565b602081525f6105e26020830184610b99565b5f5f5f60608486031215610be8575f5ffd5b610bf184610a46565b9250610bff60208501610a46565b929592945050506040919091013590565b5f5f60408385031215610c21575f5ffd5b610c2a83610a46565b9150602083013563ffffffff81168114610c42575f5ffd5b809150509250929050565b60208082526021908201527f4465706f736974426f783a2063616c6c6572206973206e6f74206d616e6167656040820152603960f91b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042757610427610c8e565b8082018082111561042757610427610c8e565b5f60208284031215610cd8575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f8251610d09818460208701610b77565b9190910192915050565b5f60208284031215610d23575f5ffd5b815180151581146105e2575f5ffdfe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a2646970667358221220a4a0a502332df45c1b601ebb5e766646bc8f7524414401c32ca2f460868b9a9e64736f6c634300081e0033";
172
172
 
173
173
  type DepositBoxConstructorParams =
174
174
  | [signer?: Signer]
@@ -301,7 +301,7 @@ const _abi = [
301
301
  ];
302
302
 
303
303
  const _bytecode =
304
- "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611bc36101215f395f818161033701528181610377015281816104a6015281816104e601526105610152611bc35ff3fe608060405260043610610096575f3560e01c8063078dfbe71461009a5780633659cfe6146100bb5780634e71e0c8146100da5780634f1ef286146100ee57806352d1902d146101015780638da5cb5b146101285780639ea517a414610153578063bd5dec9814610172578063c4d66de814610191578063c5759ddd146101b0578063e30c3978146101cf578063e68b4951146101ee575b5f5ffd5b3480156100a5575f5ffd5b506100b96100b4366004611502565b61022c565b005b3480156100c6575f5ffd5b506100b96100d536600461154a565b61032d565b3480156100e5575f5ffd5b506100b96103f4565b6100b96100fc3660046115b0565b61049c565b34801561010c575f5ffd5b50610115610555565b6040519081526020015b60405180910390f35b348015610133575f5ffd5b505f54610146906001600160a01b031681565b60405161011f9190611655565b34801561015e575f5ffd5b5061011561016d366004611669565b610601565b34801561017d575f5ffd5b506100b961018c3660046116ee565b610919565b34801561019c575f5ffd5b506100b96101ab36600461154a565b61099a565b3480156101bb575f5ffd5b506100b96101ca366004611782565b610ad2565b3480156101da575f5ffd5b50600154610146906001600160a01b031681565b3480156101f9575f5ffd5b5061021c61020836600461154a565b60646020525f908152604090205460ff1681565b604051901515815260200161011f565b5f546001600160a01b0316331461025e5760405162461bcd60e51b8152600401610255906117f7565b60405180910390fd5b811561030c576001600160a01b0383161515806102785750805b6102bc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610255565b5f80546040516001600160a01b03808716939216915f516020611b475f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103755760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a7610c25565b6001600160a01b0316146103cd5760405162461bcd60e51b815260040161025590611865565b6103d681610c40565b604080515f808252602082019092526103f191839190610c69565b50565b6001546001600160a01b031633811461044f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610255565b5f80546040516001600160a01b03808516939216915f516020611b475f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016102559061182c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610516610c25565b6001600160a01b03161461053c5760405162461bcd60e51b815260040161025590611865565b61054582610c40565b61055182826001610c69565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610255565b505f516020611b275f395f51905f5290565b5f61060a610dd3565b6001600160a01b0386165f9081526064602052604090205460ff166106575760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b6044820152606401610255565b5f5f5f886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610696573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba919061189e565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016106ec9190611655565b5f604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072e91908101906118dd565b505f808915610750576107438433308d610e2a565b61074d8a82611977565b90505b88156107f3576107628b338d8c610e2a565b5f5f8c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016107949392919061198a565b60408051808303815f875af11580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d391906119ae565b90925090506107e28285611977565b93506107ee8184611977565b925050505b5f61085e846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906119d0565b83610e45565b905061086a8184611977565b9250610877868785610e6c565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303815f875af11580156108d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd91906119d0565b965050505050505061090f6001600255565b9695505050505050565b5f546001600160a01b031633146109425760405162461bcd60e51b8152600401610255906117f7565b5f5b815181101561055157610992828281518110610962576109626119e7565b60200260200101513361098d858581518110610980576109806119e7565b6020026020010151610f32565b610e6c565b600101610944565b600154600160a81b900460ff16158080156109c0575060018054600160a01b900460ff16105b806109e757506109cf30610fb9565b1580156109e7575060018054600160a01b900460ff16145b610a4a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610255565b6001805460ff60a01b1916600160a01b1790558015610a77576001805460ff60a81b1916600160a81b1790555b610a8082610fc8565b610a88611012565b8015610551576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b03163314610afb5760405162461bcd60e51b8152600401610255906117f7565b5f5b82811015610c1f57838382818110610b1757610b176119e7565b9050602002016020810190610b2c919061154a565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b67573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b91906119fb565b610bc55760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606401610255565b8160645f868685818110610bdb57610bdb6119e7565b9050602002016020810190610bf0919061154a565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610afd565b50505050565b5f516020611b275f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103f15760405162461bcd60e51b8152600401610255906117f7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c9c5761032883611045565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cf6575060408051601f3d908101601f19168201909252610cf3918101906119d0565b60015b610d595760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610255565b5f516020611b275f395f51905f528114610dc75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610255565b506103288383836110de565b6002805403610e245760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610255565b60028055565b8015610c1f57610c1f6001600160a01b038516848484611102565b5f82610e59670de0b6b3a764000084611a16565b610e639190611a2d565b90505b92915050565b805f03610e7857505050565b6001600160a01b038316610f17575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ecf576040519150601f19603f3d011682016040523d82523d5f602084013e610ed4565b606091505b5050905080610c1f5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610255565b6103286001600160a01b038416838361115a565b6001600255565b5f6001600160a01b03821615610fb2576040516370a0823160e01b81526001600160a01b038316906370a0823190610f6e903090600401611655565b602060405180830381865afa158015610f89573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fad91906119d0565b610e66565b4792915050565b6001600160a01b03163b151590565b600154600160a81b900460ff16610ff15760405162461bcd60e51b815260040161025590611a4c565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff1661103b5760405162461bcd60e51b815260040161025590611a4c565b61104361118a565b565b61104e81610fb9565b6110b05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610255565b5f516020611b275f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6110e7836111b3565b5f825111806110f35750805b1561032857610c1f83836111f2565b610c1f846323b872dd60e01b8585856040516024016111239392919061198a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611217565b6040516001600160a01b03831660248201526044810182905261032890849063a9059cbb60e01b90606401611123565b600154600160a81b900460ff16610f2b5760405162461bcd60e51b815260040161025590611a4c565b6111bc81611045565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e638383604051806060016040528060278152602001611b67602791396112ea565b5f61126b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113549092919063ffffffff16565b905080515f148061128b57508080602001905181019061128b91906119fb565b6103285760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b60605f5f856001600160a01b0316856040516113069190611ab9565b5f60405180830381855af49150503d805f811461133e576040519150601f19603f3d011682016040523d82523d5f602084013e611343565b606091505b509150915061090f8683838761136a565b606061136284845f856113e0565b949350505050565b606083156113d65782515f036113cf5761138385610fb9565b6113cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b5081611362565b61136283836114b7565b6060824710156114415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b5f5f866001600160a01b0316858760405161145c9190611ab9565b5f6040518083038185875af1925050503d805f8114611496576040519150601f19603f3d011682016040523d82523d5f602084013e61149b565b606091505b50915091506114ac8783838761136a565b979650505050505050565b8151156114c75781518083602001fd5b8060405162461bcd60e51b81526004016102559190611ad4565b6001600160a01b03811681146103f1575f5ffd5b80151581146103f1575f5ffd5b5f5f5f60608486031215611514575f5ffd5b833561151f816114e1565b9250602084013561152f816114f5565b9150604084013561153f816114f5565b809150509250925092565b5f6020828403121561155a575f5ffd5b8135611565816114e1565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115a8576115a861156c565b604052919050565b5f5f604083850312156115c1575f5ffd5b82356115cc816114e1565b915060208301356001600160401b038111156115e6575f5ffd5b8301601f810185136115f6575f5ffd5b80356001600160401b0381111561160f5761160f61156c565b611622601f8201601f1916602001611580565b818152866020838501011115611636575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b6001600160a01b0391909116815260200190565b5f5f5f5f5f5f60c0878903121561167e575f5ffd5b8635611689816114e1565b95506020870135611699816114e1565b9450604087013593506060870135925060808701356116b7816114e1565b9598949750929591949360a090920135925050565b5f6001600160401b038211156116e4576116e461156c565b5060051b60200190565b5f602082840312156116fe575f5ffd5b81356001600160401b03811115611713575f5ffd5b8201601f81018413611723575f5ffd5b8035611736611731826116cc565b611580565b8082825260208201915060208360051b850101925086831115611757575f5ffd5b6020840193505b8284101561090f578335611771816114e1565b82526020938401939091019061175e565b5f5f5f60408486031215611794575f5ffd5b83356001600160401b038111156117a9575f5ffd5b8401601f810186136117b9575f5ffd5b80356001600160401b038111156117ce575f5ffd5b8660208260051b84010111156117e2575f5ffd5b60209182019450925084013561153f816114f5565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611b075f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f606084860312156118b0575f5ffd5b83516118bb816114e1565b60208501519093506118cc816114e1565b604085015190925061153f816114e1565b5f602082840312156118ed575f5ffd5b81516001600160401b03811115611902575f5ffd5b8201601f81018413611912575f5ffd5b8051611920611731826116cc565b8082825260208201915060208360051b850101925086831115611941575f5ffd5b6020840193505b8284101561090f578351825260209384019390910190611948565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e6657610e66611963565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f5f604083850312156119bf575f5ffd5b505080516020909101519092909150565b5f602082840312156119e0575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a0b575f5ffd5b8151611565816114f5565b8082028115828204841417610e6657610e66611963565b5f82611a4757634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b83811015611ab1578181015183820152602001611a99565b50505f910152565b5f8251611aca818460208701611a97565b9190910192915050565b602081525f8251806020840152611af2816040850160208701611a97565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122070b83a89905b1e4a88fb9c1838cbc7cd657b5eb59fc6c9be29410dcf68527aae64736f6c634300081e0033";
304
+ "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051611bd66101215f395f818161033701528181610377015281816104a6015281816104e601526105610152611bd65ff3fe608060405260043610610096575f3560e01c8063078dfbe71461009a5780633659cfe6146100bb5780634e71e0c8146100da5780634f1ef286146100ee57806352d1902d146101015780638da5cb5b146101285780639ea517a414610153578063bd5dec9814610172578063c4d66de814610191578063c5759ddd146101b0578063e30c3978146101cf578063e68b4951146101ee575b5f5ffd5b3480156100a5575f5ffd5b506100b96100b4366004611515565b61022c565b005b3480156100c6575f5ffd5b506100b96100d536600461155d565b61032d565b3480156100e5575f5ffd5b506100b96103f4565b6100b96100fc3660046115c3565b61049c565b34801561010c575f5ffd5b50610115610555565b6040519081526020015b60405180910390f35b348015610133575f5ffd5b505f54610146906001600160a01b031681565b60405161011f9190611668565b34801561015e575f5ffd5b5061011561016d36600461167c565b610601565b34801561017d575f5ffd5b506100b961018c366004611701565b610919565b34801561019c575f5ffd5b506100b96101ab36600461155d565b61099a565b3480156101bb575f5ffd5b506100b96101ca366004611795565b610ad2565b3480156101da575f5ffd5b50600154610146906001600160a01b031681565b3480156101f9575f5ffd5b5061021c61020836600461155d565b60646020525f908152604090205460ff1681565b604051901515815260200161011f565b5f546001600160a01b0316331461025e5760405162461bcd60e51b81526004016102559061180a565b60405180910390fd5b811561030c576001600160a01b0383161515806102785750805b6102bc5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610255565b5f80546040516001600160a01b03808716939216915f516020611b5a5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103755760405162461bcd60e51b81526004016102559061183f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166103a7610c25565b6001600160a01b0316146103cd5760405162461bcd60e51b815260040161025590611878565b6103d681610c40565b604080515f808252602082019092526103f191839190610c69565b50565b6001546001600160a01b031633811461044f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610255565b5f80546040516001600160a01b03808516939216915f516020611b5a5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036104e45760405162461bcd60e51b81526004016102559061183f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610516610c25565b6001600160a01b03161461053c5760405162461bcd60e51b815260040161025590611878565b61054582610c40565b61055182826001610c69565b5050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105ef5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610255565b505f516020611b3a5f395f51905f5290565b5f61060a610dd3565b6001600160a01b0386165f9081526064602052604090205460ff166106575760405162461bcd60e51b81526020600482015260036024820152626e2f6160e81b6044820152606401610255565b5f5f5f886001600160a01b0316632c8ce6bc6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610696573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ba91906118b1565b925092509250886001600160a01b0316639262187b336040518263ffffffff1660e01b81526004016106ec9190611668565b5f604051808303815f875af1158015610707573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261072e91908101906118f0565b505f808915610750576107438433308d610e2a565b61074d8a8261198a565b90505b88156107f3576107628b338d8c610e2a565b5f5f8c6001600160a01b031663f6b911bc30308e6040518463ffffffff1660e01b81526004016107949392919061199d565b60408051808303815f875af11580156107af573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107d391906119c1565b90925090506107e2828561198a565b93506107ee818461198a565b925050505b5f61085e846001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610834573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085891906119e3565b83610e45565b905061086a818461198a565b9250610877868785610e6c565b60405163769f8e5d60e01b81526001600160a01b038e81166004830152602482018590528a81166044830152606482018a90526001608483015287169063769f8e5d9060a4016020604051808303815f875af11580156108d9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd91906119e3565b965050505050505061090f6001600255565b9695505050505050565b5f546001600160a01b031633146109425760405162461bcd60e51b81526004016102559061180a565b5f5b815181101561055157610992828281518110610962576109626119fa565b60200260200101513361098d858581518110610980576109806119fa565b6020026020010151610f32565b610e6c565b600101610944565b600154600160a81b900460ff16158080156109c0575060018054600160a01b900460ff16105b806109e757506109cf30610f3d565b1580156109e7575060018054600160a01b900460ff16145b610a4a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610255565b6001805460ff60a01b1916600160a01b1790558015610a77576001805460ff60a81b1916600160a81b1790555b610a8082610f4c565b610a88610f96565b8015610551576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f546001600160a01b03163314610afb5760405162461bcd60e51b81526004016102559061180a565b5f5b82811015610c1f57838382818110610b1757610b176119fa565b9050602002016020810190610b2c919061155d565b6001600160a01b0316632f13b60c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b67573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b8b9190611a0e565b610bc55760405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606401610255565b8160645f868685818110610bdb57610bdb6119fa565b9050602002016020810190610bf0919061155d565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610afd565b50505050565b5f516020611b3a5f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146103f15760405162461bcd60e51b81526004016102559061180a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610c9c5761032883610fc9565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cf6575060408051601f3d908101601f19168201909252610cf3918101906119e3565b60015b610d595760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610255565b5f516020611b3a5f395f51905f528114610dc75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610255565b50610328838383611062565b6002805403610e245760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610255565b60028055565b8015610c1f57610c1f6001600160a01b038516848484611086565b5f82610e59670de0b6b3a764000084611a29565b610e639190611a40565b90505b92915050565b805f03610e7857505050565b6001600160a01b038316610f17575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114610ecf576040519150601f19603f3d011682016040523d82523d5f602084013e610ed4565b606091505b5050905080610c1f5760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610255565b6103286001600160a01b03841683836110de565b6001600255565b5f610e66308361110e565b6001600160a01b03163b151590565b600154600160a81b900460ff16610f755760405162461bcd60e51b815260040161025590611a5f565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff16610fbf5760405162461bcd60e51b815260040161025590611a5f565b610fc761119d565b565b610fd281610f3d565b6110345760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610255565b5f516020611b3a5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61106b836111c6565b5f825111806110775750805b1561032857610c1f8383611205565b610c1f846323b872dd60e01b8585856040516024016110a79392919061199d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261122a565b6040516001600160a01b03831660248201526044810182905261032890849063a9059cbb60e01b906064016110a7565b5f6001600160a01b0382161561118e576040516370a0823160e01b81526001600160a01b038316906370a082319061114a908690600401611668565b602060405180830381865afa158015611165573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118991906119e3565b610e63565b50506001600160a01b03163190565b600154600160a81b900460ff16610f2b5760405162461bcd60e51b815260040161025590611a5f565b6111cf81610fc9565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e638383604051806060016040528060278152602001611b7a602791396112fd565b5f61127e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113679092919063ffffffff16565b905080515f148061129e57508080602001905181019061129e9190611a0e565b6103285760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610255565b60605f5f856001600160a01b0316856040516113199190611acc565b5f60405180830381855af49150503d805f8114611351576040519150601f19603f3d011682016040523d82523d5f602084013e611356565b606091505b509150915061090f8683838761137d565b606061137584845f856113f3565b949350505050565b606083156113e95782515f036113e25761139685610f3d565b6113e25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610255565b5081611375565b61137583836114ca565b6060824710156114545760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610255565b5f5f866001600160a01b0316858760405161146f9190611acc565b5f6040518083038185875af1925050503d805f81146114a9576040519150601f19603f3d011682016040523d82523d5f602084013e6114ae565b606091505b50915091506114bf8783838761137d565b979650505050505050565b8151156114da5781518083602001fd5b8060405162461bcd60e51b81526004016102559190611ae7565b6001600160a01b03811681146103f1575f5ffd5b80151581146103f1575f5ffd5b5f5f5f60608486031215611527575f5ffd5b8335611532816114f4565b9250602084013561154281611508565b9150604084013561155281611508565b809150509250925092565b5f6020828403121561156d575f5ffd5b8135611578816114f4565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156115bb576115bb61157f565b604052919050565b5f5f604083850312156115d4575f5ffd5b82356115df816114f4565b915060208301356001600160401b038111156115f9575f5ffd5b8301601f81018513611609575f5ffd5b80356001600160401b038111156116225761162261157f565b611635601f8201601f1916602001611593565b818152866020838501011115611649575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b6001600160a01b0391909116815260200190565b5f5f5f5f5f5f60c08789031215611691575f5ffd5b863561169c816114f4565b955060208701356116ac816114f4565b9450604087013593506060870135925060808701356116ca816114f4565b9598949750929591949360a090920135925050565b5f6001600160401b038211156116f7576116f761157f565b5060051b60200190565b5f60208284031215611711575f5ffd5b81356001600160401b03811115611726575f5ffd5b8201601f81018413611736575f5ffd5b8035611749611744826116df565b611593565b8082825260208201915060208360051b85010192508683111561176a575f5ffd5b6020840193505b8284101561090f578335611784816114f4565b825260209384019390910190611771565b5f5f5f604084860312156117a7575f5ffd5b83356001600160401b038111156117bc575f5ffd5b8401601f810186136117cc575f5ffd5b80356001600160401b038111156117e1575f5ffd5b8660208260051b84010111156117f5575f5ffd5b60209182019450925084013561155281611508565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602c908201525f516020611b1a5f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611b1a5f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b5f5f5f606084860312156118c3575f5ffd5b83516118ce816114f4565b60208501519093506118df816114f4565b6040850151909250611552816114f4565b5f60208284031215611900575f5ffd5b81516001600160401b03811115611915575f5ffd5b8201601f81018413611925575f5ffd5b8051611933611744826116df565b8082825260208201915060208360051b850101925086831115611954575f5ffd5b6020840193505b8284101561090f57835182526020938401939091019061195b565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e6657610e66611976565b6001600160a01b039384168152919092166020820152604081019190915260600190565b5f5f604083850312156119d2575f5ffd5b505080516020909101519092909150565b5f602082840312156119f3575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a1e575f5ffd5b815161157881611508565b8082028115828204841417610e6657610e66611976565b5f82611a5a57634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b83811015611ac4578181015183820152602001611aac565b50505f910152565b5f8251611add818460208701611aaa565b9190910192915050565b602081525f8251806020840152611b05816040850160208701611aaa565b601f01601f1916919091016040019291505056fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d92540dc019b47aefd6b2c6bd191747eefa18ce8f16cc4f28099a297c9e4921f64736f6c634300081e0033";
305
305
 
306
306
  type ExpiredLpPtRedeemerConstructorParams =
307
307
  | [signer?: Signer]
@@ -668,7 +668,7 @@ const _abi = [
668
668
  ];
669
669
 
670
670
  const _bytecode =
671
- "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516120936101215f395f8181610587015281816105c70152818161075701528181610797015261084c01526120935ff3fe6080604052600436106100d8575f3560e01c8063078dfbe7146100dc5780631927e673146100fd57806332cd935a1461012f5780633659cfe61461014e578063477053fb1461016d5780634e71e0c81461018c5780634f1ef286146101a05780635081b67b146101b357806352d1902d146101d25780638da5cb5b146101e657806393d5972b146102115780639d9ed3cc14610230578063c4d66de81461024f578063d3118e641461026e578063d512c0611461029b578063d7f70c8f146102ae578063df0fe2eb146102cd578063e30c3978146102ec575b5f5ffd5b3480156100e7575f5ffd5b506100fb6100f6366004611945565b61030b565b005b348015610108575f5ffd5b5061011c61011736600461198b565b61040c565b6040519081526020015b60405180910390f35b34801561013a575f5ffd5b5061011c6101493660046119c5565b6104c9565b348015610159575f5ffd5b506100fb6101683660046119fe565b61057d565b348015610178575f5ffd5b5061011c610187366004611a54565b610644565b348015610197575f5ffd5b506100fb6106a5565b6100fb6101ae366004611ae1565b61074d565b3480156101be575f5ffd5b5061011c6101cd366004611ba2565b610806565b3480156101dd575f5ffd5b5061011c610840565b3480156101f1575f5ffd5b505f54610204906001600160a01b031681565b6040516101269190611bea565b34801561021c575f5ffd5b5061011c61022b366004611bfe565b6108ec565b34801561023b575f5ffd5b506100fb61024a366004611c48565b610912565b34801561025a575f5ffd5b506100fb6102693660046119fe565b6109d5565b348015610279575f5ffd5b5061028d610288366004611c70565b610b0d565b604051610126929190611ca1565b6100fb6102a9366004611c48565b610bac565b3480156102b9575f5ffd5b506100fb6102c8366004611ba2565b610c67565b3480156102d8575f5ffd5b5061011c6102e7366004611cba565b610d2f565b3480156102f7575f5ffd5b50600154610204906001600160a01b031681565b5f546001600160a01b0316331461033d5760405162461bcd60e51b815260040161033490611d15565b60405180910390fd5b81156103eb576001600160a01b0383161515806103575750805b61039b5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610334565b5f80546040516001600160a01b03808716939216915f5160206120175f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b5f5f5f6104198686610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561045a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047e9190611d60565b5050509150506104be8261049183610d7a565b61049b9190611dc2565b670de0b6b3a76400006104ae8189611dc2565b6104b89190611dc2565b90610d8b565b979650505050505050565b5f5f5f6104d68685610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610517573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053b9190611d60565b505050915050670de0b6b3a7640000806105559190611dc2565b8261055f83610d7a565b6105699089611dc2565b6105739190611dc2565b6104be9190611dd9565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105c55760405162461bcd60e51b815260040161033490611df8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105f7610db6565b6001600160a01b03161461061d5760405162461bcd60e51b815260040161033490611e31565b61062681610dd1565b604080515f8082526020820190925261064191839190610dfa565b50565b5f61064d610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fbd915050565b905061069b6001603255565b9695505050505050565b6001546001600160a01b03163381146107005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610334565b5f80546040516001600160a01b03808516939216915f5160206120175f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107955760405162461bcd60e51b815260040161033490611df8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107c7610db6565b6001600160a01b0316146107ed5760405162461bcd60e51b815260040161033490611e31565b6107f682610dd1565b61080282826001610dfa565b5050565b5f61080f610f64565b61082c8585858560405180602001604052805f8152506001610fbd565b90506108386001603255565b949350505050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108da5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610334565b505f516020611ff75f395f51905f5290565b5f6108f5610f64565b61082c8585858560405180602001604052805f8152506001610fea565b5f546001600160a01b0316331461093b5760405162461bcd60e51b815260040161033490611d15565b5f546109529083906001600160a01b031683611017565b8061095b6110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f82825461098d9190611e6a565b90915550506040518181526001600160a01b038316907fea503f39efcfc64114ad09951fa9d4f7481b8d8d92b4fbccd006377b095f866d906020015b60405180910390a25050565b600154600160a81b900460ff16158080156109fb575060018054600160a01b900460ff16105b80610a225750610a0a30611100565b158015610a22575060018054600160a01b900460ff16145b610a855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610334565b6001805460ff60a01b1916600160a01b1790558015610ab2576001805460ff60a81b1916600160a81b1790555b610abb8261110f565b610ac3611159565b8015610802576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f5f610b176110dc565b6001600160a01b038086165f9081526020928352604080822087841683529093529190912054169150610b486110dc565b6001600160a01b038086165f908152602092835260408082208784168352909352919091206001015491508216610ba5576040516344d0379d60e01b81526001600160a01b03808616600483015284166024820152604401610334565b9250929050565b5f546001600160a01b03163314610bd55760405162461bcd60e51b815260040161033490611d15565b5f54610bec9083906001600160a01b031683611184565b80610bf56110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f828254610c279190611e7d565b90915550506040518181526001600160a01b038316907f6189b14a5c1490dbeb86a9da875768d98dc98fb398d6b29dd475defaa1ec4ba3906020016109c9565b5f546001600160a01b03163314610c905760405162461bcd60e51b815260040161033490611d15565b6040518060400160405280836001600160a01b0316815260200182815250610cb66110dc565b6001600160a01b038681165f81815260209384526040808220898516808452908652818320875181546001600160a01b031916908716178155969095015160019096019590955593519186169390917ff51f0fffc8121ee3747e0536c487d894894cdba960ccfb4ab385a88d51b16fed9190a450505050565b5f610d38610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fea915050565b5f5f821215610d87575f5ffd5b5090565b5f816001610d998286611e7d565b610da39190611e6a565b610dad9190611dd9565b90505b92915050565b5f516020611ff75f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146106415760405162461bcd60e51b815260040161033490611d15565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e2d57610407836111eb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e87575060408051601f3d908101601f19168201909252610e8491810190611e90565b60015b610eea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610334565b5f516020611ff75f395f51905f528114610f585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610334565b50610407838383611284565b600260325403610fb65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610334565b6002603255565b5f610fc986868661040c565b90508115610fdc57610fdc863383611184565b61069b8787838888886112a8565b5f610ff68686866104c9565b9050811561100957611009863387611184565b61069b8787878785886112a8565b805f0361102357505050565b6001600160a01b0383166110c8575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461107a576040519150601f19603f3d011682016040523d82523d5f602084013e61107f565b606091505b50509050806110c25760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610334565b50505050565b6104076001600160a01b03841683836114ed565b7fbbf04d9aae855c6bd76c8f4ba7a918994ad0d002f537323e58c83cbfe524900090565b6001600160a01b03163b151590565b600154600160a81b900460ff166111385760405162461bcd60e51b815260040161033490611ea7565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff166111825760405162461bcd60e51b815260040161033490611ea7565b565b6001600160a01b0383166111d0578034146104075760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610334565b8015610407576104076001600160a01b038416833084611543565b6111f481611100565b6112565760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610334565b5f516020611ff75f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61128d8361157b565b5f825111806112995750805b15610407576110c283836115ba565b816112b16110dc565b6001600160a01b0385165f9081526001919091016020526040902054101561131e57826112dc6110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f2054836040516306aa683960e31b815260040161033493929190611ef2565b611329838784611017565b816113326110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f205f8282546113649190611e6a565b90915550508051156113c55760405163491dc51560e11b8152339063923b8a2a9061139790859088908690600401611f60565b5f604051808303815f87803b1580156113ae575f5ffd5b505af11580156113c0573d5f5f3e3d5ffd5b505050505b836113ce6110dc565b6001015f876001600160a01b03166001600160a01b031681526020019081526020015f205f8282546114009190611e7d565b9091555061140e90506110dc565b6001600160a01b0386165f9081526001919091016020526040902054611433866115df565b101561148c5784611443866115df565b61144b6110dc565b6001015f886001600160a01b03166001600160a01b031681526020019081526020015f205460405163bb7de36360e01b815260040161033493929190611ef2565b604080516001600160a01b03878116825260208201879052858116828401526060820185905291519188169133917f6ac6c02c73a1841cb185dff1fe5282ff4499ce709efd387f7fc6de10a5124320919081900360800190a3505050505050565b6104078363a9059cbb60e01b848460405160240161150c929190611ca1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611666565b6040516001600160a01b03808516602483015283166044820152606481018290526110c29085906323b872dd60e01b9060840161150c565b611584816111eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610dad838360405180606001604052806027815260200161203760279139611739565b5f6001600160a01b0382161561165f576040516370a0823160e01b81526001600160a01b038316906370a082319061161b903090600401611bea565b602060405180830381865afa158015611636573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061165a9190611e90565b610db0565b4792915050565b5f6116ba826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117a39092919063ffffffff16565b905080515f14806116da5750808060200190518101906116da9190611f87565b6104075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610334565b60605f5f856001600160a01b0316856040516117559190611fa9565b5f60405180830381855af49150503d805f811461178d576040519150601f19603f3d011682016040523d82523d5f602084013e611792565b606091505b509150915061069b868383876117b1565b606061083884845f85611827565b6060831561181d5782515f03611816576117ca85611100565b6118165760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610334565b5081610838565b61083883836118f3565b6060824710156118885760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610334565b5f5f866001600160a01b031685876040516118a39190611fa9565b5f6040518083038185875af1925050503d805f81146118dd576040519150601f19603f3d011682016040523d82523d5f602084013e6118e2565b606091505b50915091506104be878383876117b1565b8151156119035781518083602001fd5b8060405162461bcd60e51b81526004016103349190611fc4565b80356001600160a01b0381168114611933575f5ffd5b919050565b8015158114610641575f5ffd5b5f5f5f60608486031215611957575f5ffd5b6119608461191d565b9250602084013561197081611938565b9150604084013561198081611938565b809150509250925092565b5f5f5f6060848603121561199d575f5ffd5b6119a68461191d565b92506119b46020850161191d565b929592945050506040919091013590565b5f5f5f606084860312156119d7575f5ffd5b6119e08461191d565b9250602084013591506119f56040850161191d565b90509250925092565b5f60208284031215611a0e575f5ffd5b610dad8261191d565b5f5f83601f840112611a27575f5ffd5b5081356001600160401b03811115611a3d575f5ffd5b602083019150836020828501011115610ba5575f5ffd5b5f5f5f5f5f5f60a08789031215611a69575f5ffd5b611a728761191d565b9550611a806020880161191d565b9450611a8e6040880161191d565b93506060870135925060808701356001600160401b03811115611aaf575f5ffd5b611abb89828a01611a17565b979a9699509497509295939492505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611af2575f5ffd5b611afb8361191d565b915060208301356001600160401b03811115611b15575f5ffd5b8301601f81018513611b25575f5ffd5b80356001600160401b03811115611b3e57611b3e611acd565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611b6c57611b6c611acd565b604052818152828201602001871015611b83575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60808587031215611bb5575f5ffd5b611bbe8561191d565b9350611bcc6020860161191d565b9250611bda6040860161191d565b9396929550929360600135925050565b6001600160a01b0391909116815260200190565b5f5f5f5f60808587031215611c11575f5ffd5b611c1a8561191d565b9350611c286020860161191d565b925060408501359150611c3d6060860161191d565b905092959194509250565b5f5f60408385031215611c59575f5ffd5b611c628361191d565b946020939093013593505050565b5f5f60408385031215611c81575f5ffd5b611c8a8361191d565b9150611c986020840161191d565b90509250929050565b6001600160a01b03929092168252602082015260400190565b5f5f5f5f5f5f60a08789031215611ccf575f5ffd5b611cd88761191d565b9550611ce66020880161191d565b945060408701359350611cfb6060880161191d565b925060808701356001600160401b03811115611aaf575f5ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160501b0381168114611933575f5ffd5b5f5f5f5f5f60a08688031215611d74575f5ffd5b611d7d86611d4a565b60208701516040880151606089015192975090955093509150611da260808701611d4a565b90509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610db057610db0611dae565b5f82611df357634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602c908201525f516020611fd75f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611fd75f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610db057610db0611dae565b80820180821115610db057610db0611dae565b5f60208284031215611ea0575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b5f5b83811015611f2d578181015183820152602001611f15565b50505f910152565b5f8151808452611f4c816020860160208601611f13565b601f01601f19169290920160200192915050565b838152826020820152606060408201525f611f7e6060830184611f35565b95945050505050565b5f60208284031215611f97575f5ffd5b8151611fa281611938565b9392505050565b5f8251611fba818460208701611f13565b9190910192915050565b602081525f610dad6020830184611f3556fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122048f1dd9615e8cd61f4161c7972336757f994c83d306a8dd2487dd9ec51c4955c64736f6c634300081e0033";
671
+ "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100ed565b600154600160a81b900460ff161561008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b600154600160a01b900460ff908116146100eb576001805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516120a66101215f395f8181610587015281816105c70152818161075701528181610797015261084c01526120a65ff3fe6080604052600436106100d8575f3560e01c8063078dfbe7146100dc5780631927e673146100fd57806332cd935a1461012f5780633659cfe61461014e578063477053fb1461016d5780634e71e0c81461018c5780634f1ef286146101a05780635081b67b146101b357806352d1902d146101d25780638da5cb5b146101e657806393d5972b146102115780639d9ed3cc14610230578063c4d66de81461024f578063d3118e641461026e578063d512c0611461029b578063d7f70c8f146102ae578063df0fe2eb146102cd578063e30c3978146102ec575b5f5ffd5b3480156100e7575f5ffd5b506100fb6100f6366004611958565b61030b565b005b348015610108575f5ffd5b5061011c61011736600461199e565b61040c565b6040519081526020015b60405180910390f35b34801561013a575f5ffd5b5061011c6101493660046119d8565b6104c9565b348015610159575f5ffd5b506100fb610168366004611a11565b61057d565b348015610178575f5ffd5b5061011c610187366004611a67565b610644565b348015610197575f5ffd5b506100fb6106a5565b6100fb6101ae366004611af4565b61074d565b3480156101be575f5ffd5b5061011c6101cd366004611bb5565b610806565b3480156101dd575f5ffd5b5061011c610840565b3480156101f1575f5ffd5b505f54610204906001600160a01b031681565b6040516101269190611bfd565b34801561021c575f5ffd5b5061011c61022b366004611c11565b6108ec565b34801561023b575f5ffd5b506100fb61024a366004611c5b565b610912565b34801561025a575f5ffd5b506100fb610269366004611a11565b6109d5565b348015610279575f5ffd5b5061028d610288366004611c83565b610b0d565b604051610126929190611cb4565b6100fb6102a9366004611c5b565b610bac565b3480156102b9575f5ffd5b506100fb6102c8366004611bb5565b610c67565b3480156102d8575f5ffd5b5061011c6102e7366004611ccd565b610d2f565b3480156102f7575f5ffd5b50600154610204906001600160a01b031681565b5f546001600160a01b0316331461033d5760405162461bcd60e51b815260040161033490611d28565b60405180910390fd5b81156103eb576001600160a01b0383161515806103575750805b61039b5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b6044820152606401610334565b5f80546040516001600160a01b03808716939216915f51602061202a5f395f51905f5291a35f80546001600160a01b0385166001600160a01b031991821617909155600180549091169055505050565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b5f5f5f6104198686610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561045a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061047e9190611d73565b5050509150506104be8261049183610d7a565b61049b9190611dd5565b670de0b6b3a76400006104ae8189611dd5565b6104b89190611dd5565b90610d8b565b979650505050505050565b5f5f5f6104d68685610b0d565b915091505f826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610517573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053b9190611d73565b505050915050670de0b6b3a7640000806105559190611dd5565b8261055f83610d7a565b6105699089611dd5565b6105739190611dd5565b6104be9190611dec565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036105c55760405162461bcd60e51b815260040161033490611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105f7610db6565b6001600160a01b03161461061d5760405162461bcd60e51b815260040161033490611e44565b61062681610dd1565b604080515f8082526020820190925261064191839190610dfa565b50565b5f61064d610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fbd915050565b905061069b6001603255565b9695505050505050565b6001546001600160a01b03163381146107005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152606401610334565b5f80546040516001600160a01b03808516939216915f51602061202a5f395f51905f5291a35f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107955760405162461bcd60e51b815260040161033490611e0b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107c7610db6565b6001600160a01b0316146107ed5760405162461bcd60e51b815260040161033490611e44565b6107f682610dd1565b61080282826001610dfa565b5050565b5f61080f610f64565b61082c8585858560405180602001604052805f8152506001610fbd565b90506108386001603255565b949350505050565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108da5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610334565b505f51602061200a5f395f51905f5290565b5f6108f5610f64565b61082c8585858560405180602001604052805f8152506001610fea565b5f546001600160a01b0316331461093b5760405162461bcd60e51b815260040161033490611d28565b5f546109529083906001600160a01b031683611017565b8061095b6110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f82825461098d9190611e7d565b90915550506040518181526001600160a01b038316907fea503f39efcfc64114ad09951fa9d4f7481b8d8d92b4fbccd006377b095f866d906020015b60405180910390a25050565b600154600160a81b900460ff16158080156109fb575060018054600160a01b900460ff16105b80610a225750610a0a30611100565b158015610a22575060018054600160a01b900460ff16145b610a855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610334565b6001805460ff60a01b1916600160a01b1790558015610ab2576001805460ff60a81b1916600160a81b1790555b610abb8261110f565b610ac3611159565b8015610802576001805460ff60a81b191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f5f610b176110dc565b6001600160a01b038086165f9081526020928352604080822087841683529093529190912054169150610b486110dc565b6001600160a01b038086165f908152602092835260408082208784168352909352919091206001015491508216610ba5576040516344d0379d60e01b81526001600160a01b03808616600483015284166024820152604401610334565b9250929050565b5f546001600160a01b03163314610bd55760405162461bcd60e51b815260040161033490611d28565b5f54610bec9083906001600160a01b031683611184565b80610bf56110dc565b6001015f846001600160a01b03166001600160a01b031681526020019081526020015f205f828254610c279190611e90565b90915550506040518181526001600160a01b038316907f6189b14a5c1490dbeb86a9da875768d98dc98fb398d6b29dd475defaa1ec4ba3906020016109c9565b5f546001600160a01b03163314610c905760405162461bcd60e51b815260040161033490611d28565b6040518060400160405280836001600160a01b0316815260200182815250610cb66110dc565b6001600160a01b038681165f81815260209384526040808220898516808452908652818320875181546001600160a01b031916908716178155969095015160019096019590955593519186169390917ff51f0fffc8121ee3747e0536c487d894894cdba960ccfb4ab385a88d51b16fed9190a450505050565b5f610d38610f64565b61068f8787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250610fea915050565b5f5f821215610d87575f5ffd5b5090565b5f816001610d998286611e90565b610da39190611e7d565b610dad9190611dec565b90505b92915050565b5f51602061200a5f395f51905f52546001600160a01b031690565b5f546001600160a01b031633146106415760405162461bcd60e51b815260040161033490611d28565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610e2d57610407836111eb565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610e87575060408051601f3d908101601f19168201909252610e8491810190611ea3565b60015b610eea5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610334565b5f51602061200a5f395f51905f528114610f585760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610334565b50610407838383611284565b600260325403610fb65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610334565b6002603255565b5f610fc986868661040c565b90508115610fdc57610fdc863383611184565b61069b8787838888886112a8565b5f610ff68686866104c9565b9050811561100957611009863387611184565b61069b8787878785886112a8565b805f0361102357505050565b6001600160a01b0383166110c8575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461107a576040519150601f19603f3d011682016040523d82523d5f602084013e61107f565b606091505b50509050806110c25760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b6044820152606401610334565b50505050565b6104076001600160a01b03841683836114ed565b7fbbf04d9aae855c6bd76c8f4ba7a918994ad0d002f537323e58c83cbfe524900090565b6001600160a01b03163b151590565b600154600160a81b900460ff166111385760405162461bcd60e51b815260040161033490611eba565b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b600154600160a81b900460ff166111825760405162461bcd60e51b815260040161033490611eba565b565b6001600160a01b0383166111d0578034146104075760405162461bcd60e51b815260206004820152600c60248201526b0cae8d040dad2e6dac2e8c6d60a31b6044820152606401610334565b8015610407576104076001600160a01b038416833084611543565b6111f481611100565b6112565760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610334565b5f51602061200a5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b61128d8361157b565b5f825111806112995750805b15610407576110c283836115ba565b816112b16110dc565b6001600160a01b0385165f9081526001919091016020526040902054101561131e57826112dc6110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f2054836040516306aa683960e31b815260040161033493929190611f05565b611329838784611017565b816113326110dc565b6001015f856001600160a01b03166001600160a01b031681526020019081526020015f205f8282546113649190611e7d565b90915550508051156113c55760405163491dc51560e11b8152339063923b8a2a9061139790859088908690600401611f73565b5f604051808303815f87803b1580156113ae575f5ffd5b505af11580156113c0573d5f5f3e3d5ffd5b505050505b836113ce6110dc565b6001015f876001600160a01b03166001600160a01b031681526020019081526020015f205f8282546114009190611e90565b9091555061140e90506110dc565b6001600160a01b0386165f9081526001919091016020526040902054611433866115df565b101561148c5784611443866115df565b61144b6110dc565b6001015f886001600160a01b03166001600160a01b031681526020019081526020015f205460405163bb7de36360e01b815260040161033493929190611f05565b604080516001600160a01b03878116825260208201879052858116828401526060820185905291519188169133917f6ac6c02c73a1841cb185dff1fe5282ff4499ce709efd387f7fc6de10a5124320919081900360800190a3505050505050565b6104078363a9059cbb60e01b848460405160240161150c929190611cb4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115ea565b6040516001600160a01b03808516602483015283166044820152606481018290526110c29085906323b872dd60e01b9060840161150c565b611584816111eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610dad838360405180606001604052806027815260200161204a602791396116bd565b5f610db03083611727565b5f61163e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117b69092919063ffffffff16565b905080515f148061165e57508080602001905181019061165e9190611f9a565b6104075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610334565b60605f5f856001600160a01b0316856040516116d99190611fbc565b5f60405180830381855af49150503d805f8114611711576040519150601f19603f3d011682016040523d82523d5f602084013e611716565b606091505b509150915061069b868383876117c4565b5f6001600160a01b038216156117a7576040516370a0823160e01b81526001600160a01b038316906370a0823190611763908690600401611bfd565b602060405180830381865afa15801561177e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117a29190611ea3565b610dad565b50506001600160a01b03163190565b606061083884845f8561183a565b606083156118305782515f03611829576117dd85611100565b6118295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610334565b5081610838565b6108388383611906565b60608247101561189b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610334565b5f5f866001600160a01b031685876040516118b69190611fbc565b5f6040518083038185875af1925050503d805f81146118f0576040519150601f19603f3d011682016040523d82523d5f602084013e6118f5565b606091505b50915091506104be878383876117c4565b8151156119165781518083602001fd5b8060405162461bcd60e51b81526004016103349190611fd7565b80356001600160a01b0381168114611946575f5ffd5b919050565b8015158114610641575f5ffd5b5f5f5f6060848603121561196a575f5ffd5b61197384611930565b925060208401356119838161194b565b915060408401356119938161194b565b809150509250925092565b5f5f5f606084860312156119b0575f5ffd5b6119b984611930565b92506119c760208501611930565b929592945050506040919091013590565b5f5f5f606084860312156119ea575f5ffd5b6119f384611930565b925060208401359150611a0860408501611930565b90509250925092565b5f60208284031215611a21575f5ffd5b610dad82611930565b5f5f83601f840112611a3a575f5ffd5b5081356001600160401b03811115611a50575f5ffd5b602083019150836020828501011115610ba5575f5ffd5b5f5f5f5f5f5f60a08789031215611a7c575f5ffd5b611a8587611930565b9550611a9360208801611930565b9450611aa160408801611930565b93506060870135925060808701356001600160401b03811115611ac2575f5ffd5b611ace89828a01611a2a565b979a9699509497509295939492505050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215611b05575f5ffd5b611b0e83611930565b915060208301356001600160401b03811115611b28575f5ffd5b8301601f81018513611b38575f5ffd5b80356001600160401b03811115611b5157611b51611ae0565b604051601f8201601f19908116603f011681016001600160401b0381118282101715611b7f57611b7f611ae0565b604052818152828201602001871015611b96575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60808587031215611bc8575f5ffd5b611bd185611930565b9350611bdf60208601611930565b9250611bed60408601611930565b9396929550929360600135925050565b6001600160a01b0391909116815260200190565b5f5f5f5f60808587031215611c24575f5ffd5b611c2d85611930565b9350611c3b60208601611930565b925060408501359150611c5060608601611930565b905092959194509250565b5f5f60408385031215611c6c575f5ffd5b611c7583611930565b946020939093013593505050565b5f5f60408385031215611c94575f5ffd5b611c9d83611930565b9150611cab60208401611930565b90509250929050565b6001600160a01b03929092168252602082015260400190565b5f5f5f5f5f5f60a08789031215611ce2575f5ffd5b611ceb87611930565b9550611cf960208801611930565b945060408701359350611d0e60608801611930565b925060808701356001600160401b03811115611ac2575f5ffd5b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b80516001600160501b0381168114611946575f5ffd5b5f5f5f5f5f60a08688031215611d87575f5ffd5b611d9086611d5d565b60208701516040880151606089015192975090955093509150611db560808701611d5d565b90509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610db057610db0611dc1565b5f82611e0657634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602c908201525f516020611fea5f395f51905f5260408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201525f516020611fea5f395f51905f5260408201526b6163746976652070726f787960a01b606082015260800190565b81810381811115610db057610db0611dc1565b80820180821115610db057610db0611dc1565b5f60208284031215611eb3575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b5f5b83811015611f40578181015183820152602001611f28565b50505f910152565b5f8151808452611f5f816020860160208601611f26565b601f01601f19169290920160200192915050565b838152826020820152606060408201525f611f916060830184611f48565b95945050505050565b5f60208284031215611faa575f5ffd5b8151611fb58161194b565b9392505050565b5f8251611fcd818460208701611f26565b9190910192915050565b602081525f610dad6020830184611f4856fe46756e6374696f6e206d7573742062652063616c6c6564207468726f75676820360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220147212d0d0cac608e1d42fc7d391b94f6ecfe5bf0bb9a57fa8b7377262abadb164736f6c634300081e0033";
672
672
 
673
673
  type FixedPricePTAMMConstructorParams =
674
674
  | [signer?: Signer]