@across-protocol/contracts 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/build/artfacts.json +342 -0
  2. package/contract-types/ethers/AVMBridgeDepositBox.ts +780 -0
  3. package/contract-types/ethers/AVMCrossDomainEnabled.ts +75 -0
  4. package/contract-types/ethers/AccessControl.ts +353 -0
  5. package/contract-types/ethers/AddressWhitelistInterface.ts +184 -0
  6. package/contract-types/ethers/ArbSys.ts +354 -0
  7. package/contract-types/ethers/ArbitrumBridgeMock.ts +159 -0
  8. package/contract-types/ethers/ArbitrumCrossDomainEnabled.ts +74 -0
  9. package/contract-types/ethers/ArbitrumInboxMock.ts +155 -0
  10. package/contract-types/ethers/ArbitrumMessenger.ts +297 -0
  11. package/contract-types/ethers/ArbitrumOutboxMock.ts +80 -0
  12. package/contract-types/ethers/ArbitrumParentMessenger.ts +1028 -0
  13. package/contract-types/ethers/Bridge.ts +1537 -0
  14. package/contract-types/ethers/BridgeAdmin.ts +1011 -0
  15. package/contract-types/ethers/BridgeAdminInterface.ts +409 -0
  16. package/contract-types/ethers/BridgeDepositBox.ts +557 -0
  17. package/contract-types/ethers/BridgeDepositBoxMock.ts +739 -0
  18. package/contract-types/ethers/BridgePool.ts +1741 -0
  19. package/contract-types/ethers/BridgePoolInterface.ts +173 -0
  20. package/contract-types/ethers/BridgePoolProd.ts +1741 -0
  21. package/contract-types/ethers/CrossDomainEnabled.ts +74 -0
  22. package/contract-types/ethers/ERC165.ts +95 -0
  23. package/contract-types/ethers/ERC20.ts +410 -0
  24. package/contract-types/ethers/FinderInterface.ts +136 -0
  25. package/contract-types/ethers/FxBaseChildTunnel.ts +185 -0
  26. package/contract-types/ethers/FxBaseRootTunnel.ts +234 -0
  27. package/contract-types/ethers/FxChildMock.ts +182 -0
  28. package/contract-types/ethers/FxRootMock.ts +159 -0
  29. package/contract-types/ethers/GenericHandler.ts +502 -0
  30. package/contract-types/ethers/IAccessControl.ts +235 -0
  31. package/contract-types/ethers/IArbitrumInbox.ts +155 -0
  32. package/contract-types/ethers/IArbitrumOutbox.ts +80 -0
  33. package/contract-types/ethers/IBridge.ts +126 -0
  34. package/contract-types/ethers/ICheckpointManager.ts +120 -0
  35. package/contract-types/ethers/ICrossDomainMessenger.ts +189 -0
  36. package/contract-types/ethers/IDepositExecute.ts +154 -0
  37. package/contract-types/ethers/IERC165.ts +95 -0
  38. package/contract-types/ethers/IERC20.ts +293 -0
  39. package/contract-types/ethers/IERC20Metadata.ts +332 -0
  40. package/contract-types/ethers/IERCHandler.ts +175 -0
  41. package/contract-types/ethers/IFxMessageProcessor.ts +108 -0
  42. package/contract-types/ethers/IFxStateSender.ts +102 -0
  43. package/contract-types/ethers/IGenericHandler.ts +112 -0
  44. package/contract-types/ethers/IL2ERC20Bridge.ts +350 -0
  45. package/contract-types/ethers/IOVMCrossDomainMessenger.ts +164 -0
  46. package/contract-types/ethers/IStateReceiver.ts +103 -0
  47. package/contract-types/ethers/IStateSender.ts +99 -0
  48. package/contract-types/ethers/IdentifierWhitelistInterface.ts +165 -0
  49. package/contract-types/ethers/Lockable.ts +50 -0
  50. package/contract-types/ethers/MessengerInterface.ts +136 -0
  51. package/contract-types/ethers/MessengerMock.ts +160 -0
  52. package/contract-types/ethers/MultiCaller.ts +91 -0
  53. package/contract-types/ethers/OVMBridgeDepositBox.ts +751 -0
  54. package/contract-types/ethers/OVMCrossDomainEnabled.ts +74 -0
  55. package/contract-types/ethers/OVML1CrossDomainMessengerMock.ts +190 -0
  56. package/contract-types/ethers/OVMOETHBridgeDepositBox.ts +783 -0
  57. package/contract-types/ethers/OptimismMessenger.ts +245 -0
  58. package/contract-types/ethers/OptimismWrapper.ts +264 -0
  59. package/contract-types/ethers/OptimisticOracleConstraints.ts +82 -0
  60. package/contract-types/ethers/OptimisticOracleInterface.ts +804 -0
  61. package/contract-types/ethers/OracleInterfaces.ts +235 -0
  62. package/contract-types/ethers/Ownable.ts +158 -0
  63. package/contract-types/ethers/ParentMessengerBase.ts +554 -0
  64. package/contract-types/ethers/ParentMessengerConsumerInterface.ts +104 -0
  65. package/contract-types/ethers/ParentMessengerInterface.ts +116 -0
  66. package/contract-types/ethers/Pausable.ts +94 -0
  67. package/contract-types/ethers/SkinnyOptimisticOracleInterface.ts +727 -0
  68. package/contract-types/ethers/StandardBridgeLike.ts +113 -0
  69. package/contract-types/ethers/StateSyncMock.ts +122 -0
  70. package/contract-types/ethers/StoreInterface.ts +228 -0
  71. package/contract-types/ethers/Testable.ts +136 -0
  72. package/contract-types/ethers/Timer.ts +117 -0
  73. package/contract-types/ethers/TokenLike.ts +88 -0
  74. package/contract-types/ethers/WETH9Like.ts +138 -0
  75. package/contract-types/ethers/common.ts +44 -0
  76. package/contract-types/ethers/factories/AVMBridgeDepositBox__factory.ts +649 -0
  77. package/contract-types/ethers/factories/AVMCrossDomainEnabled__factory.ts +61 -0
  78. package/contract-types/ethers/factories/AccessControl__factory.ts +227 -0
  79. package/contract-types/ethers/factories/AddressWhitelistInterface__factory.ts +88 -0
  80. package/contract-types/ethers/factories/ArbSys__factory.ts +244 -0
  81. package/contract-types/ethers/factories/ArbitrumBridgeMock__factory.ts +118 -0
  82. package/contract-types/ethers/factories/ArbitrumCrossDomainEnabled__factory.ts +43 -0
  83. package/contract-types/ethers/factories/ArbitrumInboxMock__factory.ts +128 -0
  84. package/contract-types/ethers/factories/ArbitrumMessenger__factory.ts +243 -0
  85. package/contract-types/ethers/factories/ArbitrumOutboxMock__factory.ts +74 -0
  86. package/contract-types/ethers/factories/ArbitrumParentMessenger__factory.ts +680 -0
  87. package/contract-types/ethers/factories/BridgeAdminInterface__factory.ts +338 -0
  88. package/contract-types/ethers/factories/BridgeAdmin__factory.ts +737 -0
  89. package/contract-types/ethers/factories/BridgeDepositBoxMock__factory.ts +591 -0
  90. package/contract-types/ethers/factories/BridgeDepositBox__factory.ts +406 -0
  91. package/contract-types/ethers/factories/BridgePoolInterface__factory.ts +78 -0
  92. package/contract-types/ethers/factories/BridgePoolProd__factory.ts +1798 -0
  93. package/contract-types/ethers/factories/BridgePool__factory.ts +1795 -0
  94. package/contract-types/ethers/factories/Bridge__factory.ts +1094 -0
  95. package/contract-types/ethers/factories/CrossDomainEnabled__factory.ts +90 -0
  96. package/contract-types/ethers/factories/ERC165__factory.ts +39 -0
  97. package/contract-types/ethers/factories/ERC20__factory.ts +345 -0
  98. package/contract-types/ethers/factories/FinderInterface__factory.ts +63 -0
  99. package/contract-types/ethers/factories/FxBaseChildTunnel__factory.ts +101 -0
  100. package/contract-types/ethers/factories/FxBaseRootTunnel__factory.ts +123 -0
  101. package/contract-types/ethers/factories/FxChildMock__factory.ts +153 -0
  102. package/contract-types/ethers/factories/FxRootMock__factory.ts +128 -0
  103. package/contract-types/ethers/factories/GenericHandler__factory.ts +395 -0
  104. package/contract-types/ethers/factories/IAccessControl__factory.ts +123 -0
  105. package/contract-types/ethers/factories/IArbitrumInbox__factory.ts +93 -0
  106. package/contract-types/ethers/factories/IArbitrumOutbox__factory.ts +39 -0
  107. package/contract-types/ethers/factories/IBridge__factory.ts +59 -0
  108. package/contract-types/ethers/factories/ICheckpointManager__factory.ts +100 -0
  109. package/contract-types/ethers/factories/ICrossDomainMessenger__factory.ts +129 -0
  110. package/contract-types/ethers/factories/IDepositExecute__factory.ts +77 -0
  111. package/contract-types/ethers/factories/IERC165__factory.ts +42 -0
  112. package/contract-types/ethers/factories/IERC20Metadata__factory.ts +248 -0
  113. package/contract-types/ethers/factories/IERC20__factory.ts +203 -0
  114. package/contract-types/ethers/factories/IERCHandler__factory.ts +77 -0
  115. package/contract-types/ethers/factories/IFxMessageProcessor__factory.ts +49 -0
  116. package/contract-types/ethers/factories/IFxStateSender__factory.ts +44 -0
  117. package/contract-types/ethers/factories/IGenericHandler__factory.ts +54 -0
  118. package/contract-types/ethers/factories/IL2ERC20Bridge__factory.ts +267 -0
  119. package/contract-types/ethers/factories/IOVMCrossDomainMessenger__factory.ts +105 -0
  120. package/contract-types/ethers/factories/IStateReceiver__factory.ts +44 -0
  121. package/contract-types/ethers/factories/IStateSender__factory.ts +41 -0
  122. package/contract-types/ethers/factories/IdentifierWhitelistInterface__factory.ts +75 -0
  123. package/contract-types/ethers/factories/Lockable__factory.ts +63 -0
  124. package/contract-types/ethers/factories/MessengerInterface__factory.ts +69 -0
  125. package/contract-types/ethers/factories/MessengerMock__factory.ts +132 -0
  126. package/contract-types/ethers/factories/MultiCaller__factory.ts +77 -0
  127. package/contract-types/ethers/factories/OVMBridgeDepositBox__factory.ts +609 -0
  128. package/contract-types/ethers/factories/OVMCrossDomainEnabled__factory.ts +94 -0
  129. package/contract-types/ethers/factories/OVML1CrossDomainMessengerMock__factory.ts +166 -0
  130. package/contract-types/ethers/factories/OVMOETHBridgeDepositBox__factory.ts +665 -0
  131. package/contract-types/ethers/factories/OptimismMessenger__factory.ts +185 -0
  132. package/contract-types/ethers/factories/OptimismWrapper__factory.ts +200 -0
  133. package/contract-types/ethers/factories/OptimisticOracleConstraints__factory.ts +80 -0
  134. package/contract-types/ethers/factories/OptimisticOracleInterface__factory.ts +574 -0
  135. package/contract-types/ethers/factories/OracleInterfaces__factory.ts +191 -0
  136. package/contract-types/ethers/factories/Ownable__factory.ts +75 -0
  137. package/contract-types/ethers/factories/ParentMessengerBase__factory.ts +312 -0
  138. package/contract-types/ethers/factories/ParentMessengerConsumerInterface__factory.ts +50 -0
  139. package/contract-types/ethers/factories/ParentMessengerInterface__factory.ts +56 -0
  140. package/contract-types/ethers/factories/Pausable__factory.ts +62 -0
  141. package/contract-types/ethers/factories/SkinnyOptimisticOracleInterface__factory.ts +874 -0
  142. package/contract-types/ethers/factories/StandardBridgeLike__factory.ts +60 -0
  143. package/contract-types/ethers/factories/StateSyncMock__factory.ts +101 -0
  144. package/contract-types/ethers/factories/StoreInterface__factory.ts +139 -0
  145. package/contract-types/ethers/factories/Testable__factory.ts +62 -0
  146. package/contract-types/ethers/factories/Timer__factory.ts +86 -0
  147. package/contract-types/ethers/factories/TokenLike__factory.ts +42 -0
  148. package/contract-types/ethers/factories/WETH9Like__factory.ts +67 -0
  149. package/contract-types/ethers/hardhat.d.ts +798 -0
  150. package/contract-types/ethers/index.ts +150 -0
  151. package/contract-types/web3/AVM_BridgeDepositBox.ts +269 -0
  152. package/contract-types/web3/AVM_CrossDomainEnabled.ts +62 -0
  153. package/contract-types/web3/AccessControl.ts +127 -0
  154. package/contract-types/web3/AddressWhitelistInterface.ts +43 -0
  155. package/contract-types/web3/ArbSys.ts +112 -0
  156. package/contract-types/web3/Arbitrum_BridgeMock.ts +46 -0
  157. package/contract-types/web3/Arbitrum_CrossDomainEnabled.ts +37 -0
  158. package/contract-types/web3/Arbitrum_InboxMock.ts +48 -0
  159. package/contract-types/web3/Arbitrum_Messenger.ts +106 -0
  160. package/contract-types/web3/Arbitrum_OutboxMock.ts +37 -0
  161. package/contract-types/web3/Arbitrum_ParentMessenger.ts +348 -0
  162. package/contract-types/web3/Bridge.ts +401 -0
  163. package/contract-types/web3/BridgeAdmin.ts +357 -0
  164. package/contract-types/web3/BridgeAdminInterface.ts +265 -0
  165. package/contract-types/web3/BridgeDepositBox.ts +203 -0
  166. package/contract-types/web3/BridgeDepositBoxMock.ts +241 -0
  167. package/contract-types/web3/BridgePool.ts +520 -0
  168. package/contract-types/web3/BridgePoolInterface.ts +47 -0
  169. package/contract-types/web3/BridgePoolProd.ts +520 -0
  170. package/contract-types/web3/CrossDomainEnabled.ts +37 -0
  171. package/contract-types/web3/ERC165.ts +39 -0
  172. package/contract-types/web3/ERC20.ts +105 -0
  173. package/contract-types/web3/FinderInterface.ts +44 -0
  174. package/contract-types/web3/FxBaseChildTunnel.ts +65 -0
  175. package/contract-types/web3/FxBaseRootTunnel.ts +53 -0
  176. package/contract-types/web3/FxChildMock.ts +68 -0
  177. package/contract-types/web3/FxRootMock.ts +46 -0
  178. package/contract-types/web3/GenericHandler.ts +94 -0
  179. package/contract-types/web3/IAccessControl.ts +57 -0
  180. package/contract-types/web3/IBridge.ts +43 -0
  181. package/contract-types/web3/ICheckpointManager.ts +48 -0
  182. package/contract-types/web3/ICrossDomainMessenger.ts +103 -0
  183. package/contract-types/web3/IDepositExecute.ts +48 -0
  184. package/contract-types/web3/IERC165.ts +39 -0
  185. package/contract-types/web3/IERC20.ts +89 -0
  186. package/contract-types/web3/IERC20Metadata.ts +95 -0
  187. package/contract-types/web3/IERCHandler.ts +48 -0
  188. package/contract-types/web3/IFxMessageProcessor.ts +41 -0
  189. package/contract-types/web3/IFxStateSender.ts +40 -0
  190. package/contract-types/web3/IGenericHandler.ts +42 -0
  191. package/contract-types/web3/IL2ERC20Bridge.ts +143 -0
  192. package/contract-types/web3/IStateReceiver.ts +40 -0
  193. package/contract-types/web3/IStateSender.ts +40 -0
  194. package/contract-types/web3/IdentifierWhitelistInterface.ts +47 -0
  195. package/contract-types/web3/Lockable.ts +35 -0
  196. package/contract-types/web3/MessengerInterface.ts +45 -0
  197. package/contract-types/web3/MessengerMock.ts +69 -0
  198. package/contract-types/web3/MultiCaller.ts +37 -0
  199. package/contract-types/web3/OVM_BridgeDepositBox.ts +243 -0
  200. package/contract-types/web3/OVM_CrossDomainEnabled.ts +37 -0
  201. package/contract-types/web3/OVM_L1CrossDomainMessengerMock.ts +103 -0
  202. package/contract-types/web3/OVM_OETH_BridgeDepositBox.ts +247 -0
  203. package/contract-types/web3/Optimism_Messenger.ts +73 -0
  204. package/contract-types/web3/Optimism_Wrapper.ts +86 -0
  205. package/contract-types/web3/OptimisticOracleConstraints.ts +37 -0
  206. package/contract-types/web3/OptimisticOracleInterface.ts +151 -0
  207. package/contract-types/web3/OracleInterfaces.ts +55 -0
  208. package/contract-types/web3/Ownable.ts +61 -0
  209. package/contract-types/web3/ParentMessengerBase.ts +178 -0
  210. package/contract-types/web3/ParentMessengerConsumerInterface.ts +40 -0
  211. package/contract-types/web3/ParentMessengerInterface.ts +41 -0
  212. package/contract-types/web3/Pausable.ts +58 -0
  213. package/contract-types/web3/SkinnyOptimisticOracleInterface.ts +213 -0
  214. package/contract-types/web3/StandardBridgeLike.ts +42 -0
  215. package/contract-types/web3/StateSyncMock.ts +62 -0
  216. package/contract-types/web3/StoreInterface.ts +55 -0
  217. package/contract-types/web3/Testable.ts +43 -0
  218. package/contract-types/web3/Timer.ts +41 -0
  219. package/contract-types/web3/TokenLike.ts +37 -0
  220. package/contract-types/web3/WETH9Like.ts +44 -0
  221. package/contract-types/web3/iArbitrum_Inbox.ts +48 -0
  222. package/contract-types/web3/iArbitrum_Outbox.ts +37 -0
  223. package/contract-types/web3/iOVM_CrossDomainMessenger.ts +95 -0
  224. package/contract-types/web3/types.ts +73 -0
  225. package/networks/1.json +33 -0
  226. package/networks/10.json +6 -0
  227. package/networks/42161.json +6 -0
  228. package/package.json +12 -5
@@ -0,0 +1,1798 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ Overrides,
10
+ BigNumberish,
11
+ } from "ethers";
12
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
13
+ import type {
14
+ BridgePoolProd,
15
+ BridgePoolProdInterface,
16
+ } from "../BridgePoolProd";
17
+
18
+ const _abi = [
19
+ {
20
+ inputs: [
21
+ {
22
+ internalType: "string",
23
+ name: "_lpTokenName",
24
+ type: "string",
25
+ },
26
+ {
27
+ internalType: "string",
28
+ name: "_lpTokenSymbol",
29
+ type: "string",
30
+ },
31
+ {
32
+ internalType: "address",
33
+ name: "_bridgeAdmin",
34
+ type: "address",
35
+ },
36
+ {
37
+ internalType: "address",
38
+ name: "_l1Token",
39
+ type: "address",
40
+ },
41
+ {
42
+ internalType: "uint64",
43
+ name: "_lpFeeRatePerSecond",
44
+ type: "uint64",
45
+ },
46
+ {
47
+ internalType: "bool",
48
+ name: "_isWethPool",
49
+ type: "bool",
50
+ },
51
+ {
52
+ internalType: "address",
53
+ name: "_timer",
54
+ type: "address",
55
+ },
56
+ ],
57
+ stateMutability: "nonpayable",
58
+ type: "constructor",
59
+ },
60
+ {
61
+ anonymous: false,
62
+ inputs: [
63
+ {
64
+ indexed: true,
65
+ internalType: "address",
66
+ name: "owner",
67
+ type: "address",
68
+ },
69
+ {
70
+ indexed: true,
71
+ internalType: "address",
72
+ name: "spender",
73
+ type: "address",
74
+ },
75
+ {
76
+ indexed: false,
77
+ internalType: "uint256",
78
+ name: "value",
79
+ type: "uint256",
80
+ },
81
+ ],
82
+ name: "Approval",
83
+ type: "event",
84
+ },
85
+ {
86
+ anonymous: false,
87
+ inputs: [
88
+ {
89
+ indexed: false,
90
+ internalType: "address",
91
+ name: "oldAdmin",
92
+ type: "address",
93
+ },
94
+ {
95
+ indexed: false,
96
+ internalType: "address",
97
+ name: "newAdmin",
98
+ type: "address",
99
+ },
100
+ ],
101
+ name: "BridgePoolAdminTransferred",
102
+ type: "event",
103
+ },
104
+ {
105
+ anonymous: false,
106
+ inputs: [
107
+ {
108
+ indexed: true,
109
+ internalType: "bytes32",
110
+ name: "depositHash",
111
+ type: "bytes32",
112
+ },
113
+ {
114
+ components: [
115
+ {
116
+ internalType: "uint256",
117
+ name: "chainId",
118
+ type: "uint256",
119
+ },
120
+ {
121
+ internalType: "uint64",
122
+ name: "depositId",
123
+ type: "uint64",
124
+ },
125
+ {
126
+ internalType: "address payable",
127
+ name: "l1Recipient",
128
+ type: "address",
129
+ },
130
+ {
131
+ internalType: "address",
132
+ name: "l2Sender",
133
+ type: "address",
134
+ },
135
+ {
136
+ internalType: "uint256",
137
+ name: "amount",
138
+ type: "uint256",
139
+ },
140
+ {
141
+ internalType: "uint64",
142
+ name: "slowRelayFeePct",
143
+ type: "uint64",
144
+ },
145
+ {
146
+ internalType: "uint64",
147
+ name: "instantRelayFeePct",
148
+ type: "uint64",
149
+ },
150
+ {
151
+ internalType: "uint32",
152
+ name: "quoteTimestamp",
153
+ type: "uint32",
154
+ },
155
+ ],
156
+ indexed: false,
157
+ internalType: "struct BridgePool.DepositData",
158
+ name: "depositData",
159
+ type: "tuple",
160
+ },
161
+ {
162
+ components: [
163
+ {
164
+ internalType: "enum BridgePool.RelayState",
165
+ name: "relayState",
166
+ type: "uint8",
167
+ },
168
+ {
169
+ internalType: "address",
170
+ name: "slowRelayer",
171
+ type: "address",
172
+ },
173
+ {
174
+ internalType: "uint32",
175
+ name: "relayId",
176
+ type: "uint32",
177
+ },
178
+ {
179
+ internalType: "uint64",
180
+ name: "realizedLpFeePct",
181
+ type: "uint64",
182
+ },
183
+ {
184
+ internalType: "uint32",
185
+ name: "priceRequestTime",
186
+ type: "uint32",
187
+ },
188
+ {
189
+ internalType: "uint256",
190
+ name: "proposerBond",
191
+ type: "uint256",
192
+ },
193
+ {
194
+ internalType: "uint256",
195
+ name: "finalFee",
196
+ type: "uint256",
197
+ },
198
+ ],
199
+ indexed: false,
200
+ internalType: "struct BridgePool.RelayData",
201
+ name: "relay",
202
+ type: "tuple",
203
+ },
204
+ {
205
+ indexed: false,
206
+ internalType: "bytes32",
207
+ name: "relayAncillaryDataHash",
208
+ type: "bytes32",
209
+ },
210
+ ],
211
+ name: "DepositRelayed",
212
+ type: "event",
213
+ },
214
+ {
215
+ anonymous: false,
216
+ inputs: [
217
+ {
218
+ indexed: false,
219
+ internalType: "uint256",
220
+ name: "amount",
221
+ type: "uint256",
222
+ },
223
+ {
224
+ indexed: false,
225
+ internalType: "uint256",
226
+ name: "lpTokensMinted",
227
+ type: "uint256",
228
+ },
229
+ {
230
+ indexed: true,
231
+ internalType: "address",
232
+ name: "liquidityProvider",
233
+ type: "address",
234
+ },
235
+ ],
236
+ name: "LiquidityAdded",
237
+ type: "event",
238
+ },
239
+ {
240
+ anonymous: false,
241
+ inputs: [
242
+ {
243
+ indexed: false,
244
+ internalType: "uint256",
245
+ name: "amount",
246
+ type: "uint256",
247
+ },
248
+ {
249
+ indexed: false,
250
+ internalType: "uint256",
251
+ name: "lpTokensBurnt",
252
+ type: "uint256",
253
+ },
254
+ {
255
+ indexed: true,
256
+ internalType: "address",
257
+ name: "liquidityProvider",
258
+ type: "address",
259
+ },
260
+ ],
261
+ name: "LiquidityRemoved",
262
+ type: "event",
263
+ },
264
+ {
265
+ anonymous: false,
266
+ inputs: [
267
+ {
268
+ indexed: false,
269
+ internalType: "uint64",
270
+ name: "newLpFeeRatePerSecond",
271
+ type: "uint64",
272
+ },
273
+ ],
274
+ name: "LpFeeRateSet",
275
+ type: "event",
276
+ },
277
+ {
278
+ anonymous: false,
279
+ inputs: [
280
+ {
281
+ indexed: true,
282
+ internalType: "bytes32",
283
+ name: "depositHash",
284
+ type: "bytes32",
285
+ },
286
+ {
287
+ indexed: true,
288
+ internalType: "bytes32",
289
+ name: "relayHash",
290
+ type: "bytes32",
291
+ },
292
+ {
293
+ indexed: true,
294
+ internalType: "address",
295
+ name: "disputer",
296
+ type: "address",
297
+ },
298
+ ],
299
+ name: "RelayCanceled",
300
+ type: "event",
301
+ },
302
+ {
303
+ anonymous: false,
304
+ inputs: [
305
+ {
306
+ indexed: true,
307
+ internalType: "bytes32",
308
+ name: "depositHash",
309
+ type: "bytes32",
310
+ },
311
+ {
312
+ indexed: true,
313
+ internalType: "bytes32",
314
+ name: "relayHash",
315
+ type: "bytes32",
316
+ },
317
+ {
318
+ indexed: true,
319
+ internalType: "address",
320
+ name: "disputer",
321
+ type: "address",
322
+ },
323
+ ],
324
+ name: "RelayDisputed",
325
+ type: "event",
326
+ },
327
+ {
328
+ anonymous: false,
329
+ inputs: [
330
+ {
331
+ indexed: true,
332
+ internalType: "bytes32",
333
+ name: "depositHash",
334
+ type: "bytes32",
335
+ },
336
+ {
337
+ indexed: true,
338
+ internalType: "address",
339
+ name: "caller",
340
+ type: "address",
341
+ },
342
+ {
343
+ components: [
344
+ {
345
+ internalType: "enum BridgePool.RelayState",
346
+ name: "relayState",
347
+ type: "uint8",
348
+ },
349
+ {
350
+ internalType: "address",
351
+ name: "slowRelayer",
352
+ type: "address",
353
+ },
354
+ {
355
+ internalType: "uint32",
356
+ name: "relayId",
357
+ type: "uint32",
358
+ },
359
+ {
360
+ internalType: "uint64",
361
+ name: "realizedLpFeePct",
362
+ type: "uint64",
363
+ },
364
+ {
365
+ internalType: "uint32",
366
+ name: "priceRequestTime",
367
+ type: "uint32",
368
+ },
369
+ {
370
+ internalType: "uint256",
371
+ name: "proposerBond",
372
+ type: "uint256",
373
+ },
374
+ {
375
+ internalType: "uint256",
376
+ name: "finalFee",
377
+ type: "uint256",
378
+ },
379
+ ],
380
+ indexed: false,
381
+ internalType: "struct BridgePool.RelayData",
382
+ name: "relay",
383
+ type: "tuple",
384
+ },
385
+ ],
386
+ name: "RelaySettled",
387
+ type: "event",
388
+ },
389
+ {
390
+ anonymous: false,
391
+ inputs: [
392
+ {
393
+ indexed: true,
394
+ internalType: "bytes32",
395
+ name: "depositHash",
396
+ type: "bytes32",
397
+ },
398
+ {
399
+ indexed: true,
400
+ internalType: "address",
401
+ name: "instantRelayer",
402
+ type: "address",
403
+ },
404
+ {
405
+ components: [
406
+ {
407
+ internalType: "enum BridgePool.RelayState",
408
+ name: "relayState",
409
+ type: "uint8",
410
+ },
411
+ {
412
+ internalType: "address",
413
+ name: "slowRelayer",
414
+ type: "address",
415
+ },
416
+ {
417
+ internalType: "uint32",
418
+ name: "relayId",
419
+ type: "uint32",
420
+ },
421
+ {
422
+ internalType: "uint64",
423
+ name: "realizedLpFeePct",
424
+ type: "uint64",
425
+ },
426
+ {
427
+ internalType: "uint32",
428
+ name: "priceRequestTime",
429
+ type: "uint32",
430
+ },
431
+ {
432
+ internalType: "uint256",
433
+ name: "proposerBond",
434
+ type: "uint256",
435
+ },
436
+ {
437
+ internalType: "uint256",
438
+ name: "finalFee",
439
+ type: "uint256",
440
+ },
441
+ ],
442
+ indexed: false,
443
+ internalType: "struct BridgePool.RelayData",
444
+ name: "relay",
445
+ type: "tuple",
446
+ },
447
+ ],
448
+ name: "RelaySpedUp",
449
+ type: "event",
450
+ },
451
+ {
452
+ anonymous: false,
453
+ inputs: [
454
+ {
455
+ indexed: false,
456
+ internalType: "bool",
457
+ name: "newRelaysEnabled",
458
+ type: "bool",
459
+ },
460
+ ],
461
+ name: "RelaysEnabledSet",
462
+ type: "event",
463
+ },
464
+ {
465
+ anonymous: false,
466
+ inputs: [
467
+ {
468
+ indexed: true,
469
+ internalType: "address",
470
+ name: "from",
471
+ type: "address",
472
+ },
473
+ {
474
+ indexed: true,
475
+ internalType: "address",
476
+ name: "to",
477
+ type: "address",
478
+ },
479
+ {
480
+ indexed: false,
481
+ internalType: "uint256",
482
+ name: "value",
483
+ type: "uint256",
484
+ },
485
+ ],
486
+ name: "Transfer",
487
+ type: "event",
488
+ },
489
+ {
490
+ inputs: [
491
+ {
492
+ internalType: "uint256",
493
+ name: "l1TokenAmount",
494
+ type: "uint256",
495
+ },
496
+ ],
497
+ name: "addLiquidity",
498
+ outputs: [],
499
+ stateMutability: "payable",
500
+ type: "function",
501
+ },
502
+ {
503
+ inputs: [
504
+ {
505
+ internalType: "address",
506
+ name: "owner",
507
+ type: "address",
508
+ },
509
+ {
510
+ internalType: "address",
511
+ name: "spender",
512
+ type: "address",
513
+ },
514
+ ],
515
+ name: "allowance",
516
+ outputs: [
517
+ {
518
+ internalType: "uint256",
519
+ name: "",
520
+ type: "uint256",
521
+ },
522
+ ],
523
+ stateMutability: "view",
524
+ type: "function",
525
+ },
526
+ {
527
+ inputs: [
528
+ {
529
+ internalType: "address",
530
+ name: "spender",
531
+ type: "address",
532
+ },
533
+ {
534
+ internalType: "uint256",
535
+ name: "amount",
536
+ type: "uint256",
537
+ },
538
+ ],
539
+ name: "approve",
540
+ outputs: [
541
+ {
542
+ internalType: "bool",
543
+ name: "",
544
+ type: "bool",
545
+ },
546
+ ],
547
+ stateMutability: "nonpayable",
548
+ type: "function",
549
+ },
550
+ {
551
+ inputs: [
552
+ {
553
+ internalType: "address",
554
+ name: "account",
555
+ type: "address",
556
+ },
557
+ ],
558
+ name: "balanceOf",
559
+ outputs: [
560
+ {
561
+ internalType: "uint256",
562
+ name: "",
563
+ type: "uint256",
564
+ },
565
+ ],
566
+ stateMutability: "view",
567
+ type: "function",
568
+ },
569
+ {
570
+ inputs: [],
571
+ name: "bonds",
572
+ outputs: [
573
+ {
574
+ internalType: "uint256",
575
+ name: "",
576
+ type: "uint256",
577
+ },
578
+ ],
579
+ stateMutability: "view",
580
+ type: "function",
581
+ },
582
+ {
583
+ inputs: [],
584
+ name: "bridgeAdmin",
585
+ outputs: [
586
+ {
587
+ internalType: "contract BridgeAdminInterface",
588
+ name: "",
589
+ type: "address",
590
+ },
591
+ ],
592
+ stateMutability: "view",
593
+ type: "function",
594
+ },
595
+ {
596
+ inputs: [
597
+ {
598
+ internalType: "address",
599
+ name: "_newAdmin",
600
+ type: "address",
601
+ },
602
+ ],
603
+ name: "changeAdmin",
604
+ outputs: [],
605
+ stateMutability: "nonpayable",
606
+ type: "function",
607
+ },
608
+ {
609
+ inputs: [],
610
+ name: "decimals",
611
+ outputs: [
612
+ {
613
+ internalType: "uint8",
614
+ name: "",
615
+ type: "uint8",
616
+ },
617
+ ],
618
+ stateMutability: "view",
619
+ type: "function",
620
+ },
621
+ {
622
+ inputs: [
623
+ {
624
+ internalType: "address",
625
+ name: "spender",
626
+ type: "address",
627
+ },
628
+ {
629
+ internalType: "uint256",
630
+ name: "subtractedValue",
631
+ type: "uint256",
632
+ },
633
+ ],
634
+ name: "decreaseAllowance",
635
+ outputs: [
636
+ {
637
+ internalType: "bool",
638
+ name: "",
639
+ type: "bool",
640
+ },
641
+ ],
642
+ stateMutability: "nonpayable",
643
+ type: "function",
644
+ },
645
+ {
646
+ inputs: [
647
+ {
648
+ components: [
649
+ {
650
+ internalType: "uint256",
651
+ name: "chainId",
652
+ type: "uint256",
653
+ },
654
+ {
655
+ internalType: "uint64",
656
+ name: "depositId",
657
+ type: "uint64",
658
+ },
659
+ {
660
+ internalType: "address payable",
661
+ name: "l1Recipient",
662
+ type: "address",
663
+ },
664
+ {
665
+ internalType: "address",
666
+ name: "l2Sender",
667
+ type: "address",
668
+ },
669
+ {
670
+ internalType: "uint256",
671
+ name: "amount",
672
+ type: "uint256",
673
+ },
674
+ {
675
+ internalType: "uint64",
676
+ name: "slowRelayFeePct",
677
+ type: "uint64",
678
+ },
679
+ {
680
+ internalType: "uint64",
681
+ name: "instantRelayFeePct",
682
+ type: "uint64",
683
+ },
684
+ {
685
+ internalType: "uint32",
686
+ name: "quoteTimestamp",
687
+ type: "uint32",
688
+ },
689
+ ],
690
+ internalType: "struct BridgePool.DepositData",
691
+ name: "depositData",
692
+ type: "tuple",
693
+ },
694
+ {
695
+ components: [
696
+ {
697
+ internalType: "enum BridgePool.RelayState",
698
+ name: "relayState",
699
+ type: "uint8",
700
+ },
701
+ {
702
+ internalType: "address",
703
+ name: "slowRelayer",
704
+ type: "address",
705
+ },
706
+ {
707
+ internalType: "uint32",
708
+ name: "relayId",
709
+ type: "uint32",
710
+ },
711
+ {
712
+ internalType: "uint64",
713
+ name: "realizedLpFeePct",
714
+ type: "uint64",
715
+ },
716
+ {
717
+ internalType: "uint32",
718
+ name: "priceRequestTime",
719
+ type: "uint32",
720
+ },
721
+ {
722
+ internalType: "uint256",
723
+ name: "proposerBond",
724
+ type: "uint256",
725
+ },
726
+ {
727
+ internalType: "uint256",
728
+ name: "finalFee",
729
+ type: "uint256",
730
+ },
731
+ ],
732
+ internalType: "struct BridgePool.RelayData",
733
+ name: "relayData",
734
+ type: "tuple",
735
+ },
736
+ ],
737
+ name: "disputeRelay",
738
+ outputs: [],
739
+ stateMutability: "nonpayable",
740
+ type: "function",
741
+ },
742
+ {
743
+ inputs: [],
744
+ name: "exchangeRateCurrent",
745
+ outputs: [
746
+ {
747
+ internalType: "uint256",
748
+ name: "",
749
+ type: "uint256",
750
+ },
751
+ ],
752
+ stateMutability: "nonpayable",
753
+ type: "function",
754
+ },
755
+ {
756
+ inputs: [],
757
+ name: "getAccumulatedFees",
758
+ outputs: [
759
+ {
760
+ internalType: "uint256",
761
+ name: "",
762
+ type: "uint256",
763
+ },
764
+ ],
765
+ stateMutability: "view",
766
+ type: "function",
767
+ },
768
+ {
769
+ inputs: [],
770
+ name: "getCurrentTime",
771
+ outputs: [
772
+ {
773
+ internalType: "uint256",
774
+ name: "",
775
+ type: "uint256",
776
+ },
777
+ ],
778
+ stateMutability: "view",
779
+ type: "function",
780
+ },
781
+ {
782
+ inputs: [
783
+ {
784
+ internalType: "uint256",
785
+ name: "relayedAmount",
786
+ type: "uint256",
787
+ },
788
+ ],
789
+ name: "getLiquidityUtilization",
790
+ outputs: [
791
+ {
792
+ internalType: "uint256",
793
+ name: "utilizationCurrent",
794
+ type: "uint256",
795
+ },
796
+ {
797
+ internalType: "uint256",
798
+ name: "utilizationPostRelay",
799
+ type: "uint256",
800
+ },
801
+ ],
802
+ stateMutability: "nonpayable",
803
+ type: "function",
804
+ },
805
+ {
806
+ inputs: [
807
+ {
808
+ components: [
809
+ {
810
+ internalType: "uint256",
811
+ name: "chainId",
812
+ type: "uint256",
813
+ },
814
+ {
815
+ internalType: "uint64",
816
+ name: "depositId",
817
+ type: "uint64",
818
+ },
819
+ {
820
+ internalType: "address payable",
821
+ name: "l1Recipient",
822
+ type: "address",
823
+ },
824
+ {
825
+ internalType: "address",
826
+ name: "l2Sender",
827
+ type: "address",
828
+ },
829
+ {
830
+ internalType: "uint256",
831
+ name: "amount",
832
+ type: "uint256",
833
+ },
834
+ {
835
+ internalType: "uint64",
836
+ name: "slowRelayFeePct",
837
+ type: "uint64",
838
+ },
839
+ {
840
+ internalType: "uint64",
841
+ name: "instantRelayFeePct",
842
+ type: "uint64",
843
+ },
844
+ {
845
+ internalType: "uint32",
846
+ name: "quoteTimestamp",
847
+ type: "uint32",
848
+ },
849
+ ],
850
+ internalType: "struct BridgePool.DepositData",
851
+ name: "depositData",
852
+ type: "tuple",
853
+ },
854
+ {
855
+ components: [
856
+ {
857
+ internalType: "enum BridgePool.RelayState",
858
+ name: "relayState",
859
+ type: "uint8",
860
+ },
861
+ {
862
+ internalType: "address",
863
+ name: "slowRelayer",
864
+ type: "address",
865
+ },
866
+ {
867
+ internalType: "uint32",
868
+ name: "relayId",
869
+ type: "uint32",
870
+ },
871
+ {
872
+ internalType: "uint64",
873
+ name: "realizedLpFeePct",
874
+ type: "uint64",
875
+ },
876
+ {
877
+ internalType: "uint32",
878
+ name: "priceRequestTime",
879
+ type: "uint32",
880
+ },
881
+ {
882
+ internalType: "uint256",
883
+ name: "proposerBond",
884
+ type: "uint256",
885
+ },
886
+ {
887
+ internalType: "uint256",
888
+ name: "finalFee",
889
+ type: "uint256",
890
+ },
891
+ ],
892
+ internalType: "struct BridgePool.RelayData",
893
+ name: "relayData",
894
+ type: "tuple",
895
+ },
896
+ ],
897
+ name: "getRelayAncillaryData",
898
+ outputs: [
899
+ {
900
+ internalType: "bytes",
901
+ name: "",
902
+ type: "bytes",
903
+ },
904
+ ],
905
+ stateMutability: "view",
906
+ type: "function",
907
+ },
908
+ {
909
+ inputs: [],
910
+ name: "identifier",
911
+ outputs: [
912
+ {
913
+ internalType: "bytes32",
914
+ name: "",
915
+ type: "bytes32",
916
+ },
917
+ ],
918
+ stateMutability: "view",
919
+ type: "function",
920
+ },
921
+ {
922
+ inputs: [
923
+ {
924
+ internalType: "address",
925
+ name: "spender",
926
+ type: "address",
927
+ },
928
+ {
929
+ internalType: "uint256",
930
+ name: "addedValue",
931
+ type: "uint256",
932
+ },
933
+ ],
934
+ name: "increaseAllowance",
935
+ outputs: [
936
+ {
937
+ internalType: "bool",
938
+ name: "",
939
+ type: "bool",
940
+ },
941
+ ],
942
+ stateMutability: "nonpayable",
943
+ type: "function",
944
+ },
945
+ {
946
+ inputs: [
947
+ {
948
+ internalType: "bytes32",
949
+ name: "",
950
+ type: "bytes32",
951
+ },
952
+ ],
953
+ name: "instantRelays",
954
+ outputs: [
955
+ {
956
+ internalType: "address",
957
+ name: "",
958
+ type: "address",
959
+ },
960
+ ],
961
+ stateMutability: "view",
962
+ type: "function",
963
+ },
964
+ {
965
+ inputs: [],
966
+ name: "isWethPool",
967
+ outputs: [
968
+ {
969
+ internalType: "bool",
970
+ name: "",
971
+ type: "bool",
972
+ },
973
+ ],
974
+ stateMutability: "view",
975
+ type: "function",
976
+ },
977
+ {
978
+ inputs: [],
979
+ name: "l1Token",
980
+ outputs: [
981
+ {
982
+ internalType: "contract IERC20",
983
+ name: "",
984
+ type: "address",
985
+ },
986
+ ],
987
+ stateMutability: "view",
988
+ type: "function",
989
+ },
990
+ {
991
+ inputs: [],
992
+ name: "lastLpFeeUpdate",
993
+ outputs: [
994
+ {
995
+ internalType: "uint32",
996
+ name: "",
997
+ type: "uint32",
998
+ },
999
+ ],
1000
+ stateMutability: "view",
1001
+ type: "function",
1002
+ },
1003
+ {
1004
+ inputs: [],
1005
+ name: "liquidReserves",
1006
+ outputs: [
1007
+ {
1008
+ internalType: "uint256",
1009
+ name: "",
1010
+ type: "uint256",
1011
+ },
1012
+ ],
1013
+ stateMutability: "view",
1014
+ type: "function",
1015
+ },
1016
+ {
1017
+ inputs: [],
1018
+ name: "liquidityUtilizationCurrent",
1019
+ outputs: [
1020
+ {
1021
+ internalType: "uint256",
1022
+ name: "",
1023
+ type: "uint256",
1024
+ },
1025
+ ],
1026
+ stateMutability: "nonpayable",
1027
+ type: "function",
1028
+ },
1029
+ {
1030
+ inputs: [
1031
+ {
1032
+ internalType: "uint256",
1033
+ name: "relayedAmount",
1034
+ type: "uint256",
1035
+ },
1036
+ ],
1037
+ name: "liquidityUtilizationPostRelay",
1038
+ outputs: [
1039
+ {
1040
+ internalType: "uint256",
1041
+ name: "",
1042
+ type: "uint256",
1043
+ },
1044
+ ],
1045
+ stateMutability: "nonpayable",
1046
+ type: "function",
1047
+ },
1048
+ {
1049
+ inputs: [],
1050
+ name: "lpFeeRatePerSecond",
1051
+ outputs: [
1052
+ {
1053
+ internalType: "uint64",
1054
+ name: "",
1055
+ type: "uint64",
1056
+ },
1057
+ ],
1058
+ stateMutability: "view",
1059
+ type: "function",
1060
+ },
1061
+ {
1062
+ inputs: [
1063
+ {
1064
+ internalType: "bytes[]",
1065
+ name: "data",
1066
+ type: "bytes[]",
1067
+ },
1068
+ ],
1069
+ name: "multicall",
1070
+ outputs: [
1071
+ {
1072
+ internalType: "bytes[]",
1073
+ name: "results",
1074
+ type: "bytes[]",
1075
+ },
1076
+ ],
1077
+ stateMutability: "payable",
1078
+ type: "function",
1079
+ },
1080
+ {
1081
+ inputs: [],
1082
+ name: "name",
1083
+ outputs: [
1084
+ {
1085
+ internalType: "string",
1086
+ name: "",
1087
+ type: "string",
1088
+ },
1089
+ ],
1090
+ stateMutability: "view",
1091
+ type: "function",
1092
+ },
1093
+ {
1094
+ inputs: [],
1095
+ name: "numberOfRelays",
1096
+ outputs: [
1097
+ {
1098
+ internalType: "uint32",
1099
+ name: "",
1100
+ type: "uint32",
1101
+ },
1102
+ ],
1103
+ stateMutability: "view",
1104
+ type: "function",
1105
+ },
1106
+ {
1107
+ inputs: [],
1108
+ name: "optimisticOracle",
1109
+ outputs: [
1110
+ {
1111
+ internalType: "contract SkinnyOptimisticOracleInterface",
1112
+ name: "",
1113
+ type: "address",
1114
+ },
1115
+ ],
1116
+ stateMutability: "view",
1117
+ type: "function",
1118
+ },
1119
+ {
1120
+ inputs: [],
1121
+ name: "optimisticOracleLiveness",
1122
+ outputs: [
1123
+ {
1124
+ internalType: "uint32",
1125
+ name: "",
1126
+ type: "uint32",
1127
+ },
1128
+ ],
1129
+ stateMutability: "view",
1130
+ type: "function",
1131
+ },
1132
+ {
1133
+ inputs: [],
1134
+ name: "pendingReserves",
1135
+ outputs: [
1136
+ {
1137
+ internalType: "uint256",
1138
+ name: "",
1139
+ type: "uint256",
1140
+ },
1141
+ ],
1142
+ stateMutability: "view",
1143
+ type: "function",
1144
+ },
1145
+ {
1146
+ inputs: [],
1147
+ name: "proposerBondPct",
1148
+ outputs: [
1149
+ {
1150
+ internalType: "uint64",
1151
+ name: "",
1152
+ type: "uint64",
1153
+ },
1154
+ ],
1155
+ stateMutability: "view",
1156
+ type: "function",
1157
+ },
1158
+ {
1159
+ inputs: [
1160
+ {
1161
+ components: [
1162
+ {
1163
+ internalType: "uint256",
1164
+ name: "chainId",
1165
+ type: "uint256",
1166
+ },
1167
+ {
1168
+ internalType: "uint64",
1169
+ name: "depositId",
1170
+ type: "uint64",
1171
+ },
1172
+ {
1173
+ internalType: "address payable",
1174
+ name: "l1Recipient",
1175
+ type: "address",
1176
+ },
1177
+ {
1178
+ internalType: "address",
1179
+ name: "l2Sender",
1180
+ type: "address",
1181
+ },
1182
+ {
1183
+ internalType: "uint256",
1184
+ name: "amount",
1185
+ type: "uint256",
1186
+ },
1187
+ {
1188
+ internalType: "uint64",
1189
+ name: "slowRelayFeePct",
1190
+ type: "uint64",
1191
+ },
1192
+ {
1193
+ internalType: "uint64",
1194
+ name: "instantRelayFeePct",
1195
+ type: "uint64",
1196
+ },
1197
+ {
1198
+ internalType: "uint32",
1199
+ name: "quoteTimestamp",
1200
+ type: "uint32",
1201
+ },
1202
+ ],
1203
+ internalType: "struct BridgePool.DepositData",
1204
+ name: "depositData",
1205
+ type: "tuple",
1206
+ },
1207
+ {
1208
+ internalType: "uint64",
1209
+ name: "realizedLpFeePct",
1210
+ type: "uint64",
1211
+ },
1212
+ ],
1213
+ name: "relayAndSpeedUp",
1214
+ outputs: [],
1215
+ stateMutability: "nonpayable",
1216
+ type: "function",
1217
+ },
1218
+ {
1219
+ inputs: [
1220
+ {
1221
+ components: [
1222
+ {
1223
+ internalType: "uint256",
1224
+ name: "chainId",
1225
+ type: "uint256",
1226
+ },
1227
+ {
1228
+ internalType: "uint64",
1229
+ name: "depositId",
1230
+ type: "uint64",
1231
+ },
1232
+ {
1233
+ internalType: "address payable",
1234
+ name: "l1Recipient",
1235
+ type: "address",
1236
+ },
1237
+ {
1238
+ internalType: "address",
1239
+ name: "l2Sender",
1240
+ type: "address",
1241
+ },
1242
+ {
1243
+ internalType: "uint256",
1244
+ name: "amount",
1245
+ type: "uint256",
1246
+ },
1247
+ {
1248
+ internalType: "uint64",
1249
+ name: "slowRelayFeePct",
1250
+ type: "uint64",
1251
+ },
1252
+ {
1253
+ internalType: "uint64",
1254
+ name: "instantRelayFeePct",
1255
+ type: "uint64",
1256
+ },
1257
+ {
1258
+ internalType: "uint32",
1259
+ name: "quoteTimestamp",
1260
+ type: "uint32",
1261
+ },
1262
+ ],
1263
+ internalType: "struct BridgePool.DepositData",
1264
+ name: "depositData",
1265
+ type: "tuple",
1266
+ },
1267
+ {
1268
+ internalType: "uint64",
1269
+ name: "realizedLpFeePct",
1270
+ type: "uint64",
1271
+ },
1272
+ ],
1273
+ name: "relayDeposit",
1274
+ outputs: [],
1275
+ stateMutability: "nonpayable",
1276
+ type: "function",
1277
+ },
1278
+ {
1279
+ inputs: [
1280
+ {
1281
+ internalType: "bytes32",
1282
+ name: "",
1283
+ type: "bytes32",
1284
+ },
1285
+ ],
1286
+ name: "relays",
1287
+ outputs: [
1288
+ {
1289
+ internalType: "bytes32",
1290
+ name: "",
1291
+ type: "bytes32",
1292
+ },
1293
+ ],
1294
+ stateMutability: "view",
1295
+ type: "function",
1296
+ },
1297
+ {
1298
+ inputs: [],
1299
+ name: "relaysEnabled",
1300
+ outputs: [
1301
+ {
1302
+ internalType: "bool",
1303
+ name: "",
1304
+ type: "bool",
1305
+ },
1306
+ ],
1307
+ stateMutability: "view",
1308
+ type: "function",
1309
+ },
1310
+ {
1311
+ inputs: [
1312
+ {
1313
+ internalType: "uint256",
1314
+ name: "lpTokenAmount",
1315
+ type: "uint256",
1316
+ },
1317
+ {
1318
+ internalType: "bool",
1319
+ name: "sendEth",
1320
+ type: "bool",
1321
+ },
1322
+ ],
1323
+ name: "removeLiquidity",
1324
+ outputs: [],
1325
+ stateMutability: "nonpayable",
1326
+ type: "function",
1327
+ },
1328
+ {
1329
+ inputs: [
1330
+ {
1331
+ internalType: "uint256",
1332
+ name: "time",
1333
+ type: "uint256",
1334
+ },
1335
+ ],
1336
+ name: "setCurrentTime",
1337
+ outputs: [],
1338
+ stateMutability: "nonpayable",
1339
+ type: "function",
1340
+ },
1341
+ {
1342
+ inputs: [
1343
+ {
1344
+ internalType: "uint64",
1345
+ name: "_newLpFeeRatePerSecond",
1346
+ type: "uint64",
1347
+ },
1348
+ ],
1349
+ name: "setLpFeeRatePerSecond",
1350
+ outputs: [],
1351
+ stateMutability: "nonpayable",
1352
+ type: "function",
1353
+ },
1354
+ {
1355
+ inputs: [
1356
+ {
1357
+ internalType: "bool",
1358
+ name: "_relaysEnabled",
1359
+ type: "bool",
1360
+ },
1361
+ ],
1362
+ name: "setRelaysEnabled",
1363
+ outputs: [],
1364
+ stateMutability: "nonpayable",
1365
+ type: "function",
1366
+ },
1367
+ {
1368
+ inputs: [
1369
+ {
1370
+ components: [
1371
+ {
1372
+ internalType: "uint256",
1373
+ name: "chainId",
1374
+ type: "uint256",
1375
+ },
1376
+ {
1377
+ internalType: "uint64",
1378
+ name: "depositId",
1379
+ type: "uint64",
1380
+ },
1381
+ {
1382
+ internalType: "address payable",
1383
+ name: "l1Recipient",
1384
+ type: "address",
1385
+ },
1386
+ {
1387
+ internalType: "address",
1388
+ name: "l2Sender",
1389
+ type: "address",
1390
+ },
1391
+ {
1392
+ internalType: "uint256",
1393
+ name: "amount",
1394
+ type: "uint256",
1395
+ },
1396
+ {
1397
+ internalType: "uint64",
1398
+ name: "slowRelayFeePct",
1399
+ type: "uint64",
1400
+ },
1401
+ {
1402
+ internalType: "uint64",
1403
+ name: "instantRelayFeePct",
1404
+ type: "uint64",
1405
+ },
1406
+ {
1407
+ internalType: "uint32",
1408
+ name: "quoteTimestamp",
1409
+ type: "uint32",
1410
+ },
1411
+ ],
1412
+ internalType: "struct BridgePool.DepositData",
1413
+ name: "depositData",
1414
+ type: "tuple",
1415
+ },
1416
+ {
1417
+ components: [
1418
+ {
1419
+ internalType: "enum BridgePool.RelayState",
1420
+ name: "relayState",
1421
+ type: "uint8",
1422
+ },
1423
+ {
1424
+ internalType: "address",
1425
+ name: "slowRelayer",
1426
+ type: "address",
1427
+ },
1428
+ {
1429
+ internalType: "uint32",
1430
+ name: "relayId",
1431
+ type: "uint32",
1432
+ },
1433
+ {
1434
+ internalType: "uint64",
1435
+ name: "realizedLpFeePct",
1436
+ type: "uint64",
1437
+ },
1438
+ {
1439
+ internalType: "uint32",
1440
+ name: "priceRequestTime",
1441
+ type: "uint32",
1442
+ },
1443
+ {
1444
+ internalType: "uint256",
1445
+ name: "proposerBond",
1446
+ type: "uint256",
1447
+ },
1448
+ {
1449
+ internalType: "uint256",
1450
+ name: "finalFee",
1451
+ type: "uint256",
1452
+ },
1453
+ ],
1454
+ internalType: "struct BridgePool.RelayData",
1455
+ name: "relayData",
1456
+ type: "tuple",
1457
+ },
1458
+ ],
1459
+ name: "settleRelay",
1460
+ outputs: [],
1461
+ stateMutability: "nonpayable",
1462
+ type: "function",
1463
+ },
1464
+ {
1465
+ inputs: [
1466
+ {
1467
+ components: [
1468
+ {
1469
+ internalType: "uint256",
1470
+ name: "chainId",
1471
+ type: "uint256",
1472
+ },
1473
+ {
1474
+ internalType: "uint64",
1475
+ name: "depositId",
1476
+ type: "uint64",
1477
+ },
1478
+ {
1479
+ internalType: "address payable",
1480
+ name: "l1Recipient",
1481
+ type: "address",
1482
+ },
1483
+ {
1484
+ internalType: "address",
1485
+ name: "l2Sender",
1486
+ type: "address",
1487
+ },
1488
+ {
1489
+ internalType: "uint256",
1490
+ name: "amount",
1491
+ type: "uint256",
1492
+ },
1493
+ {
1494
+ internalType: "uint64",
1495
+ name: "slowRelayFeePct",
1496
+ type: "uint64",
1497
+ },
1498
+ {
1499
+ internalType: "uint64",
1500
+ name: "instantRelayFeePct",
1501
+ type: "uint64",
1502
+ },
1503
+ {
1504
+ internalType: "uint32",
1505
+ name: "quoteTimestamp",
1506
+ type: "uint32",
1507
+ },
1508
+ ],
1509
+ internalType: "struct BridgePool.DepositData",
1510
+ name: "depositData",
1511
+ type: "tuple",
1512
+ },
1513
+ {
1514
+ components: [
1515
+ {
1516
+ internalType: "enum BridgePool.RelayState",
1517
+ name: "relayState",
1518
+ type: "uint8",
1519
+ },
1520
+ {
1521
+ internalType: "address",
1522
+ name: "slowRelayer",
1523
+ type: "address",
1524
+ },
1525
+ {
1526
+ internalType: "uint32",
1527
+ name: "relayId",
1528
+ type: "uint32",
1529
+ },
1530
+ {
1531
+ internalType: "uint64",
1532
+ name: "realizedLpFeePct",
1533
+ type: "uint64",
1534
+ },
1535
+ {
1536
+ internalType: "uint32",
1537
+ name: "priceRequestTime",
1538
+ type: "uint32",
1539
+ },
1540
+ {
1541
+ internalType: "uint256",
1542
+ name: "proposerBond",
1543
+ type: "uint256",
1544
+ },
1545
+ {
1546
+ internalType: "uint256",
1547
+ name: "finalFee",
1548
+ type: "uint256",
1549
+ },
1550
+ ],
1551
+ internalType: "struct BridgePool.RelayData",
1552
+ name: "relayData",
1553
+ type: "tuple",
1554
+ },
1555
+ ],
1556
+ name: "speedUpRelay",
1557
+ outputs: [],
1558
+ stateMutability: "nonpayable",
1559
+ type: "function",
1560
+ },
1561
+ {
1562
+ inputs: [],
1563
+ name: "store",
1564
+ outputs: [
1565
+ {
1566
+ internalType: "contract StoreInterface",
1567
+ name: "",
1568
+ type: "address",
1569
+ },
1570
+ ],
1571
+ stateMutability: "view",
1572
+ type: "function",
1573
+ },
1574
+ {
1575
+ inputs: [],
1576
+ name: "symbol",
1577
+ outputs: [
1578
+ {
1579
+ internalType: "string",
1580
+ name: "",
1581
+ type: "string",
1582
+ },
1583
+ ],
1584
+ stateMutability: "view",
1585
+ type: "function",
1586
+ },
1587
+ {
1588
+ inputs: [],
1589
+ name: "sync",
1590
+ outputs: [],
1591
+ stateMutability: "nonpayable",
1592
+ type: "function",
1593
+ },
1594
+ {
1595
+ inputs: [],
1596
+ name: "syncUmaEcosystemParams",
1597
+ outputs: [],
1598
+ stateMutability: "nonpayable",
1599
+ type: "function",
1600
+ },
1601
+ {
1602
+ inputs: [],
1603
+ name: "syncWithBridgeAdminParams",
1604
+ outputs: [],
1605
+ stateMutability: "nonpayable",
1606
+ type: "function",
1607
+ },
1608
+ {
1609
+ inputs: [],
1610
+ name: "timerAddress",
1611
+ outputs: [
1612
+ {
1613
+ internalType: "address",
1614
+ name: "",
1615
+ type: "address",
1616
+ },
1617
+ ],
1618
+ stateMutability: "view",
1619
+ type: "function",
1620
+ },
1621
+ {
1622
+ inputs: [],
1623
+ name: "totalSupply",
1624
+ outputs: [
1625
+ {
1626
+ internalType: "uint256",
1627
+ name: "",
1628
+ type: "uint256",
1629
+ },
1630
+ ],
1631
+ stateMutability: "view",
1632
+ type: "function",
1633
+ },
1634
+ {
1635
+ inputs: [
1636
+ {
1637
+ internalType: "address",
1638
+ name: "recipient",
1639
+ type: "address",
1640
+ },
1641
+ {
1642
+ internalType: "uint256",
1643
+ name: "amount",
1644
+ type: "uint256",
1645
+ },
1646
+ ],
1647
+ name: "transfer",
1648
+ outputs: [
1649
+ {
1650
+ internalType: "bool",
1651
+ name: "",
1652
+ type: "bool",
1653
+ },
1654
+ ],
1655
+ stateMutability: "nonpayable",
1656
+ type: "function",
1657
+ },
1658
+ {
1659
+ inputs: [
1660
+ {
1661
+ internalType: "address",
1662
+ name: "sender",
1663
+ type: "address",
1664
+ },
1665
+ {
1666
+ internalType: "address",
1667
+ name: "recipient",
1668
+ type: "address",
1669
+ },
1670
+ {
1671
+ internalType: "uint256",
1672
+ name: "amount",
1673
+ type: "uint256",
1674
+ },
1675
+ ],
1676
+ name: "transferFrom",
1677
+ outputs: [
1678
+ {
1679
+ internalType: "bool",
1680
+ name: "",
1681
+ type: "bool",
1682
+ },
1683
+ ],
1684
+ stateMutability: "nonpayable",
1685
+ type: "function",
1686
+ },
1687
+ {
1688
+ inputs: [],
1689
+ name: "undistributedLpFees",
1690
+ outputs: [
1691
+ {
1692
+ internalType: "uint256",
1693
+ name: "",
1694
+ type: "uint256",
1695
+ },
1696
+ ],
1697
+ stateMutability: "view",
1698
+ type: "function",
1699
+ },
1700
+ {
1701
+ inputs: [],
1702
+ name: "utilizedReserves",
1703
+ outputs: [
1704
+ {
1705
+ internalType: "int256",
1706
+ name: "",
1707
+ type: "int256",
1708
+ },
1709
+ ],
1710
+ stateMutability: "view",
1711
+ type: "function",
1712
+ },
1713
+ {
1714
+ stateMutability: "payable",
1715
+ type: "receive",
1716
+ },
1717
+ ];
1718
+
1719
+ const _bytecode =
1720
+ "0x6080604052600a805461ff0019166101001790553480156200002057600080fd5b50604051620054b3380380620054b38339810160408190526200004391620008bc565b600080546001600160a01b0319166001600160a01b03831617905586518790879087908790879087908790879087906200008590600490602085019062000703565b5080516200009b90600590602084019062000703565b50506006805460ff1916600117905550865115801590620000bc5750855115155b6200010e5760405162461bcd60e51b815260206004820152601b60248201527f426164204c5020746f6b656e206e616d65206f722073796d626f6c000000000060448201526064015b60405180910390fd5b600e80546001600160a01b0319166001600160a01b038781169190911790915560068054610100600160a81b03191661010092871692909202919091179055620001554290565b600a805462010000600160701b0319166a010000000000000000000063ffffffff939093169290920262010000600160501b03191691909117620100006001600160401b038616021760ff1916831515179055620001b262000215565b620001bc6200049b565b600a54604051620100009091046001600160401b031681527f958b6b3e25d854f9e658cd5610bd9d184123d203f58f95adf261e0d7d0dd65a59060200160405180910390a1505050505050505050505050505062000a90565b6200021f620006af565b6200022f6006805460ff19169055565b600e5460408051632e68f21360e21b815290516000926001600160a01b03169163b9a3c84c916004808301926020929190829003018186803b1580156200027557600080fd5b505afa1580156200028a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b0919062000989565b6040516302abf57960e61b81527f536b696e6e794f7074696d69737469634f7261636c650000000000000000000060048201529091506001600160a01b0382169063aafd5e409060240160206040518083038186803b1580156200031357600080fd5b505afa15801562000328573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034e919062000989565b601080546001600160a01b0319166001600160a01b039283161790556040516302abf57960e61b81526453746f726560d81b60048201529082169063aafd5e409060240160206040518083038186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e6919062000989565b600f80546001600160a01b0319166001600160a01b03928316908117909155600654604051635b97aadd60e01b8152610100909104909216600483015290635b97aadd9060240160206040518083038186803b1580156200044657600080fd5b505afa1580156200045b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004819190620009ae565b51600b5550620004996006805460ff19166001179055565b565b620004a5620006af565b620004b56006805460ff19169055565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c73a32c36040518163ffffffff1660e01b815260040160206040518083038186803b1580156200050457600080fd5b505afa15801562000519573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200053f9190620009f3565b600a600e6101000a8154816001600160401b0302191690836001600160401b03160217905550600e60009054906101000a90046001600160a01b03166001600160a01b031663173684c56040518163ffffffff1660e01b815260040160206040518083038186803b158015620005b457600080fd5b505afa158015620005c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005ef919062000a11565b600a60166101000a81548163ffffffff021916908363ffffffff160217905550600e60009054906101000a90046001600160a01b03166001600160a01b0316637998a1c46040518163ffffffff1660e01b815260040160206040518083038186803b1580156200065e57600080fd5b505afa15801562000673573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000699919062000a39565b601155620004996006805460ff19166001179055565b60065460ff16620004995760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000105565b828054620007119062000a53565b90600052602060002090601f01602090048101928262000735576000855562000780565b82601f106200075057805160ff191683800117855562000780565b8280016001018555821562000780579182015b828111156200078057825182559160200191906001019062000763565b506200078e92915062000792565b5090565b5b808211156200078e576000815560010162000793565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620007ea57620007ea620007a9565b604052919050565b600082601f8301126200080457600080fd5b81516001600160401b03811115620008205762000820620007a9565b602062000836601f8301601f19168201620007bf565b82815285828487010111156200084b57600080fd5b60005b838110156200086b5785810183015182820184015282016200084e565b838111156200087d5760008385840101525b5095945050505050565b80516001600160a01b03811681146200089f57600080fd5b919050565b80516001600160401b03811681146200089f57600080fd5b600080600080600080600060e0888a031215620008d857600080fd5b87516001600160401b0380821115620008f057600080fd5b620008fe8b838c01620007f2565b985060208a01519150808211156200091557600080fd5b50620009248a828b01620007f2565b965050620009356040890162000887565b9450620009456060890162000887565b93506200095560808901620008a4565b925060a088015180151581146200096b57600080fd5b91506200097b60c0890162000887565b905092959891949750929550565b6000602082840312156200099c57600080fd5b620009a78262000887565b9392505050565b600060208284031215620009c157600080fd5b604051602081016001600160401b0381118282101715620009e657620009e6620007a9565b6040529151825250919050565b60006020828403121562000a0657600080fd5b620009a782620008a4565b60006020828403121562000a2457600080fd5b815163ffffffff81168114620009a757600080fd5b60006020828403121562000a4c57600080fd5b5051919050565b600181811c9082168062000a6857607f821691505b6020821081141562000a8a57634e487b7160e01b600052602260045260246000fd5b50919050565b614a138062000aa06000396000f3fe60806040526004361061031e5760003560e01c806370a08231116101ab578063b5351ee2116100f7578063cefed55f11610095578063df738fc81161006f578063df738fc814610978578063ed4de3a3146109a5578063f1d24bab146109da578063fff6cae9146109fe57600080fd5b8063cefed55f146108ee578063d412f5a41461090e578063dd62ed3e1461093257600080fd5b8063bec73ade116100d1578063bec73ade14610868578063c01e1bd614610888578063c73a32c3146108ad578063cc2c929e146108d457600080fd5b8063b5351ee21461081f578063bd6d894d14610834578063be0ba1221461084957600080fd5b8063975057e711610164578063a9059cbb1161013e578063a9059cbb14610793578063ac9650d8146107b3578063b2084202146107d3578063b454e326146107e957600080fd5b8063975057e714610733578063a457c2d714610753578063a6af2dfe1461077357600080fd5b806370a082311461067c578063753b91bb146106b25780637998a1c4146106d257806387a515d3146106e85780638f283970146106fe57806395d89b411461071e57600080fd5b806323b872dd1161026a5780633fa856c91161022357806351c6590a116101fd57806351c6590a1461061e5780635df45a371461063157806362822d341461064657806366db52401461066657600080fd5b80633fa856c9146105c85780634464fae4146105e85780634f52fd17146105fe57600080fd5b806323b872dd1461052457806327f224ca1461054457806329cb924d14610564578063313ce5671461057757806339509351146105935780633cc400b3146105b357600080fd5b8063173684c5116102d75780631bf71c38116102b15780631bf71c381461048c5780631c39c38d146104ac57806322302922146104e457806322f8e5661461050457600080fd5b8063173684c51461042957806318160ddd1461046257806319e9d8941461047757600080fd5b806306fdde031461032a57806308ed5b1414610355578063095ea7b31461037757806311cfc159146103a757806313111725146103e5578063135c404e1461040557600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610a13565b60405161034c9190613d90565b60405180910390f35b34801561036157600080fd5b50610375610370366004613db1565b610aa5565b005b34801561038357600080fd5b50610397610392366004613dee565b610b44565b604051901515815260200161034c565b3480156103b357600080fd5b50600a546103cd906201000090046001600160401b031681565b6040516001600160401b03909116815260200161034c565b3480156103f157600080fd5b50610375610400366004613f53565b610b5b565b34801561041157600080fd5b5061041b600d5481565b60405190815260200161034c565b34801561043557600080fd5b50600a5461044d90600160b01b900463ffffffff1681565b60405163ffffffff909116815260200161034c565b34801561046e57600080fd5b5060035461041b565b34801561048357600080fd5b5061041b610e95565b34801561049857600080fd5b5061033f6104a7366004613f8d565b610ebe565b3480156104b857600080fd5b506000546104cc906001600160a01b031681565b6040516001600160a01b03909116815260200161034c565b3480156104f057600080fd5b506010546104cc906001600160a01b031681565b34801561051057600080fd5b5061037561051f366004614044565b610ee1565b34801561053057600080fd5b5061039761053f36600461405d565b610f57565b34801561055057600080fd5b5061037561055f36600461409e565b611008565b34801561057057600080fd5b504261041b565b34801561058357600080fd5b506040516012815260200161034c565b34801561059f57600080fd5b506103976105ae366004613dee565b61109e565b3480156105bf57600080fd5b506103756110d5565b3480156105d457600080fd5b506103756105e3366004613f8d565b6112ca565b3480156105f457600080fd5b5061041b600c5481565b34801561060a57600080fd5b506103756106193660046140bb565b611727565b61037561062c366004614044565b6118a0565b34801561063d57600080fd5b5061041b611a44565b34801561065257600080fd5b5061041b610661366004614044565b611a5b565b34801561067257600080fd5b5061041b60085481565b34801561068857600080fd5b5061041b6106973660046140e0565b6001600160a01b031660009081526001602052604090205490565b3480156106be57600080fd5b506103756106cd366004613f53565b611a85565b3480156106de57600080fd5b5061041b60115481565b3480156106f457600080fd5b5061041b60095481565b34801561070a57600080fd5b506103756107193660046140e0565b611f21565b34801561072a57600080fd5b5061033f611fb0565b34801561073f57600080fd5b50600f546104cc906001600160a01b031681565b34801561075f57600080fd5b5061039761076e366004613dee565b611fbf565b34801561077f57600080fd5b50600e546104cc906001600160a01b031681565b34801561079f57600080fd5b506103976107ae366004613dee565b61205a565b6107c66107c13660046140fd565b612067565b60405161034c9190614171565b3480156107df57600080fd5b5061041b60075481565b3480156107f557600080fd5b506104cc610804366004614044565b6013602052600090815260409020546001600160a01b031681565b34801561082b57600080fd5b5061037561220c565b34801561084057600080fd5b5061041b612464565b34801561085557600080fd5b50600a5461039790610100900460ff1681565b34801561087457600080fd5b50610375610883366004613f8d565b61247e565b34801561089457600080fd5b506006546104cc9061010090046001600160a01b031681565b3480156108b957600080fd5b50600a546103cd90600160701b90046001600160401b031681565b3480156108e057600080fd5b50600a546103979060ff1681565b3480156108fa57600080fd5b50610375610909366004613f8d565b61266b565b34801561091a57600080fd5b5060065461044d90600160a81b900463ffffffff1681565b34801561093e57600080fd5b5061041b61094d3660046141d3565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561098457600080fd5b5061041b610993366004614044565b60126020526000908152604090205481565b3480156109b157600080fd5b506109c56109c0366004614044565b612851565b6040805192835260208301919091520161034c565b3480156109e657600080fd5b50600a5461044d90600160501b900463ffffffff1681565b348015610a0a57600080fd5b50610375612888565b606060048054610a2290614201565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4e90614201565b8015610a9b5780601f10610a7057610100808354040283529160200191610a9b565b820191906000526020600020905b815481529060010190602001808311610a7e57829003601f168201915b5050505050905090565b600e546001600160a01b03163314610ad85760405162461bcd60e51b8152600401610acf9061423c565b60405180910390fd5b610ae06128a8565b610ae86128fa565b600a80548215156101000261ff00199091161790556040517f1d492b98217ff50d005c548e0fa3a96dc38b2bafccaf5baedf42c112bd39fdfb90610b3190831515815260200190565b60405180910390a1610b41612906565b50565b6000610b51338484612915565b5060015b92915050565b600a54610100900460ff16610ba85760405162461bcd60e51b815260206004820152601360248201527214995b185e5cc8185c9948191a5cd8589b1959606a1b6044820152606401610acf565b610bb06128a8565b610bb86128fa565b6703782dace9d900008260a001516001600160401b031611158015610bf257506703782dace9d900008260c001516001600160401b031611155b8015610c0f57506706f05b59d3b20000816001600160401b031611155b610c4a5760405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964206665657360a01b6044820152606401610acf565b6000610c5583612a3a565b60008181526012602052604090205490915015610cab5760405162461bcd60e51b815260206004820152601460248201527350656e64696e672072656c61792065786973747360601b6044820152606401610acf565b60004290506000610cbf8560800151612a7d565b905060006040518060e0016040528060016002811115610ce157610ce1614273565b815233602082015260068054604090920191600160a81b900463ffffffff16906015610d0c8361429f565b91906101000a81548163ffffffff021916908363ffffffff16021790555063ffffffff168152602001866001600160401b031681526020018463ffffffff168152602001838152602001600b548152509050610d6781612a9d565b600085815260126020526040812091909155610d838783612ab0565b90508660800151600954600754610d9a91906142c3565b1015610de45760405162461bcd60e51b8152602060048201526019602482015278496e73756666696369656e7420706f6f6c2062616c616e636560381b6044820152606401610acf565b6000600b5484610df491906142da565b9050876080015160096000828254610e0c91906142da565b9250508190555080600d6000828254610e2591906142da565b9091555050600654610e479061010090046001600160a01b0316333084612b04565b857fa4ca36d112520cced74325c72711f376fe4015665829d879ba21590cb8130be0898585604051610e7b939291906143fc565b60405180910390a2505050505050610e91612906565b5050565b6000610e9f6128a8565b610ea76128fa565b610eb16000612b75565b9050610ebb612906565b90565b6060610ec86128a8565b610eda610ed58484612ab0565b612c03565b9392505050565b6000546001600160a01b0316610ef657600080fd5b60005460405163117c72b360e11b8152600481018390526001600160a01b03909116906322f8e56690602401600060405180830381600087803b158015610f3c57600080fd5b505af1158015610f50573d6000803e3d6000fd5b5050505050565b6000610f64848484612c40565b6001600160a01b038416600090815260026020908152604080832033845290915290205482811015610fe95760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610acf565b610ffd8533610ff886856142c3565b612915565b506001949350505050565b600e546001600160a01b031633146110325760405162461bcd60e51b8152600401610acf9061423c565b61103a6128a8565b6110426128fa565b600a805469ffffffffffffffff00001916620100006001600160401b038481168202929092179283905560405192041681527f958b6b3e25d854f9e658cd5610bd9d184123d203f58f95adf261e0d7d0dd65a590602001610b31565b3360008181526002602090815260408083206001600160a01b03871684529091528120549091610b51918590610ff89086906142da565b6110dd6128a8565b6110e56128fa565b600e60009054906101000a90046001600160a01b03166001600160a01b031663c73a32c36040518163ffffffff1660e01b815260040160206040518083038186803b15801561113357600080fd5b505afa158015611147573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116b9190614428565b600a600e6101000a8154816001600160401b0302191690836001600160401b03160217905550600e60009054906101000a90046001600160a01b03166001600160a01b031663173684c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156111df57600080fd5b505afa1580156111f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112179190614445565b600a60166101000a81548163ffffffff021916908363ffffffff160217905550600e60009054906101000a90046001600160a01b03166001600160a01b0316637998a1c46040518163ffffffff1660e01b815260040160206040518083038186803b15801561128557600080fd5b505afa158015611299573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bd9190614462565b6011556112c8612906565b565b6112d26128a8565b6112da6128fa565b60006112e583612a3a565b90506112f18183612e18565b60018251600281111561130657611306614273565b146113455760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e481cd95d1d1b1959608a1b6044820152606401610acf565b6000600a60169054906101000a900463ffffffff168360800151611369919061447b565b9050428163ffffffff1611156113b65760405162461bcd60e51b8152602060048201526012602482015271139bdd081cd95d1d1b1958589b19481e595d60721b6044820152606401610acf565b82602001516001600160a01b0316336001600160a01b031614806113ea57506113e18161038461447b565b63ffffffff1642115b6114295760405162461bcd60e51b815260206004820152601060248201526f2737ba1039b637bb903932b630bcb2b960811b6044820152606401610acf565b6040805160e0810190915261149d90806002815260200185602001516001600160a01b03168152602001856040015163ffffffff16815260200185606001516001600160401b03168152602001856080015163ffffffff1681526020018560a0015181526020018560c00151815250612a9d565b60008381526012602052604081209190915560a085015160608501516114d0916114c6916144a3565b8660800151612ea5565b85608001516114df91906142c3565b905060006114ed8486612ecd565b600081815260136020526040902054600a549192506001600160a01b03169060ff16801561152257506001600160a01b038116155b1561153a57611535876040015184612ef8565b61156f565b61156f6001600160a01b038216611555578760400151611557565b815b60065461010090046001600160a01b03169085612fc1565b60006115838860a001518960800151612ea5565b905060008760a001518860c0015161159b91906142da565b60208901519091506001600160a01b03163314156115e35760208801516115de906115c683856142da565b60065461010090046001600160a01b03169190612fc1565b611621565b6020880151600654611605916101009091046001600160a01b03169083612fc1565b6006546116219061010090046001600160a01b03163384612fc1565b600061162d83876142da565b905089608001516009600082825461164591906142c3565b92505081905550806007600082825461165e91906142c3565b92505081905550806008600082825461167791906144c5565b9250508190555081600d600082825461169091906142c3565b9091555061169e9050612ff1565b6116b86116b38a606001518c60800151612ea5565b61302f565b336001600160a01b0316887fcfdda74fce9fedb259e0f0a1ab1550e19b338488ece64976a4639e7fce0293a78b6040516116f29190614506565b60405180910390a350505060009182525060136020526040902080546001600160a01b031916905550610e9191506129069050565b61172f6128a8565b6117376128fa565b8015806117465750600a5460ff165b6117825760405162461bcd60e51b815260206004820152600d60248201526c086c2dce840e6cadcc840cae8d609b1b6044820152606401610acf565b6000670de0b6b3a7640000611795613062565b61179f9085614514565b6117a99190614549565b9050806009546117b991906142da565b600754101561180a5760405162461bcd60e51b815260206004820152601e60248201527f5574696c697a6174696f6e20746f6f206869676820746f2072656d6f766500006044820152606401610acf565b61181433846130da565b806007600082825461182691906142c3565b909155505081156118405761183b3382612ef8565b61185c565b60065461185c9061010090046001600160a01b03163383612fc1565b604080518281526020810185905233917f0c54fc223ffd1a8f36652b5e83db4fff50f5ae151b11ceb56d5499b9f6e1fa18910160405180910390a250610e91612906565b6118a86128a8565b6118b06128fa565b600a5460ff1680156118c157508034145b806118ca575034155b6119165760405162461bcd60e51b815260206004820152601b60248201527f42616420616464206c6971756964697479204574682076616c756500000000006044820152606401610acf565b6000611920613062565b61193283670de0b6b3a7640000614514565b61193c9190614549565b90506119483382613229565b816007600082825461195a91906142da565b909155505034158015906119705750600a5460ff165b156119e357600660019054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156119c557600080fd5b505af11580156119d9573d6000803e3d6000fd5b5050505050611a00565b600654611a009061010090046001600160a01b0316333085612b04565b604080518381526020810183905233917f0351f600ef1e31e5e13b4dc27bff4cbde3e9269f0ffc666629ae6cac573eb220910160405180910390a250610b41612906565b6000611a4e6128a8565b611a56613308565b905090565b6000611a656128a8565b611a6d6128fa565b611a7682612b75565b9050611a80612906565b919050565b600a54610100900460ff16611ad25760405162461bcd60e51b815260206004820152601360248201527214995b185e5cc8185c9948191a5cd8589b1959606a1b6044820152606401610acf565b611ada6128a8565b611ae26128fa565b60004290506703782dace9d900008360a001516001600160401b031611158015611b2157506703782dace9d900008360c001516001600160401b031611155b8015611b3e57506706f05b59d3b20000826001600160401b031611155b611b795760405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964206665657360a01b6044820152606401610acf565b6000611b8484612a3a565b60008181526012602052604090205490915015611bda5760405162461bcd60e51b815260206004820152601460248201527350656e64696e672072656c61792065786973747360601b6044820152606401610acf565b6000611be98560800151612a7d565b905060006040518060e0016040528060016002811115611c0b57611c0b614273565b815233602082015260068054604090920191600160a81b900463ffffffff16906015611c368361429f565b91906101000a81548163ffffffff021916908363ffffffff16021790555063ffffffff168152602001866001600160401b031681526020018563ffffffff168152602001838152602001600b5481525090506000611c948783612ab0565b9050611c9f82612a9d565b600085815260126020526040812091909155611cbb8584612ecd565b6000818152601360205260409020549091506001600160a01b031615611d1d5760405162461bcd60e51b8152602060048201526017602482015276052656c61792063616e6e6f74206265207370656420757604c1b6044820152606401610acf565b8760800151600954600754611d3291906142c3565b1015611d7c5760405162461bcd60e51b8152602060048201526019602482015278496e73756666696369656e7420706f6f6c2062616c616e636560381b6044820152606401610acf565b6000600b5485611d8c91906142da565b90506000611dc08a60c001518b60a001518760600151611dac91906144a3565b611db691906144a3565b8b60800151612ea5565b90506000818b60800151611dd491906142c3565b905082600d6000828254611de891906142da565b909155505060808b015160098054600090611e049084906142da565b9091555050600084815260136020526040902080546001600160a01b03191633908117909155611e529030611e3986856142da565b60065461010090046001600160a01b0316929190612b04565b600a5460ff1615611e7057611e6b8b6040015182612ef8565b611e92565b60408b0151600654611e92916101009091046001600160a01b03169083612fc1565b877fa4ca36d112520cced74325c72711f376fe4015665829d879ba21590cb8130be08c8888604051611ec6939291906143fc565b60405180910390a2336001600160a01b0316887ff98cddc88bc965917007822b05056cb92bc9ddf0f8bcc61678400cb78313bb4b88604051611f089190614506565b60405180910390a3505050505050505050610e91612906565b600e546001600160a01b03163314611f4b5760405162461bcd60e51b8152600401610acf9061423c565b611f536128a8565b611f5b6128fa565b600e80546001600160a01b0319166001600160a01b0383169081179091556040805133815260208101929092527f485a12424bd0c2c66a131c2681cb6c743b9573af3ae5f3014ef6ce7f55ab01929101610b31565b606060058054610a2290614201565b3360009081526002602090815260408083206001600160a01b0386168452909152812054828110156120415760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610acf565b6120503385610ff886856142c3565b5060019392505050565b6000610b51338484612c40565b606034156120b75760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c79206d756c746963616c6c207769746820302076616c756500000000006044820152606401610acf565b816001600160401b038111156120cf576120cf613e1a565b60405190808252806020026020018201604052801561210257816020015b60608152602001906001900390816120ed5790505b50905060005b8281101561220557600080308686858181106121265761212661456b565b90506020028101906121389190614581565b6040516121469291906145ce565b600060405180830381855af49150503d8060008114612181576040519150601f19603f3d011682016040523d82523d6000602084013e612186565b606091505b5091509150816121d25760448151101561219f57600080fd5b600481019050808060200190518101906121b991906145de565b60405162461bcd60e51b8152600401610acf9190613d90565b808484815181106121e5576121e561456b565b6020026020010181905250505080806121fd9061467f565b915050612108565b5092915050565b6122146128a8565b61221c6128fa565b600e5460408051632e68f21360e21b815290516000926001600160a01b03169163b9a3c84c916004808301926020929190829003018186803b15801561226157600080fd5b505afa158015612275573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612299919061469a565b6040516302abf57960e61b815275536b696e6e794f7074696d69737469634f7261636c6560501b60048201529091506001600160a01b0382169063aafd5e409060240160206040518083038186803b1580156122f457600080fd5b505afa158015612308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232c919061469a565b601080546001600160a01b0319166001600160a01b039283161790556040516302abf57960e61b81526453746f726560d81b60048201529082169063aafd5e409060240160206040518083038186803b15801561238857600080fd5b505afa15801561239c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c0919061469a565b600f80546001600160a01b0319166001600160a01b03928316908117909155600654604051635b97aadd60e01b8152610100909104909216600483015290635b97aadd9060240160206040518083038186803b15801561241f57600080fd5b505afa158015612433573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061245791906146b7565b51600b55506112c8612906565b600061246e6128a8565b6124766128fa565b610eb1613062565b6124866128a8565b61248e6128fa565b600061249983612a3a565b90506124a58183612e18565b60006124b18284612ecd565b9050600a60169054906101000a900463ffffffff1683608001516124d5919061447b565b63ffffffff16421080156124fb57506001835160028111156124f9576124f9614273565b145b801561251c57506000818152601360205260409020546001600160a01b0316155b6125625760405162461bcd60e51b8152602060048201526017602482015276052656c61792063616e6e6f74206265207370656420757604c1b6044820152606401610acf565b600081815260136020526040812080546001600160a01b0319163317905560c085015160a086015160608601516125a7929161259d916144a3565b6114c691906144a3565b905060008186608001516125bb91906142c3565b600a5490915060ff16156125f9576006546125e69061010090046001600160a01b0316333084612b04565b6125f4866040015182612ef8565b61261d565b604086015160065461261d916101009091046001600160a01b031690339084612b04565b336001600160a01b0316847ff98cddc88bc965917007822b05056cb92bc9ddf0f8bcc61678400cb78313bb4b876040516126579190614506565b60405180910390a350505050610e91612906565b6126736128a8565b61267b6128fa565b42600a54608083015161269b91600160b01b900463ffffffff169061447b565b63ffffffff16116126de5760405162461bcd60e51b815260206004820152600d60248201526c50617374206c6976656e65737360981b6044820152606401610acf565b6001815160028111156126f3576126f3614273565b146127315760405162461bcd60e51b815260206004820152600e60248201526d4e6f742064697370757461626c6560901b6044820152606401610acf565b600061273c83612a3a565b90506127488183612e18565b60006127548484612ab0565b905060006127798460200151338660a001518760c0015161277487612c03565b613378565b90508360a001518460c0015161278f91906142da565b600d60008282546127a091906142c3565b90915550506080850151600980546000906127bc9084906142c3565b9091555050600083815260126020526040812055801561281057336127e085612a9d565b60405185907f29751133c2d0a0ea7a9da312248b12ef10ac4c20f4e3ab5eebbb80d853b3836790600090a4612846565b3361281a85612a9d565b60405185907f14173c4d3bd95e34f5c8f78729323444c9272bd21051e70045b64ed48f65818390600090a45b505050610e91612906565b60008061285c6128a8565b6128646128fa565b61286e6000612b75565b61287784612b75565b91509150612883612906565b915091565b6128906128a8565b6128986128fa565b6128a061369d565b6112c8612906565b60065460ff166112c85760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610acf565b6006805460ff19169055565b6006805460ff19166001179055565b6001600160a01b0383166129775760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610acf565b6001600160a01b0382166129d85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610acf565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600654604051600091612a6091849161010090046001600160a01b0316906020016146f8565b604051602081830303815290604052805190602001209050919050565b600a54600090610b5590600160701b90046001600160401b031683612ea5565b600081604051602001612a609190614506565b60008282604001518360600151600660019054906101000a90046001600160a01b0316604051602001612ae69493929190614720565b60405160208183030381529060405280519060200120905092915050565b6040516001600160a01b0380851660248301528316604482015260648101829052612b6f9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613760565b50505050565b6000612b7f61369d565b60008060085413612b91576000612b95565b6008545b905060008160095485612ba891906142da565b612bb291906142da565b9050600082600754612bc491906142da565b905080612bdd5750670de0b6b3a7640000949350505050565b80612bf083670de0b6b3a7640000614514565b612bfa9190614549565b95945050505050565b6060610b5560405180602001604052806000815250604051806040016040528060098152602001680e4cad8c2f290c2e6d60bb1b81525084613832565b6001600160a01b038316612ca45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610acf565b6001600160a01b038216612d065760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610acf565b6001600160a01b03831660009081526001602052604090205481811015612d7e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610acf565b612d8882826142c3565b6001600160a01b038086166000908152600160205260408082209390935590851681529081208054849290612dbe9084906142da565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e0a91815260200190565b60405180910390a350505050565b612e2181612a9d565b60008381526012602052604090205414610e91576040805162461bcd60e51b81526020600482015260248101919091527f4861736865642072656c617920706172616d7320646f206e6f74206d6174636860448201527f206578697374696e672072656c6179206861736820666f72206465706f7369746064820152608401610acf565b6000670de0b6b3a7640000612ec3836001600160401b038616614514565b610eda9190614549565b6000828260600151604051602001612ae69291909182526001600160401b0316602082015260400190565b6001600160a01b0382163b15612f2457600654610e919061010090046001600160a01b03168383612fc1565b600654604051632e1a7d4d60e01b8152600481018390526101009091046001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015612f6e57600080fd5b505af1158015612f82573d6000803e3d6000fd5b50506040516001600160a01b038516925083156108fc02915083906000818181858888f19350505050158015612fbc573d6000803e3d6000fd5b505050565b6040516001600160a01b038316602482015260448101829052612fbc90849063a9059cbb60e01b90606401612b38565b6000612ffb613308565b905080600c5461300b91906142c3565b600c5550600a805463ffffffff60501b1916600160501b4263ffffffff1602179055565b80600c600082825461304191906142da565b92505081905550806008600082825461305a91906144c5565b909155505050565b600061306d60035490565b61307e5750670de0b6b3a764000090565b613086612ff1565b61308e61369d565b6000600c546008546007546130a391906144c5565b6130ad9190614765565b90506130b860035490565b6130ca82670de0b6b3a7640000614514565b6130d49190614549565b91505090565b6001600160a01b03821661313a5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610acf565b6001600160a01b038216600090815260016020526040902054818110156131ae5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610acf565b6131b882826142c3565b6001600160a01b038416600090815260016020526040812091909155600380548492906131e69084906142c3565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612a2d565b6001600160a01b03821661327f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610acf565b806003600082825461329191906142da565b90915550506001600160a01b038216600090815260016020526040812080548392906132be9084906142da565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600a546000908190670de0b6b3a764000090600160501b900463ffffffff164261333291906142c3565b600a54600c54613351916201000090046001600160401b031690614514565b61335b9190614514565b6133659190614549565b9050600c548110611a8057600c546130d4565b60008061338585856142da565b6010546006549192506133aa9161010090046001600160a01b03908116911683613878565b6010546011546001600160a01b039091169063af355d1e904286600660019054906101000a90046001600160a01b031660008b600a60169054906101000a900463ffffffff168f670de0b6b3a76400006040518a63ffffffff1660e01b815260040161341e999897969594939291906147a4565b602060405180830381600087803b15801561343857600080fd5b505af1925050508015613468575060408051601f3d908101601f1916820190925261346591810190614462565b60015b6134b5576006546134889061010090046001600160a01b03168883612fc1565b6010546006546134ab916001600160a01b03610100909204821691166000613878565b6000915050612bfa565b818110156135105760006134c982846142c3565b6006549091506134e89061010090046001600160a01b03168a83612fc1565b60105460065461350b916001600160a01b03610100909204821691166000613878565b819250505b5060408051610160810182526001600160a01b03898116825260006020830181905260065461010090049091169282019290925260608101829052670de0b6b3a7640000608082015260a08101829052600a5460c0820190600160b01b900463ffffffff164261358091906142da565b81526000602082015260400161359688856142c3565b815260208101889052600a54600160b01b900463ffffffff9081166040909201919091526006549192506135df9161010090046001600160a01b031690339030908690612b0416565b601054600654613601916001600160a01b036101009092048216911684613878565b60105460115460405163139c641960e31b81526001600160a01b0390921691639ce320c89161363c914290899087908e90309060040161480f565b602060405180830381600087803b15801561365657600080fd5b505af115801561366a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061368e9190614462565b50600198975050505050505050565b600d546006546040516370a0823160e01b81523060048201526000929161010090046001600160a01b0316906370a082319060240160206040518083038186803b1580156136ea57600080fd5b505afa1580156136fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137229190614462565b61372c91906142c3565b9050600754811115610b415760075461374590826142c3565b600860008282546137569190614765565b9091555050600755565b60006137b5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661399c9092919063ffffffff16565b805190915015612fbc57808060200190518101906137d39190614908565b612fbc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610acf565b6060600061384085856139b3565b9050848161384d856139f5565b60405160200161385f93929190614925565b6040516020818303038152906040529150509392505050565b8015806139015750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b1580156138c757600080fd5b505afa1580156138db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138ff9190614462565b155b61396c5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610acf565b6040516001600160a01b038316602482015260448101829052612fbc90849063095ea7b360e01b90606401612b38565b60606139ab8484600085613a35565b949350505050565b8151606090156139e457816040516020016139ce9190614968565b6040516020818303038152906040529050610b55565b816040516020016139ce919061499c565b6060613a04608083901c613b5d565b613a0d83613b5d565b6040805160208101939093528201526060016040516020818303038152906040529050919050565b606082471015613a965760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610acf565b843b613ae45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610acf565b600080866001600160a01b03168587604051613b0091906149c1565b60006040518083038185875af1925050503d8060008114613b3d576040519150601f19603f3d011682016040523d82523d6000602084013e613b42565b606091505b5091509150613b52828286613cff565b979650505050505050565b6000808260001c9050806fffffffffffffffffffffffffffffffff169050806801000000000000000002811777ffffffffffffffff0000000000000000ffffffffffffffff169050806401000000000281177bffffffff00000000ffffffff00000000ffffffff00000000ffffffff16905080620100000281177dffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff169050806101000281177eff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff1690508060100281177f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f16905060006008827f08080808080808080808080808080808080808080808080808080808080808081681613c8157613c81614533565b0460047f040404040404040404040404040404040404040404040404040404040404040484160460027f020202020202020202020202020202020202020202020202020202020202020285160417166027029091017f3030303030303030303030303030303030303030303030303030303030303030019392505050565b60608315613d0e575081610eda565b825115613d1e5782518084602001fd5b8160405162461bcd60e51b8152600401610acf9190613d90565b60005b83811015613d53578181015183820152602001613d3b565b83811115612b6f5750506000910152565b60008151808452613d7c816020860160208601613d38565b601f01601f19169290920160200192915050565b602081526000610eda6020830184613d64565b8015158114610b4157600080fd5b600060208284031215613dc357600080fd5b8135610eda81613da3565b6001600160a01b0381168114610b4157600080fd5b8035611a8081613dce565b60008060408385031215613e0157600080fd5b8235613e0c81613dce565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715613e5257613e52613e1a565b60405290565b6001600160401b0381168114610b4157600080fd5b8035611a8081613e58565b63ffffffff81168114610b4157600080fd5b8035611a8081613e78565b6000610100808385031215613ea957600080fd5b604051908101906001600160401b0382118183101715613ecb57613ecb613e1a565b816040528092508335815260208401359150613ee682613e58565b816020820152613ef860408501613de3565b6040820152613f0960608501613de3565b606082015260808401356080820152613f2460a08501613e6d565b60a0820152613f3560c08501613e6d565b60c0820152613f4660e08501613e8a565b60e0820152505092915050565b6000806101208385031215613f6757600080fd5b613f718484613e95565b9150610100830135613f8281613e58565b809150509250929050565b6000808284036101e0811215613fa257600080fd5b613fac8585613e95565b925060e060ff1982011215613fc057600080fd5b50613fc9613e30565b61010084013560038110613fdc57600080fd5b8152613feb6101208501613de3565b6020820152613ffd6101408501613e8a565b604082015261400f6101608501613e6d565b60608201526140216101808501613e8a565b60808201526101a084013560a08201526101c09093013560c08401525092909150565b60006020828403121561405657600080fd5b5035919050565b60008060006060848603121561407257600080fd5b833561407d81613dce565b9250602084013561408d81613dce565b929592945050506040919091013590565b6000602082840312156140b057600080fd5b8135610eda81613e58565b600080604083850312156140ce57600080fd5b823591506020830135613f8281613da3565b6000602082840312156140f257600080fd5b8135610eda81613dce565b6000806020838503121561411057600080fd5b82356001600160401b038082111561412757600080fd5b818501915085601f83011261413b57600080fd5b81358181111561414a57600080fd5b8660208260051b850101111561415f57600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156141c657603f198886030184526141b4858351613d64565b94509285019290850190600101614198565b5092979650505050505050565b600080604083850312156141e657600080fd5b82356141f181613dce565b91506020830135613f8281613dce565b600181811c9082168061421557607f821691505b6020821081141561423657634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526017908201527f43616c6c6572206e6f74206272696467652061646d696e000000000000000000604082015260600190565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600063ffffffff808316818114156142b9576142b9614289565b6001019392505050565b6000828210156142d5576142d5614289565b500390565b600082198211156142ed576142ed614289565b500190565b8051825260208101516001600160401b0380821660208501526040830151915060018060a01b03808316604086015280606085015116606086015250608083015160808501528060a08401511660a08501528060c08401511660c0850152505063ffffffff60e08201511660e08301525050565b80516003811061438657634e487b7160e01b600052602160045260246000fd5b82526020818101516001600160a01b031690830152604080820151906143b39084018263ffffffff169052565b5060608101516143ce60608401826001600160401b03169052565b5060808101516143e6608084018263ffffffff169052565b5060a0818101519083015260c090810151910152565b610200810161440b82866142f2565b614419610100830185614366565b826101e0830152949350505050565b60006020828403121561443a57600080fd5b8151610eda81613e58565b60006020828403121561445757600080fd5b8151610eda81613e78565b60006020828403121561447457600080fd5b5051919050565b600063ffffffff80831681851680830382111561449a5761449a614289565b01949350505050565b60006001600160401b0380831681851680830382111561449a5761449a614289565b600080821280156001600160ff1b03849003851316156144e7576144e7614289565b600160ff1b839003841281161561450057614500614289565b50500190565b60e08101610b558284614366565b600081600019048311821515161561452e5761452e614289565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261456657634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261459857600080fd5b8301803591506001600160401b038211156145b257600080fd5b6020019150368190038213156145c757600080fd5b9250929050565b8183823760009101908152919050565b6000602082840312156145f057600080fd5b81516001600160401b038082111561460757600080fd5b818401915084601f83011261461b57600080fd5b81518181111561462d5761462d613e1a565b604051601f8201601f19908116603f0116810190838211818310171561465557614655613e1a565b8160405282815287602084870101111561466e57600080fd5b613b52836020830160208801613d38565b600060001982141561469357614693614289565b5060010190565b6000602082840312156146ac57600080fd5b8151610eda81613dce565b6000602082840312156146c957600080fd5b604051602081018181106001600160401b03821117156146eb576146eb613e1a565b6040529151825250919050565b610120810161470782856142f2565b6001600160a01b03929092166101009190910152919050565b610160810161472f82876142f2565b63ffffffff949094166101008201526001600160401b03929092166101208301526001600160a01b031661014090910152919050565b60008083128015600160ff1b85018412161561478357614783614289565b6001600160ff1b038401831381161561479e5761479e614289565b50500390565b60006101208b835263ffffffff808c1660208501528160408501526147cb8285018c613d64565b6001600160a01b039a8b166060860152608085019990995260a084019790975250509290931660c083015290931660e0840152610100909201919091529392505050565b600061020088835263ffffffff8816602084015280604084015261483581840188613d64565b91505061484e6060830186516001600160a01b03169052565b60208501516001600160a01b03811660808401525060408501516001600160a01b03811660a084015250606085015180151560c084015250608085015160e083015260a0850151610100818185015260c08701519150610120828186015260e0880151925061014083818701528289015161016087015281890151610180870152808901516101a0870152505050506148f36101c08301856001600160a01b03169052565b6001600160a01b0383166101e0830152613b52565b60006020828403121561491a57600080fd5b8151610eda81613da3565b60008451614937818460208901613d38565b84519083019061494b818360208901613d38565b845191019061495e818360208801613d38565b0195945050505050565b600b60fa1b815260008251614984816001850160208701613d38565b601d60f91b6001939091019283015250600201919050565b600082516149ae818460208701613d38565b601d60f91b920191825250600101919050565b600082516149d3818460208701613d38565b919091019291505056fea2646970667358221220c4b31e1ef9e4af0fa1497d6ce4afbdaab6148e447ddff6e73ffbd5b0e4aa00c664736f6c63430008090033";
1721
+
1722
+ type BridgePoolProdConstructorParams =
1723
+ | [signer?: Signer]
1724
+ | ConstructorParameters<typeof ContractFactory>;
1725
+
1726
+ const isSuperArgs = (
1727
+ xs: BridgePoolProdConstructorParams
1728
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
1729
+
1730
+ export class BridgePoolProd__factory extends ContractFactory {
1731
+ constructor(...args: BridgePoolProdConstructorParams) {
1732
+ if (isSuperArgs(args)) {
1733
+ super(...args);
1734
+ } else {
1735
+ super(_abi, _bytecode, args[0]);
1736
+ }
1737
+ }
1738
+
1739
+ deploy(
1740
+ _lpTokenName: string,
1741
+ _lpTokenSymbol: string,
1742
+ _bridgeAdmin: string,
1743
+ _l1Token: string,
1744
+ _lpFeeRatePerSecond: BigNumberish,
1745
+ _isWethPool: boolean,
1746
+ _timer: string,
1747
+ overrides?: Overrides & { from?: string | Promise<string> }
1748
+ ): Promise<BridgePoolProd> {
1749
+ return super.deploy(
1750
+ _lpTokenName,
1751
+ _lpTokenSymbol,
1752
+ _bridgeAdmin,
1753
+ _l1Token,
1754
+ _lpFeeRatePerSecond,
1755
+ _isWethPool,
1756
+ _timer,
1757
+ overrides || {}
1758
+ ) as Promise<BridgePoolProd>;
1759
+ }
1760
+ getDeployTransaction(
1761
+ _lpTokenName: string,
1762
+ _lpTokenSymbol: string,
1763
+ _bridgeAdmin: string,
1764
+ _l1Token: string,
1765
+ _lpFeeRatePerSecond: BigNumberish,
1766
+ _isWethPool: boolean,
1767
+ _timer: string,
1768
+ overrides?: Overrides & { from?: string | Promise<string> }
1769
+ ): TransactionRequest {
1770
+ return super.getDeployTransaction(
1771
+ _lpTokenName,
1772
+ _lpTokenSymbol,
1773
+ _bridgeAdmin,
1774
+ _l1Token,
1775
+ _lpFeeRatePerSecond,
1776
+ _isWethPool,
1777
+ _timer,
1778
+ overrides || {}
1779
+ );
1780
+ }
1781
+ attach(address: string): BridgePoolProd {
1782
+ return super.attach(address) as BridgePoolProd;
1783
+ }
1784
+ connect(signer: Signer): BridgePoolProd__factory {
1785
+ return super.connect(signer) as BridgePoolProd__factory;
1786
+ }
1787
+ static readonly bytecode = _bytecode;
1788
+ static readonly abi = _abi;
1789
+ static createInterface(): BridgePoolProdInterface {
1790
+ return new utils.Interface(_abi) as BridgePoolProdInterface;
1791
+ }
1792
+ static connect(
1793
+ address: string,
1794
+ signerOrProvider: Signer | Provider
1795
+ ): BridgePoolProd {
1796
+ return new Contract(address, _abi, signerOrProvider) as BridgePoolProd;
1797
+ }
1798
+ }