@instadapp/interop-x 0.0.0-dev.d05464a → 0.0.0-dev.d71f27e

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 (80) hide show
  1. package/dist/package.json +3 -3
  2. package/dist/src/abi/index.js +2 -4
  3. package/dist/src/abi/interopXContract.json +391 -0
  4. package/dist/src/alias.js +10 -0
  5. package/dist/src/api/index.js +4 -1
  6. package/dist/src/config/index.js +10 -1
  7. package/dist/src/constants/addresses.js +3 -3
  8. package/dist/src/constants/index.js +0 -1
  9. package/dist/src/db/models/transaction.js +27 -9
  10. package/dist/src/gnosis/actions/index.js +9 -0
  11. package/dist/src/gnosis/actions/withdraw/index.js +41 -0
  12. package/dist/src/gnosis/index.js +20 -0
  13. package/dist/src/index.js +39 -23
  14. package/dist/src/net/peer/index.js +2 -1
  15. package/dist/src/net/pool/index.js +7 -2
  16. package/dist/src/net/protocol/dial/SignatureDialProtocol.js +9 -10
  17. package/dist/src/net/protocol/dial/TransactionStatusDialProtocol.js +30 -0
  18. package/dist/src/net/protocol/index.js +26 -5
  19. package/dist/src/tasks/AutoUpdateTask.js +33 -11
  20. package/dist/src/tasks/BaseTask.js +11 -3
  21. package/dist/src/tasks/{InteropXGateway/ProcessDepositEvents.js → InteropXContract/ProcessBridgeRequestEvents.js} +54 -52
  22. package/dist/src/tasks/InteropXContract/SyncBridgeRequestEvents.js +78 -0
  23. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +89 -0
  24. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +55 -0
  25. package/dist/src/tasks/index.js +13 -17
  26. package/dist/src/typechain/{InteropBridgeToken.js → InteropXContract.js} +0 -0
  27. package/dist/src/typechain/factories/InteropXContract__factory.js +526 -0
  28. package/dist/src/typechain/factories/index.js +3 -5
  29. package/dist/src/typechain/index.js +3 -5
  30. package/dist/src/utils/index.js +27 -87
  31. package/package.json +3 -3
  32. package/src/abi/index.ts +2 -4
  33. package/src/abi/interopXContract.json +391 -0
  34. package/src/alias.ts +6 -0
  35. package/src/api/index.ts +4 -1
  36. package/src/config/index.ts +9 -1
  37. package/src/constants/addresses.ts +3 -3
  38. package/src/constants/index.ts +0 -1
  39. package/src/db/models/transaction.ts +66 -21
  40. package/src/gnosis/actions/index.ts +5 -0
  41. package/src/gnosis/actions/withdraw/index.ts +56 -0
  42. package/src/gnosis/index.ts +19 -0
  43. package/src/index.ts +52 -25
  44. package/src/net/peer/index.ts +2 -1
  45. package/src/net/pool/index.ts +7 -3
  46. package/src/net/protocol/dial/SignatureDialProtocol.ts +11 -13
  47. package/src/net/protocol/dial/TransactionStatusDialProtocol.ts +33 -0
  48. package/src/net/protocol/index.ts +28 -6
  49. package/src/tasks/AutoUpdateTask.ts +36 -14
  50. package/src/tasks/BaseTask.ts +13 -3
  51. package/src/tasks/{InteropBridge/ProcessWithdrawEvents.ts → InteropXContract/ProcessBridgeRequestEvents.ts} +78 -95
  52. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +116 -0
  53. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +120 -0
  54. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +67 -0
  55. package/src/tasks/index.ts +17 -18
  56. package/src/typechain/InteropXContract.ts +524 -0
  57. package/src/typechain/factories/InteropXContract__factory.ts +533 -0
  58. package/src/typechain/factories/index.ts +1 -2
  59. package/src/typechain/index.ts +2 -4
  60. package/src/utils/index.ts +61 -128
  61. package/tsconfig.json +7 -2
  62. package/dist/src/abi/interopBridgeToken.json +0 -286
  63. package/dist/src/abi/interopXGateway.json +0 -184
  64. package/dist/src/constants/itokens.js +0 -13
  65. package/dist/src/tasks/InteropBridge/ProcessWithdrawEvents.js +0 -147
  66. package/dist/src/tasks/InteropBridge/SyncWithdrawEvents.js +0 -70
  67. package/dist/src/tasks/InteropXGateway/SyncDepositEvents.js +0 -75
  68. package/dist/src/typechain/InteropXGateway.js +0 -2
  69. package/dist/src/typechain/factories/InteropBridgeToken__factory.js +0 -459
  70. package/dist/src/typechain/factories/InteropXGateway__factory.js +0 -265
  71. package/src/abi/interopBridgeToken.json +0 -286
  72. package/src/abi/interopXGateway.json +0 -184
  73. package/src/constants/itokens.ts +0 -10
  74. package/src/tasks/InteropBridge/SyncWithdrawEvents.ts +0 -121
  75. package/src/tasks/InteropXGateway/ProcessDepositEvents.ts +0 -245
  76. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +0 -126
  77. package/src/typechain/InteropBridgeToken.ts +0 -686
  78. package/src/typechain/InteropXGateway.ts +0 -407
  79. package/src/typechain/factories/InteropBridgeToken__factory.ts +0 -466
  80. package/src/typechain/factories/InteropXGateway__factory.ts +0 -272
@@ -0,0 +1,67 @@
1
+ import { BaseTask } from "../BaseTask";
2
+ import Logger from '@/logger';
3
+ import config from "@/config";
4
+ import { peerPool, protocol } from "@/net";
5
+ import { Transaction } from "@/db";
6
+ import { Op } from "sequelize";
7
+
8
+ class SyncTransactionStatusTask extends BaseTask {
9
+ pollIntervalMs: number = 60 * 1000
10
+ exceptLeadNode: boolean = true;
11
+
12
+ constructor() {
13
+ super({
14
+ logger: new Logger("SyncTransactionStatusTask"),
15
+ })
16
+ }
17
+
18
+ async pollHandler() {
19
+ // if transaction is pending for more than 1 hour, check lead node for status
20
+ const leadNode = peerPool.getLeadPeer();
21
+
22
+ if (!leadNode) {
23
+ return;
24
+ }
25
+
26
+ const transaction = await Transaction.findOne({
27
+ where: {
28
+ status: 'pending',
29
+ sourceCreatedAt: {
30
+ [Op.gte]: new Date(Date.now() - 60 * 60 * 1000),
31
+ },
32
+ }
33
+ })
34
+
35
+ if (!transaction) {
36
+ return;
37
+ }
38
+
39
+ this.logger.info(`Requesting transaction status for ${transaction.transactionHash}`)
40
+
41
+ const transactionStatus = await protocol.requestTransactionStatus(transaction.transactionHash, leadNode.id);
42
+
43
+ if (!transactionStatus) {
44
+ return;
45
+ }
46
+
47
+ this.logger.info(`Received transaction status for ${transaction.transactionHash}`)
48
+
49
+ transaction.sourceStatus = transactionStatus.sourceStatus
50
+ transaction.sourceTransactionHash = transactionStatus.sourceTransactionHash
51
+ transaction.sourceErrors = transactionStatus.sourceErrors
52
+ transaction.sourceLogs = transactionStatus.sourceLogs
53
+
54
+ transaction.targetStatus = transactionStatus.targetStatus
55
+ transaction.targetTransactionHash = transactionStatus.targetTransactionHash
56
+ transaction.targetErrors = transactionStatus.targetErrors
57
+ transaction.targetLogs = transactionStatus.targetLogs
58
+
59
+ transaction.status = transactionStatus.status
60
+
61
+ await transaction.save()
62
+
63
+ this.logger.info(`Updated transaction status for ${transaction.transactionHash}`)
64
+ }
65
+ }
66
+
67
+ export default SyncTransactionStatusTask;
@@ -1,38 +1,37 @@
1
1
  import { BaseTask } from "./BaseTask";
2
- import InteropXGatewayProcessDepositEvents from "./InteropXGateway/ProcessDepositEvents";
3
- import InteropXGatewaySyncDepositEvents from "./InteropXGateway/SyncDepositEvents";
2
+ import wait from "waait";
3
+
4
+ import SyncTransactionStatusTask from "./Transactions/SyncTransactionStatusTask";
4
5
 
5
- import InteropBridgeSyncWithdrawEvents from "./InteropBridge/SyncWithdrawEvents";
6
- import InteropBridgeProcessWithdrawEvents from "./InteropBridge/ProcessWithdrawEvents";
7
6
  import AutoUpdateTask from "./AutoUpdateTask";
8
7
 
8
+ import SyncBridgeRequestEvents from "./InteropXContract/SyncBridgeRequestEvents";
9
+ import ProccessBridgeRequestEvents from "./InteropXContract/ProcessBridgeRequestEvents";
10
+ import SyncBridgeRequestSentEvents from "./InteropXContract/SyncBridgeRequestSentEvents";
11
+
9
12
  export class Tasks {
10
-
13
+
11
14
  tasks: BaseTask[] = [
15
+ // new SyncTransactionStatusTask(),
12
16
  new AutoUpdateTask(),
13
17
 
14
- new InteropXGatewaySyncDepositEvents({
15
- chainId: 43114
16
- }),
18
+ // InteropXContract
17
19
 
18
- new InteropXGatewayProcessDepositEvents({
19
- chainId: 43114
20
- }),
20
+ new SyncBridgeRequestEvents({ chainId: 137 }),
21
+ new SyncBridgeRequestEvents({ chainId: 43114 }),
21
22
 
22
- new InteropBridgeSyncWithdrawEvents({
23
- chainId: 137,
24
- itokenAddress: '0xEab02fe1F016eE3e4106c1C6aad35FeEe657268E',
25
- }),
23
+ new SyncBridgeRequestSentEvents({ chainId: 137 }),
24
+ new SyncBridgeRequestSentEvents({ chainId: 43114 }),
26
25
 
27
- new InteropBridgeProcessWithdrawEvents({
28
- chainId: 137,
29
- })
26
+ new ProccessBridgeRequestEvents({ chainId: 137 }),
27
+ new ProccessBridgeRequestEvents({ chainId: 43114 }),
30
28
  ];
31
29
 
32
30
  async start() {
33
31
  for (const task of this.tasks) {
34
32
  try {
35
33
  task.start();
34
+ await wait(1000)
36
35
  } catch (error) {
37
36
  console.error(`Error starting task: ${task.constructor.name}`);
38
37
  }
@@ -0,0 +1,524 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type {
5
+ BaseContract,
6
+ BigNumber,
7
+ BigNumberish,
8
+ BytesLike,
9
+ CallOverrides,
10
+ ContractTransaction,
11
+ Overrides,
12
+ PopulatedTransaction,
13
+ Signer,
14
+ utils,
15
+ } from "ethers";
16
+ import type {
17
+ FunctionFragment,
18
+ Result,
19
+ EventFragment,
20
+ } from "@ethersproject/abi";
21
+ import type { Listener, Provider } from "@ethersproject/providers";
22
+ import type {
23
+ TypedEventFilter,
24
+ TypedEvent,
25
+ TypedListener,
26
+ OnEvent,
27
+ } from "./common";
28
+
29
+ export declare namespace InteropXContractBeta {
30
+ export type TokenInfoStruct = {
31
+ sourceToken: string;
32
+ targetToken: string;
33
+ amount: BigNumberish;
34
+ };
35
+
36
+ export type TokenInfoStructOutput = [string, string, BigNumber] & {
37
+ sourceToken: string;
38
+ targetToken: string;
39
+ amount: BigNumber;
40
+ };
41
+
42
+ export type PositionStruct = {
43
+ supply: InteropXContractBeta.TokenInfoStruct[];
44
+ withdraw: InteropXContractBeta.TokenInfoStruct[];
45
+ };
46
+
47
+ export type PositionStructOutput = [
48
+ InteropXContractBeta.TokenInfoStructOutput[],
49
+ InteropXContractBeta.TokenInfoStructOutput[]
50
+ ] & {
51
+ supply: InteropXContractBeta.TokenInfoStructOutput[];
52
+ withdraw: InteropXContractBeta.TokenInfoStructOutput[];
53
+ };
54
+ }
55
+
56
+ export interface InteropXContractInterface extends utils.Interface {
57
+ functions: {
58
+ "_vnonce()": FunctionFragment;
59
+ "completeBridge(address,address,address,uint256,uint32,bytes32,bytes)": FunctionFragment;
60
+ "requestWithdraw(address,address,uint256,uint32,bytes)": FunctionFragment;
61
+ "whitelistedMapping(address)": FunctionFragment;
62
+ "withdrawRequested(address,address,address,uint256,uint32,bytes32,bytes)": FunctionFragment;
63
+ };
64
+
65
+ getFunction(
66
+ nameOrSignatureOrTopic:
67
+ | "_vnonce"
68
+ | "completeBridge"
69
+ | "requestWithdraw"
70
+ | "whitelistedMapping"
71
+ | "withdrawRequested"
72
+ ): FunctionFragment;
73
+
74
+ encodeFunctionData(functionFragment: "_vnonce", values?: undefined): string;
75
+ encodeFunctionData(
76
+ functionFragment: "completeBridge",
77
+ values: [
78
+ string,
79
+ string,
80
+ string,
81
+ BigNumberish,
82
+ BigNumberish,
83
+ BytesLike,
84
+ BytesLike
85
+ ]
86
+ ): string;
87
+ encodeFunctionData(
88
+ functionFragment: "requestWithdraw",
89
+ values: [string, string, BigNumberish, BigNumberish, BytesLike]
90
+ ): string;
91
+ encodeFunctionData(
92
+ functionFragment: "whitelistedMapping",
93
+ values: [string]
94
+ ): string;
95
+ encodeFunctionData(
96
+ functionFragment: "withdrawRequested",
97
+ values: [
98
+ string,
99
+ string,
100
+ string,
101
+ BigNumberish,
102
+ BigNumberish,
103
+ BytesLike,
104
+ BytesLike
105
+ ]
106
+ ): string;
107
+
108
+ decodeFunctionResult(functionFragment: "_vnonce", data: BytesLike): Result;
109
+ decodeFunctionResult(
110
+ functionFragment: "completeBridge",
111
+ data: BytesLike
112
+ ): Result;
113
+ decodeFunctionResult(
114
+ functionFragment: "requestWithdraw",
115
+ data: BytesLike
116
+ ): Result;
117
+ decodeFunctionResult(
118
+ functionFragment: "whitelistedMapping",
119
+ data: BytesLike
120
+ ): Result;
121
+ decodeFunctionResult(
122
+ functionFragment: "withdrawRequested",
123
+ data: BytesLike
124
+ ): Result;
125
+
126
+ events: {
127
+ "LogBridgeCommitted(address,tuple,uint32,uint32,bytes32,bytes)": EventFragment;
128
+ "LogBridgeCompleted(address,tuple,uint256,uint256,bytes32,bytes32,bytes)": EventFragment;
129
+ "LogBridgeRequest(address,tuple,uint256,uint256,bytes)": EventFragment;
130
+ "LogBridgeRequestSent(address,tuple,uint32,uint32,bytes32,bytes)": EventFragment;
131
+ };
132
+
133
+ getEvent(nameOrSignatureOrTopic: "LogBridgeCommitted"): EventFragment;
134
+ getEvent(nameOrSignatureOrTopic: "LogBridgeCompleted"): EventFragment;
135
+ getEvent(nameOrSignatureOrTopic: "LogBridgeRequest"): EventFragment;
136
+ getEvent(nameOrSignatureOrTopic: "LogBridgeRequestSent"): EventFragment;
137
+ }
138
+
139
+ export interface LogBridgeCommittedEventObject {
140
+ bridger: string;
141
+ position: InteropXContractBeta.PositionStructOutput;
142
+ sourceChainId: number;
143
+ targetChainId: number;
144
+ requestTransactionHash: string;
145
+ metadata: string;
146
+ }
147
+ export type LogBridgeCommittedEvent = TypedEvent<
148
+ [
149
+ string,
150
+ InteropXContractBeta.PositionStructOutput,
151
+ number,
152
+ number,
153
+ string,
154
+ string
155
+ ],
156
+ LogBridgeCommittedEventObject
157
+ >;
158
+
159
+ export type LogBridgeCommittedEventFilter =
160
+ TypedEventFilter<LogBridgeCommittedEvent>;
161
+
162
+ export interface LogBridgeCompletedEventObject {
163
+ bridger: string;
164
+ position: InteropXContractBeta.PositionStructOutput;
165
+ sourceChainId: BigNumber;
166
+ targetChainId: BigNumber;
167
+ requestTransactionHash: string;
168
+ targetCommittedTransactionHash: string;
169
+ metadata: string;
170
+ }
171
+ export type LogBridgeCompletedEvent = TypedEvent<
172
+ [
173
+ string,
174
+ InteropXContractBeta.PositionStructOutput,
175
+ BigNumber,
176
+ BigNumber,
177
+ string,
178
+ string,
179
+ string
180
+ ],
181
+ LogBridgeCompletedEventObject
182
+ >;
183
+
184
+ export type LogBridgeCompletedEventFilter =
185
+ TypedEventFilter<LogBridgeCompletedEvent>;
186
+
187
+ export interface LogBridgeRequestEventObject {
188
+ bridger: string;
189
+ position: InteropXContractBeta.PositionStructOutput;
190
+ sourceChainId: BigNumber;
191
+ targetChainId: BigNumber;
192
+ metadata: string;
193
+ }
194
+ export type LogBridgeRequestEvent = TypedEvent<
195
+ [
196
+ string,
197
+ InteropXContractBeta.PositionStructOutput,
198
+ BigNumber,
199
+ BigNumber,
200
+ string
201
+ ],
202
+ LogBridgeRequestEventObject
203
+ >;
204
+
205
+ export type LogBridgeRequestEventFilter =
206
+ TypedEventFilter<LogBridgeRequestEvent>;
207
+
208
+ export interface LogBridgeRequestSentEventObject {
209
+ bridger: string;
210
+ position: InteropXContractBeta.PositionStructOutput;
211
+ sourceChainId: number;
212
+ targetChainId: number;
213
+ requestTransactionHash: string;
214
+ metadata: string;
215
+ }
216
+ export type LogBridgeRequestSentEvent = TypedEvent<
217
+ [
218
+ string,
219
+ InteropXContractBeta.PositionStructOutput,
220
+ number,
221
+ number,
222
+ string,
223
+ string
224
+ ],
225
+ LogBridgeRequestSentEventObject
226
+ >;
227
+
228
+ export type LogBridgeRequestSentEventFilter =
229
+ TypedEventFilter<LogBridgeRequestSentEvent>;
230
+
231
+ export interface InteropXContract extends BaseContract {
232
+ connect(signerOrProvider: Signer | Provider | string): this;
233
+ attach(addressOrName: string): this;
234
+ deployed(): Promise<this>;
235
+
236
+ interface: InteropXContractInterface;
237
+
238
+ queryFilter<TEvent extends TypedEvent>(
239
+ event: TypedEventFilter<TEvent>,
240
+ fromBlockOrBlockhash?: string | number | undefined,
241
+ toBlock?: string | number | undefined
242
+ ): Promise<Array<TEvent>>;
243
+
244
+ listeners<TEvent extends TypedEvent>(
245
+ eventFilter?: TypedEventFilter<TEvent>
246
+ ): Array<TypedListener<TEvent>>;
247
+ listeners(eventName?: string): Array<Listener>;
248
+ removeAllListeners<TEvent extends TypedEvent>(
249
+ eventFilter: TypedEventFilter<TEvent>
250
+ ): this;
251
+ removeAllListeners(eventName?: string): this;
252
+ off: OnEvent<this>;
253
+ on: OnEvent<this>;
254
+ once: OnEvent<this>;
255
+ removeListener: OnEvent<this>;
256
+
257
+ functions: {
258
+ _vnonce(overrides?: CallOverrides): Promise<[BigNumber]>;
259
+
260
+ completeBridge(
261
+ to_: string,
262
+ sourceToken_: string,
263
+ targetToken_: string,
264
+ amount_: BigNumberish,
265
+ targetChainId_: BigNumberish,
266
+ transactionHash_: BytesLike,
267
+ metadata_: BytesLike,
268
+ overrides?: Overrides & { from?: string | Promise<string> }
269
+ ): Promise<ContractTransaction>;
270
+
271
+ requestWithdraw(
272
+ sourceToken_: string,
273
+ targetToken_: string,
274
+ amount_: BigNumberish,
275
+ targetChainId_: BigNumberish,
276
+ metadata_: BytesLike,
277
+ overrides?: Overrides & { from?: string | Promise<string> }
278
+ ): Promise<ContractTransaction>;
279
+
280
+ whitelistedMapping(
281
+ arg0: string,
282
+ overrides?: CallOverrides
283
+ ): Promise<[BigNumber]>;
284
+
285
+ withdrawRequested(
286
+ user_: string,
287
+ sourceToken_: string,
288
+ targetToken_: string,
289
+ amount_: BigNumberish,
290
+ chainId_: BigNumberish,
291
+ transactionHash_: BytesLike,
292
+ metadata_: BytesLike,
293
+ overrides?: Overrides & { from?: string | Promise<string> }
294
+ ): Promise<ContractTransaction>;
295
+ };
296
+
297
+ _vnonce(overrides?: CallOverrides): Promise<BigNumber>;
298
+
299
+ completeBridge(
300
+ to_: string,
301
+ sourceToken_: string,
302
+ targetToken_: string,
303
+ amount_: BigNumberish,
304
+ targetChainId_: BigNumberish,
305
+ transactionHash_: BytesLike,
306
+ metadata_: BytesLike,
307
+ overrides?: Overrides & { from?: string | Promise<string> }
308
+ ): Promise<ContractTransaction>;
309
+
310
+ requestWithdraw(
311
+ sourceToken_: string,
312
+ targetToken_: string,
313
+ amount_: BigNumberish,
314
+ targetChainId_: BigNumberish,
315
+ metadata_: BytesLike,
316
+ overrides?: Overrides & { from?: string | Promise<string> }
317
+ ): Promise<ContractTransaction>;
318
+
319
+ whitelistedMapping(
320
+ arg0: string,
321
+ overrides?: CallOverrides
322
+ ): Promise<BigNumber>;
323
+
324
+ withdrawRequested(
325
+ user_: string,
326
+ sourceToken_: string,
327
+ targetToken_: string,
328
+ amount_: BigNumberish,
329
+ chainId_: BigNumberish,
330
+ transactionHash_: BytesLike,
331
+ metadata_: BytesLike,
332
+ overrides?: Overrides & { from?: string | Promise<string> }
333
+ ): Promise<ContractTransaction>;
334
+
335
+ callStatic: {
336
+ _vnonce(overrides?: CallOverrides): Promise<BigNumber>;
337
+
338
+ completeBridge(
339
+ to_: string,
340
+ sourceToken_: string,
341
+ targetToken_: string,
342
+ amount_: BigNumberish,
343
+ targetChainId_: BigNumberish,
344
+ transactionHash_: BytesLike,
345
+ metadata_: BytesLike,
346
+ overrides?: CallOverrides
347
+ ): Promise<void>;
348
+
349
+ requestWithdraw(
350
+ sourceToken_: string,
351
+ targetToken_: string,
352
+ amount_: BigNumberish,
353
+ targetChainId_: BigNumberish,
354
+ metadata_: BytesLike,
355
+ overrides?: CallOverrides
356
+ ): Promise<void>;
357
+
358
+ whitelistedMapping(
359
+ arg0: string,
360
+ overrides?: CallOverrides
361
+ ): Promise<BigNumber>;
362
+
363
+ withdrawRequested(
364
+ user_: string,
365
+ sourceToken_: string,
366
+ targetToken_: string,
367
+ amount_: BigNumberish,
368
+ chainId_: BigNumberish,
369
+ transactionHash_: BytesLike,
370
+ metadata_: BytesLike,
371
+ overrides?: CallOverrides
372
+ ): Promise<void>;
373
+ };
374
+
375
+ filters: {
376
+ "LogBridgeCommitted(address,tuple,uint32,uint32,bytes32,bytes)"(
377
+ bridger?: string | null,
378
+ position?: null,
379
+ sourceChainId?: BigNumberish | null,
380
+ targetChainId?: null,
381
+ requestTransactionHash?: BytesLike | null,
382
+ metadata?: null
383
+ ): LogBridgeCommittedEventFilter;
384
+ LogBridgeCommitted(
385
+ bridger?: string | null,
386
+ position?: null,
387
+ sourceChainId?: BigNumberish | null,
388
+ targetChainId?: null,
389
+ requestTransactionHash?: BytesLike | null,
390
+ metadata?: null
391
+ ): LogBridgeCommittedEventFilter;
392
+
393
+ "LogBridgeCompleted(address,tuple,uint256,uint256,bytes32,bytes32,bytes)"(
394
+ bridger?: string | null,
395
+ position?: null,
396
+ sourceChainId?: null,
397
+ targetChainId?: BigNumberish | null,
398
+ requestTransactionHash?: BytesLike | null,
399
+ targetCommittedTransactionHash?: null,
400
+ metadata?: null
401
+ ): LogBridgeCompletedEventFilter;
402
+ LogBridgeCompleted(
403
+ bridger?: string | null,
404
+ position?: null,
405
+ sourceChainId?: null,
406
+ targetChainId?: BigNumberish | null,
407
+ requestTransactionHash?: BytesLike | null,
408
+ targetCommittedTransactionHash?: null,
409
+ metadata?: null
410
+ ): LogBridgeCompletedEventFilter;
411
+
412
+ "LogBridgeRequest(address,tuple,uint256,uint256,bytes)"(
413
+ bridger?: string | null,
414
+ position?: null,
415
+ sourceChainId?: null,
416
+ targetChainId?: BigNumberish | null,
417
+ metadata?: null
418
+ ): LogBridgeRequestEventFilter;
419
+ LogBridgeRequest(
420
+ bridger?: string | null,
421
+ position?: null,
422
+ sourceChainId?: null,
423
+ targetChainId?: BigNumberish | null,
424
+ metadata?: null
425
+ ): LogBridgeRequestEventFilter;
426
+
427
+ "LogBridgeRequestSent(address,tuple,uint32,uint32,bytes32,bytes)"(
428
+ bridger?: string | null,
429
+ position?: null,
430
+ sourceChainId?: null,
431
+ targetChainId?: BigNumberish | null,
432
+ requestTransactionHash?: BytesLike | null,
433
+ metadata?: null
434
+ ): LogBridgeRequestSentEventFilter;
435
+ LogBridgeRequestSent(
436
+ bridger?: string | null,
437
+ position?: null,
438
+ sourceChainId?: null,
439
+ targetChainId?: BigNumberish | null,
440
+ requestTransactionHash?: BytesLike | null,
441
+ metadata?: null
442
+ ): LogBridgeRequestSentEventFilter;
443
+ };
444
+
445
+ estimateGas: {
446
+ _vnonce(overrides?: CallOverrides): Promise<BigNumber>;
447
+
448
+ completeBridge(
449
+ to_: string,
450
+ sourceToken_: string,
451
+ targetToken_: string,
452
+ amount_: BigNumberish,
453
+ targetChainId_: BigNumberish,
454
+ transactionHash_: BytesLike,
455
+ metadata_: BytesLike,
456
+ overrides?: Overrides & { from?: string | Promise<string> }
457
+ ): Promise<BigNumber>;
458
+
459
+ requestWithdraw(
460
+ sourceToken_: string,
461
+ targetToken_: string,
462
+ amount_: BigNumberish,
463
+ targetChainId_: BigNumberish,
464
+ metadata_: BytesLike,
465
+ overrides?: Overrides & { from?: string | Promise<string> }
466
+ ): Promise<BigNumber>;
467
+
468
+ whitelistedMapping(
469
+ arg0: string,
470
+ overrides?: CallOverrides
471
+ ): Promise<BigNumber>;
472
+
473
+ withdrawRequested(
474
+ user_: string,
475
+ sourceToken_: string,
476
+ targetToken_: string,
477
+ amount_: BigNumberish,
478
+ chainId_: BigNumberish,
479
+ transactionHash_: BytesLike,
480
+ metadata_: BytesLike,
481
+ overrides?: Overrides & { from?: string | Promise<string> }
482
+ ): Promise<BigNumber>;
483
+ };
484
+
485
+ populateTransaction: {
486
+ _vnonce(overrides?: CallOverrides): Promise<PopulatedTransaction>;
487
+
488
+ completeBridge(
489
+ to_: string,
490
+ sourceToken_: string,
491
+ targetToken_: string,
492
+ amount_: BigNumberish,
493
+ targetChainId_: BigNumberish,
494
+ transactionHash_: BytesLike,
495
+ metadata_: BytesLike,
496
+ overrides?: Overrides & { from?: string | Promise<string> }
497
+ ): Promise<PopulatedTransaction>;
498
+
499
+ requestWithdraw(
500
+ sourceToken_: string,
501
+ targetToken_: string,
502
+ amount_: BigNumberish,
503
+ targetChainId_: BigNumberish,
504
+ metadata_: BytesLike,
505
+ overrides?: Overrides & { from?: string | Promise<string> }
506
+ ): Promise<PopulatedTransaction>;
507
+
508
+ whitelistedMapping(
509
+ arg0: string,
510
+ overrides?: CallOverrides
511
+ ): Promise<PopulatedTransaction>;
512
+
513
+ withdrawRequested(
514
+ user_: string,
515
+ sourceToken_: string,
516
+ targetToken_: string,
517
+ amount_: BigNumberish,
518
+ chainId_: BigNumberish,
519
+ transactionHash_: BytesLike,
520
+ metadata_: BytesLike,
521
+ overrides?: Overrides & { from?: string | Promise<string> }
522
+ ): Promise<PopulatedTransaction>;
523
+ };
524
+ }