@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,395 @@
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
+ BytesLike,
11
+ } from "ethers";
12
+ import { Provider, TransactionRequest } from "@ethersproject/providers";
13
+ import type {
14
+ GenericHandler,
15
+ GenericHandlerInterface,
16
+ } from "../GenericHandler";
17
+
18
+ const _abi = [
19
+ {
20
+ inputs: [
21
+ {
22
+ internalType: "address",
23
+ name: "bridgeAddress",
24
+ type: "address",
25
+ },
26
+ {
27
+ internalType: "bytes32[]",
28
+ name: "initialResourceIDs",
29
+ type: "bytes32[]",
30
+ },
31
+ {
32
+ internalType: "address[]",
33
+ name: "initialContractAddresses",
34
+ type: "address[]",
35
+ },
36
+ {
37
+ internalType: "bytes4[]",
38
+ name: "initialDepositFunctionSignatures",
39
+ type: "bytes4[]",
40
+ },
41
+ {
42
+ internalType: "bytes4[]",
43
+ name: "initialExecuteFunctionSignatures",
44
+ type: "bytes4[]",
45
+ },
46
+ ],
47
+ stateMutability: "nonpayable",
48
+ type: "constructor",
49
+ },
50
+ {
51
+ inputs: [],
52
+ name: "_bridgeAddress",
53
+ outputs: [
54
+ {
55
+ internalType: "address",
56
+ name: "",
57
+ type: "address",
58
+ },
59
+ ],
60
+ stateMutability: "view",
61
+ type: "function",
62
+ },
63
+ {
64
+ inputs: [
65
+ {
66
+ internalType: "address",
67
+ name: "",
68
+ type: "address",
69
+ },
70
+ ],
71
+ name: "_contractAddressToDepositFunctionSignature",
72
+ outputs: [
73
+ {
74
+ internalType: "bytes4",
75
+ name: "",
76
+ type: "bytes4",
77
+ },
78
+ ],
79
+ stateMutability: "view",
80
+ type: "function",
81
+ },
82
+ {
83
+ inputs: [
84
+ {
85
+ internalType: "address",
86
+ name: "",
87
+ type: "address",
88
+ },
89
+ ],
90
+ name: "_contractAddressToExecuteFunctionSignature",
91
+ outputs: [
92
+ {
93
+ internalType: "bytes4",
94
+ name: "",
95
+ type: "bytes4",
96
+ },
97
+ ],
98
+ stateMutability: "view",
99
+ type: "function",
100
+ },
101
+ {
102
+ inputs: [
103
+ {
104
+ internalType: "address",
105
+ name: "",
106
+ type: "address",
107
+ },
108
+ ],
109
+ name: "_contractAddressToResourceID",
110
+ outputs: [
111
+ {
112
+ internalType: "bytes32",
113
+ name: "",
114
+ type: "bytes32",
115
+ },
116
+ ],
117
+ stateMutability: "view",
118
+ type: "function",
119
+ },
120
+ {
121
+ inputs: [
122
+ {
123
+ internalType: "address",
124
+ name: "",
125
+ type: "address",
126
+ },
127
+ ],
128
+ name: "_contractWhitelist",
129
+ outputs: [
130
+ {
131
+ internalType: "bool",
132
+ name: "",
133
+ type: "bool",
134
+ },
135
+ ],
136
+ stateMutability: "view",
137
+ type: "function",
138
+ },
139
+ {
140
+ inputs: [
141
+ {
142
+ internalType: "uint8",
143
+ name: "",
144
+ type: "uint8",
145
+ },
146
+ {
147
+ internalType: "uint64",
148
+ name: "",
149
+ type: "uint64",
150
+ },
151
+ ],
152
+ name: "_depositRecords",
153
+ outputs: [
154
+ {
155
+ internalType: "uint8",
156
+ name: "_destinationChainID",
157
+ type: "uint8",
158
+ },
159
+ {
160
+ internalType: "address",
161
+ name: "_depositer",
162
+ type: "address",
163
+ },
164
+ {
165
+ internalType: "bytes32",
166
+ name: "_resourceID",
167
+ type: "bytes32",
168
+ },
169
+ {
170
+ internalType: "bytes",
171
+ name: "_metaData",
172
+ type: "bytes",
173
+ },
174
+ ],
175
+ stateMutability: "view",
176
+ type: "function",
177
+ },
178
+ {
179
+ inputs: [
180
+ {
181
+ internalType: "bytes32",
182
+ name: "",
183
+ type: "bytes32",
184
+ },
185
+ ],
186
+ name: "_resourceIDToContractAddress",
187
+ outputs: [
188
+ {
189
+ internalType: "address",
190
+ name: "",
191
+ type: "address",
192
+ },
193
+ ],
194
+ stateMutability: "view",
195
+ type: "function",
196
+ },
197
+ {
198
+ inputs: [
199
+ {
200
+ internalType: "bytes32",
201
+ name: "resourceID",
202
+ type: "bytes32",
203
+ },
204
+ {
205
+ internalType: "uint8",
206
+ name: "destinationChainID",
207
+ type: "uint8",
208
+ },
209
+ {
210
+ internalType: "uint64",
211
+ name: "depositNonce",
212
+ type: "uint64",
213
+ },
214
+ {
215
+ internalType: "address",
216
+ name: "depositer",
217
+ type: "address",
218
+ },
219
+ {
220
+ internalType: "bytes",
221
+ name: "",
222
+ type: "bytes",
223
+ },
224
+ ],
225
+ name: "deposit",
226
+ outputs: [],
227
+ stateMutability: "nonpayable",
228
+ type: "function",
229
+ },
230
+ {
231
+ inputs: [
232
+ {
233
+ internalType: "bytes32",
234
+ name: "resourceID",
235
+ type: "bytes32",
236
+ },
237
+ {
238
+ internalType: "bytes",
239
+ name: "",
240
+ type: "bytes",
241
+ },
242
+ ],
243
+ name: "executeProposal",
244
+ outputs: [],
245
+ stateMutability: "nonpayable",
246
+ type: "function",
247
+ },
248
+ {
249
+ inputs: [
250
+ {
251
+ internalType: "uint64",
252
+ name: "depositNonce",
253
+ type: "uint64",
254
+ },
255
+ {
256
+ internalType: "uint8",
257
+ name: "destId",
258
+ type: "uint8",
259
+ },
260
+ ],
261
+ name: "getDepositRecord",
262
+ outputs: [
263
+ {
264
+ components: [
265
+ {
266
+ internalType: "uint8",
267
+ name: "_destinationChainID",
268
+ type: "uint8",
269
+ },
270
+ {
271
+ internalType: "address",
272
+ name: "_depositer",
273
+ type: "address",
274
+ },
275
+ {
276
+ internalType: "bytes32",
277
+ name: "_resourceID",
278
+ type: "bytes32",
279
+ },
280
+ {
281
+ internalType: "bytes",
282
+ name: "_metaData",
283
+ type: "bytes",
284
+ },
285
+ ],
286
+ internalType: "struct GenericHandler.DepositRecord",
287
+ name: "",
288
+ type: "tuple",
289
+ },
290
+ ],
291
+ stateMutability: "view",
292
+ type: "function",
293
+ },
294
+ {
295
+ inputs: [
296
+ {
297
+ internalType: "bytes32",
298
+ name: "resourceID",
299
+ type: "bytes32",
300
+ },
301
+ {
302
+ internalType: "address",
303
+ name: "contractAddress",
304
+ type: "address",
305
+ },
306
+ {
307
+ internalType: "bytes4",
308
+ name: "depositFunctionSig",
309
+ type: "bytes4",
310
+ },
311
+ {
312
+ internalType: "bytes4",
313
+ name: "executeFunctionSig",
314
+ type: "bytes4",
315
+ },
316
+ ],
317
+ name: "setResource",
318
+ outputs: [],
319
+ stateMutability: "nonpayable",
320
+ type: "function",
321
+ },
322
+ ];
323
+
324
+ const _bytecode =
325
+ "0x60806040523480156200001157600080fd5b506040516200170c3803806200170c833981016040819052620000349162000473565b8251845114620000b15760405162461bcd60e51b815260206004820152603c60248201527f696e697469616c5265736f7572636549447320616e6420696e697469616c436f60448201527f6e7472616374416464726573736573206c656e206d69736d617463680000000060648201526084015b60405180910390fd5b81518351146200012c576040805162461bcd60e51b81526020600482015260248101919091527f70726f766964656420636f6e74726163742061646472657373657320616e642060448201527f66756e6374696f6e207369676e617475726573206c656e206d69736d617463686064820152608401620000a8565b8051825114620001a55760405162461bcd60e51b815260206004820152603d60248201527f70726f7669646564206465706f73697420616e6420657865637574652066756e60448201527f6374696f6e207369676e617475726573206c656e206d69736d617463680000006064820152608401620000a8565b600080546001600160a01b0319166001600160a01b0387161781555b845181101562000264576200024f858281518110620001e457620001e46200059e565b60200260200101518583815181106200020157620002016200059e565b60200260200101518584815181106200021e576200021e6200059e565b60200260200101518585815181106200023b576200023b6200059e565b60200260200101516200027060201b60201c565b806200025b81620005b4565b915050620001c1565b505050505050620005de565b600084815260026020908152604080832080546001600160a01b039097166001600160a01b031990971687179055948252600381528482209590955560048552838120805460e094851c63ffffffff19918216179091556005865284822080549390941c92169190911790915560069092529020805460ff19166001179055565b80516001600160a01b03811681146200030957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156200034f576200034f6200030e565b604052919050565b60006001600160401b038211156200037357620003736200030e565b5060051b60200190565b600082601f8301126200038f57600080fd5b81516020620003a8620003a28362000357565b62000324565b82815260059290921b84018101918181019086841115620003c857600080fd5b8286015b84811015620003ee57620003e081620002f1565b8352918301918301620003cc565b509695505050505050565b600082601f8301126200040b57600080fd5b815160206200041e620003a28362000357565b82815260059290921b840181019181810190868411156200043e57600080fd5b8286015b84811015620003ee5780516001600160e01b031981168114620004655760008081fd5b835291830191830162000442565b600080600080600060a086880312156200048c57600080fd5b6200049786620002f1565b602087810151919650906001600160401b0380821115620004b757600080fd5b818901915089601f830112620004cc57600080fd5b8151620004dd620003a28262000357565b81815260059190911b8301840190848101908c831115620004fd57600080fd5b938501935b828510156200051d5784518252938501939085019062000502565b60408c015190995094505050808311156200053757600080fd5b620005458a848b016200037d565b955060608901519250808311156200055c57600080fd5b6200056a8a848b01620003f9565b945060808901519250808311156200058157600080fd5b50506200059188828901620003f9565b9150509295509295909350565b634e487b7160e01b600052603260045260246000fd5b6000600019821415620005d757634e487b7160e01b600052601160045260246000fd5b5060010190565b61111e80620005ee6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063ba484c0911610081578063cb6244631161005b578063cb62446314610240578063e248cff214610263578063ec97d3b41461027657600080fd5b8063ba484c09146101d7578063bba8185a146101f7578063c54c2a111461020a57600080fd5b80634402027f116100b25780634402027f1461012d5780637f79bea814610150578063a5c3a9851461018357600080fd5b8063318c136e146100ce57806338995da914610118575b600080fd5b6000546100ee9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61012b610126366004610d38565b6102a4565b005b61014061013b366004610db7565b61061c565b60405161010f9493929190610e60565b61017361015e366004610ea8565b60066020526000908152604090205460ff1681565b604051901515815260200161010f565b6101a6610191366004610ea8565b60056020526000908152604090205460e01b81565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161010f565b6101ea6101e5366004610eca565b6106f0565b60405161010f9190610ef4565b61012b610205366004610f7e565b610818565b6100ee610218366004610fcb565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6101a661024e366004610ea8565b60046020526000908152604090205460e01b81565b61012b610271366004610fe4565b610903565b610296610284366004610ea8565b60036020526000908152604090205481565b60405190815260200161010f565b6102ac610b81565b6000606060c4359150604051905081810160200160405260c4360360c4823760008881526002602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1680845260069092529091205460ff16610393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f70726f766964656420636f6e747261637441646472657373206973206e6f742060448201527f77686974656c697374656400000000000000000000000000000000000000000060648201526084015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526004602052604090205460e01b7fffffffff0000000000000000000000000000000000000000000000000000000081161561050757600081846040516020016103f9929190611030565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff16826040516104319190611078565b6000604051808303816000865af19150503d806000811461046e576040519150601f19603f3d011682016040523d82523d6000602084013e610473565b606091505b5050905080610504576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f64656c656761746563616c6c20746f20636f6e7472616374416464726573732060448201527f6661696c65640000000000000000000000000000000000000000000000000000606482015260840161038a565b50505b60405180608001604052808a60ff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018b815260200184815250600160008b60ff1660ff16815260200190815260200160002060008a67ffffffffffffffff1667ffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010155606082015181600201908051906020019061060d929190610c04565b50505050505050505050505050565b6001602081815260009384526040808520909152918352912080549181015460028201805460ff851694610100900473ffffffffffffffffffffffffffffffffffffffff1693919061066d90611094565b80601f016020809104026020016040519081016040528092919081815260200182805461069990611094565b80156106e65780601f106106bb576101008083540402835291602001916106e6565b820191906000526020600020905b8154815290600101906020018083116106c957829003601f168201915b5050505050905084565b604080516080810182526000808252602082018190529181019190915260608082015260ff828116600090815260016020818152604080842067ffffffffffffffff8916855282529283902083516080810185528154958616815261010090950473ffffffffffffffffffffffffffffffffffffffff1691850191909152908101549183019190915260028101805460608401919061078e90611094565b80601f01602080910402602001604051908101604052809291908181526020018280546107ba90611094565b80156108075780601f106107dc57610100808354040283529160200191610807565b820191906000526020600020905b8154815290600101906020018083116107ea57829003601f168201915b505050505081525050905092915050565b610820610b81565b6000848152600260209081526040808320805473ffffffffffffffffffffffffffffffffffffffff88167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915583526003825280832087905560048252808320805460e087811c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000928316179092556005845282852080549287901c929091169190911790556006909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b50505050565b61090b610b81565b60408051606480358201606001909252907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c360190823760008481526002602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1680845260069092529091205460ff16610a05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f70726f766964656420636f6e747261637441646472657373206973206e6f742060448201527f77686974656c6973746564000000000000000000000000000000000000000000606482015260840161038a565b73ffffffffffffffffffffffffffffffffffffffff811660009081526005602052604090205460e01b7fffffffff00000000000000000000000000000000000000000000000000000000811615610b795760008184604051602001610a6b929190611030565b604051602081830303815290604052905060008373ffffffffffffffffffffffffffffffffffffffff1682604051610aa39190611078565b6000604051808303816000865af19150503d8060008114610ae0576040519150601f19603f3d011682016040523d82523d6000602084013e610ae5565b606091505b5050905080610b76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f64656c656761746563616c6c20746f20636f6e7472616374416464726573732060448201527f6661696c65640000000000000000000000000000000000000000000000000000606482015260840161038a565b50505b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f73656e646572206d7573742062652062726964676520636f6e74726163740000604482015260640161038a565b565b828054610c1090611094565b90600052602060002090601f016020900481019282610c325760008555610c78565b82601f10610c4b57805160ff1916838001178555610c78565b82800160010185558215610c78579182015b82811115610c78578251825591602001919060010190610c5d565b50610c84929150610c88565b5090565b5b80821115610c845760008155600101610c89565b803560ff81168114610cae57600080fd5b919050565b803567ffffffffffffffff81168114610cae57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610cae57600080fd5b60008083601f840112610d0157600080fd5b50813567ffffffffffffffff811115610d1957600080fd5b602083019150836020828501011115610d3157600080fd5b9250929050565b60008060008060008060a08789031215610d5157600080fd5b86359550610d6160208801610c9d565b9450610d6f60408801610cb3565b9350610d7d60608801610ccb565b9250608087013567ffffffffffffffff811115610d9957600080fd5b610da589828a01610cef565b979a9699509497509295939492505050565b60008060408385031215610dca57600080fd5b610dd383610c9d565b9150610de160208401610cb3565b90509250929050565b60005b83811015610e05578181015183820152602001610ded565b838111156108fd5750506000910152565b60008151808452610e2e816020860160208601610dea565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60ff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201526000610e9e6080830184610e16565b9695505050505050565b600060208284031215610eba57600080fd5b610ec382610ccb565b9392505050565b60008060408385031215610edd57600080fd5b610ee683610cb3565b9150610de160208401610c9d565b6020815260ff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201526040820151606082015260006060830151608080840152610f4660a0840182610e16565b949350505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114610cae57600080fd5b60008060008060808587031215610f9457600080fd5b84359350610fa460208601610ccb565b9250610fb260408601610f4e565b9150610fc060608601610f4e565b905092959194509250565b600060208284031215610fdd57600080fd5b5035919050565b600080600060408486031215610ff957600080fd5b83359250602084013567ffffffffffffffff81111561101757600080fd5b61102386828701610cef565b9497909650939450505050565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161106a816004850160208701610dea565b919091016004019392505050565b6000825161108a818460208701610dea565b9190910192915050565b600181811c908216806110a857607f821691505b602082108114156110e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b5091905056fea26469706673582212202aa80fce7fc080846fcad41504e42be256a77682cdf18c978749662e3d99cc3864736f6c63430008090033";
326
+
327
+ type GenericHandlerConstructorParams =
328
+ | [signer?: Signer]
329
+ | ConstructorParameters<typeof ContractFactory>;
330
+
331
+ const isSuperArgs = (
332
+ xs: GenericHandlerConstructorParams
333
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
334
+
335
+ export class GenericHandler__factory extends ContractFactory {
336
+ constructor(...args: GenericHandlerConstructorParams) {
337
+ if (isSuperArgs(args)) {
338
+ super(...args);
339
+ } else {
340
+ super(_abi, _bytecode, args[0]);
341
+ }
342
+ }
343
+
344
+ deploy(
345
+ bridgeAddress: string,
346
+ initialResourceIDs: BytesLike[],
347
+ initialContractAddresses: string[],
348
+ initialDepositFunctionSignatures: BytesLike[],
349
+ initialExecuteFunctionSignatures: BytesLike[],
350
+ overrides?: Overrides & { from?: string | Promise<string> }
351
+ ): Promise<GenericHandler> {
352
+ return super.deploy(
353
+ bridgeAddress,
354
+ initialResourceIDs,
355
+ initialContractAddresses,
356
+ initialDepositFunctionSignatures,
357
+ initialExecuteFunctionSignatures,
358
+ overrides || {}
359
+ ) as Promise<GenericHandler>;
360
+ }
361
+ getDeployTransaction(
362
+ bridgeAddress: string,
363
+ initialResourceIDs: BytesLike[],
364
+ initialContractAddresses: string[],
365
+ initialDepositFunctionSignatures: BytesLike[],
366
+ initialExecuteFunctionSignatures: BytesLike[],
367
+ overrides?: Overrides & { from?: string | Promise<string> }
368
+ ): TransactionRequest {
369
+ return super.getDeployTransaction(
370
+ bridgeAddress,
371
+ initialResourceIDs,
372
+ initialContractAddresses,
373
+ initialDepositFunctionSignatures,
374
+ initialExecuteFunctionSignatures,
375
+ overrides || {}
376
+ );
377
+ }
378
+ attach(address: string): GenericHandler {
379
+ return super.attach(address) as GenericHandler;
380
+ }
381
+ connect(signer: Signer): GenericHandler__factory {
382
+ return super.connect(signer) as GenericHandler__factory;
383
+ }
384
+ static readonly bytecode = _bytecode;
385
+ static readonly abi = _abi;
386
+ static createInterface(): GenericHandlerInterface {
387
+ return new utils.Interface(_abi) as GenericHandlerInterface;
388
+ }
389
+ static connect(
390
+ address: string,
391
+ signerOrProvider: Signer | Provider
392
+ ): GenericHandler {
393
+ return new Contract(address, _abi, signerOrProvider) as GenericHandler;
394
+ }
395
+ }
@@ -0,0 +1,123 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ IAccessControl,
9
+ IAccessControlInterface,
10
+ } from "../IAccessControl";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [
15
+ {
16
+ internalType: "bytes32",
17
+ name: "role",
18
+ type: "bytes32",
19
+ },
20
+ ],
21
+ name: "getRoleAdmin",
22
+ outputs: [
23
+ {
24
+ internalType: "bytes32",
25
+ name: "",
26
+ type: "bytes32",
27
+ },
28
+ ],
29
+ stateMutability: "view",
30
+ type: "function",
31
+ },
32
+ {
33
+ inputs: [
34
+ {
35
+ internalType: "bytes32",
36
+ name: "role",
37
+ type: "bytes32",
38
+ },
39
+ {
40
+ internalType: "address",
41
+ name: "account",
42
+ type: "address",
43
+ },
44
+ ],
45
+ name: "grantRole",
46
+ outputs: [],
47
+ stateMutability: "nonpayable",
48
+ type: "function",
49
+ },
50
+ {
51
+ inputs: [
52
+ {
53
+ internalType: "bytes32",
54
+ name: "role",
55
+ type: "bytes32",
56
+ },
57
+ {
58
+ internalType: "address",
59
+ name: "account",
60
+ type: "address",
61
+ },
62
+ ],
63
+ name: "hasRole",
64
+ outputs: [
65
+ {
66
+ internalType: "bool",
67
+ name: "",
68
+ type: "bool",
69
+ },
70
+ ],
71
+ stateMutability: "view",
72
+ type: "function",
73
+ },
74
+ {
75
+ inputs: [
76
+ {
77
+ internalType: "bytes32",
78
+ name: "role",
79
+ type: "bytes32",
80
+ },
81
+ {
82
+ internalType: "address",
83
+ name: "account",
84
+ type: "address",
85
+ },
86
+ ],
87
+ name: "renounceRole",
88
+ outputs: [],
89
+ stateMutability: "nonpayable",
90
+ type: "function",
91
+ },
92
+ {
93
+ inputs: [
94
+ {
95
+ internalType: "bytes32",
96
+ name: "role",
97
+ type: "bytes32",
98
+ },
99
+ {
100
+ internalType: "address",
101
+ name: "account",
102
+ type: "address",
103
+ },
104
+ ],
105
+ name: "revokeRole",
106
+ outputs: [],
107
+ stateMutability: "nonpayable",
108
+ type: "function",
109
+ },
110
+ ];
111
+
112
+ export class IAccessControl__factory {
113
+ static readonly abi = _abi;
114
+ static createInterface(): IAccessControlInterface {
115
+ return new utils.Interface(_abi) as IAccessControlInterface;
116
+ }
117
+ static connect(
118
+ address: string,
119
+ signerOrProvider: Signer | Provider
120
+ ): IAccessControl {
121
+ return new Contract(address, _abi, signerOrProvider) as IAccessControl;
122
+ }
123
+ }
@@ -0,0 +1,93 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ IArbitrumInbox,
9
+ IArbitrumInboxInterface,
10
+ } from "../IArbitrumInbox";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "bridge",
16
+ outputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "",
20
+ type: "address",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ {
27
+ inputs: [
28
+ {
29
+ internalType: "address",
30
+ name: "destAddr",
31
+ type: "address",
32
+ },
33
+ {
34
+ internalType: "uint256",
35
+ name: "l2CallValue",
36
+ type: "uint256",
37
+ },
38
+ {
39
+ internalType: "uint256",
40
+ name: "maxSubmissionCost",
41
+ type: "uint256",
42
+ },
43
+ {
44
+ internalType: "address",
45
+ name: "excessFeeRefundAddress",
46
+ type: "address",
47
+ },
48
+ {
49
+ internalType: "address",
50
+ name: "callValueRefundAddress",
51
+ type: "address",
52
+ },
53
+ {
54
+ internalType: "uint256",
55
+ name: "maxGas",
56
+ type: "uint256",
57
+ },
58
+ {
59
+ internalType: "uint256",
60
+ name: "gasPriceBid",
61
+ type: "uint256",
62
+ },
63
+ {
64
+ internalType: "bytes",
65
+ name: "data",
66
+ type: "bytes",
67
+ },
68
+ ],
69
+ name: "createRetryableTicketNoRefundAliasRewrite",
70
+ outputs: [
71
+ {
72
+ internalType: "uint256",
73
+ name: "",
74
+ type: "uint256",
75
+ },
76
+ ],
77
+ stateMutability: "payable",
78
+ type: "function",
79
+ },
80
+ ];
81
+
82
+ export class IArbitrumInbox__factory {
83
+ static readonly abi = _abi;
84
+ static createInterface(): IArbitrumInboxInterface {
85
+ return new utils.Interface(_abi) as IArbitrumInboxInterface;
86
+ }
87
+ static connect(
88
+ address: string,
89
+ signerOrProvider: Signer | Provider
90
+ ): IArbitrumInbox {
91
+ return new Contract(address, _abi, signerOrProvider) as IArbitrumInbox;
92
+ }
93
+ }
@@ -0,0 +1,39 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import { Contract, Signer, utils } from "ethers";
6
+ import { Provider } from "@ethersproject/providers";
7
+ import type {
8
+ IArbitrumOutbox,
9
+ IArbitrumOutboxInterface,
10
+ } from "../IArbitrumOutbox";
11
+
12
+ const _abi = [
13
+ {
14
+ inputs: [],
15
+ name: "l2ToL1Sender",
16
+ outputs: [
17
+ {
18
+ internalType: "address",
19
+ name: "",
20
+ type: "address",
21
+ },
22
+ ],
23
+ stateMutability: "view",
24
+ type: "function",
25
+ },
26
+ ];
27
+
28
+ export class IArbitrumOutbox__factory {
29
+ static readonly abi = _abi;
30
+ static createInterface(): IArbitrumOutboxInterface {
31
+ return new utils.Interface(_abi) as IArbitrumOutboxInterface;
32
+ }
33
+ static connect(
34
+ address: string,
35
+ signerOrProvider: Signer | Provider
36
+ ): IArbitrumOutbox {
37
+ return new Contract(address, _abi, signerOrProvider) as IArbitrumOutbox;
38
+ }
39
+ }