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