@instadapp/interop-x 0.0.0-dev.a775e30 → 0.0.0-dev.a861339

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 (70) hide show
  1. package/dist/package.json +2 -2
  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 +3 -0
  6. package/dist/src/constants/addresses.js +3 -3
  7. package/dist/src/constants/index.js +0 -1
  8. package/dist/src/db/models/transaction.js +27 -9
  9. package/dist/src/gnosis/actions/index.js +9 -0
  10. package/dist/src/gnosis/actions/withdraw/index.js +41 -0
  11. package/dist/src/gnosis/index.js +20 -0
  12. package/dist/src/index.js +7 -18
  13. package/dist/src/net/protocol/dial/SignatureDialProtocol.js +9 -10
  14. package/dist/src/net/protocol/dial/{SignatureDialProtocol.1.js → TransactionStatusDialProtocol.js} +2 -0
  15. package/dist/src/net/protocol/index.js +17 -7
  16. package/dist/src/tasks/{InteropXGateway/ProcessDepositEvents.js → InteropXContract/ProcessBridgeRequestEvents.js} +49 -51
  17. package/dist/src/tasks/InteropXContract/SyncBridgeRequestEvents.js +78 -0
  18. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +80 -0
  19. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +2 -0
  20. package/dist/src/tasks/index.js +13 -19
  21. package/dist/src/typechain/{InteropBridgeToken.js → InteropXContract.js} +0 -0
  22. package/dist/src/typechain/factories/InteropXContract__factory.js +526 -0
  23. package/dist/src/typechain/factories/index.js +3 -5
  24. package/dist/src/typechain/index.js +3 -5
  25. package/dist/src/utils/index.js +14 -84
  26. package/package.json +2 -2
  27. package/src/abi/index.ts +2 -4
  28. package/src/abi/interopXContract.json +391 -0
  29. package/src/alias.ts +6 -0
  30. package/src/api/index.ts +3 -0
  31. package/src/constants/addresses.ts +3 -3
  32. package/src/constants/index.ts +0 -1
  33. package/src/db/models/transaction.ts +66 -21
  34. package/src/gnosis/actions/index.ts +5 -0
  35. package/src/gnosis/actions/withdraw/index.ts +56 -0
  36. package/src/gnosis/index.ts +19 -0
  37. package/src/index.ts +6 -17
  38. package/src/net/protocol/dial/SignatureDialProtocol.ts +11 -13
  39. package/src/net/protocol/dial/{SignatureDialProtocol.1.ts → TransactionStatusDialProtocol.ts} +3 -1
  40. package/src/net/protocol/index.ts +17 -7
  41. package/src/tasks/{InteropBridge/ProcessWithdrawEvents.ts → InteropXContract/ProcessBridgeRequestEvents.ts} +75 -95
  42. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +116 -0
  43. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +112 -0
  44. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +2 -0
  45. package/src/tasks/index.ts +17 -20
  46. package/src/typechain/InteropXContract.ts +524 -0
  47. package/src/typechain/factories/InteropXContract__factory.ts +533 -0
  48. package/src/typechain/factories/index.ts +1 -2
  49. package/src/typechain/index.ts +2 -4
  50. package/src/utils/index.ts +46 -125
  51. package/tsconfig.json +7 -2
  52. package/dist/src/abi/interopBridgeToken.json +0 -286
  53. package/dist/src/abi/interopXGateway.json +0 -184
  54. package/dist/src/constants/itokens.js +0 -13
  55. package/dist/src/tasks/InteropBridge/ProcessWithdrawEvents.js +0 -146
  56. package/dist/src/tasks/InteropBridge/SyncWithdrawEvents.js +0 -69
  57. package/dist/src/tasks/InteropXGateway/SyncDepositEvents.js +0 -74
  58. package/dist/src/typechain/InteropXGateway.js +0 -2
  59. package/dist/src/typechain/factories/InteropBridgeToken__factory.js +0 -459
  60. package/dist/src/typechain/factories/InteropXGateway__factory.js +0 -265
  61. package/src/abi/interopBridgeToken.json +0 -286
  62. package/src/abi/interopXGateway.json +0 -184
  63. package/src/constants/itokens.ts +0 -10
  64. package/src/tasks/InteropBridge/SyncWithdrawEvents.ts +0 -119
  65. package/src/tasks/InteropXGateway/ProcessDepositEvents.ts +0 -243
  66. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +0 -124
  67. package/src/typechain/InteropBridgeToken.ts +0 -686
  68. package/src/typechain/InteropXGateway.ts +0 -407
  69. package/src/typechain/factories/InteropBridgeToken__factory.ts +0 -466
  70. package/src/typechain/factories/InteropXGateway__factory.ts +0 -272
@@ -0,0 +1,112 @@
1
+ import { BaseTask } from "../BaseTask";
2
+ import Logger from '@/logger';
3
+ import { ethers } from "ethers";
4
+ import abi from "@/abi";
5
+ import { Transaction } from "@/db";
6
+ import { generateInteropTransactionHash, getContract, getRpcProviderUrl } from "@/utils";
7
+ import { addresses } from "@/constants";
8
+ import { ChainId } from "@/types";
9
+ import config from "@/config";
10
+ import { InteropXContract } from "@/typechain";
11
+
12
+ class SyncBridgeRequestSentEvents extends BaseTask {
13
+ contractAddress: string;
14
+ provider: ethers.providers.JsonRpcProvider;
15
+ contract: InteropXContract;
16
+ chainId: ChainId;
17
+
18
+ constructor({ chainId }: { chainId: ChainId }) {
19
+ super({
20
+ logger: new Logger("InteropXContract::SyncBridgeRequestSentEvents"),
21
+ })
22
+ this.chainId = chainId;
23
+ }
24
+
25
+ async pollHandler() {
26
+ const currentBlock = await this.provider.getBlockNumber();
27
+
28
+ const events = await this.contract.queryFilter(
29
+ this.contract.filters.LogBridgeRequestSent(),
30
+ currentBlock - 2000,
31
+ currentBlock,
32
+ );
33
+
34
+ let processedEvents = 0;
35
+
36
+ for (const event of events) {
37
+
38
+ try {
39
+ if (!event.args) {
40
+ continue;
41
+ }
42
+
43
+ const { bridger, position, sourceChainId, targetChainId, requestTransactionHash, metadata } = event.args;
44
+
45
+ const uniqueIdentifier = {
46
+ action: 'withdraw',
47
+ bridger,
48
+ requestTransactionHash,
49
+ sourceChainId: sourceChainId,
50
+ targetChainId: targetChainId,
51
+ }
52
+
53
+ let transactionHash = generateInteropTransactionHash(uniqueIdentifier);
54
+
55
+ const transaction = await Transaction.findOne({ where: { transactionHash } });
56
+
57
+ if (! transaction) {
58
+ continue;
59
+ }
60
+
61
+ transaction.sourceStatus = 'success'
62
+ transaction.requestSentEvent = {
63
+ bridger,
64
+ position: {
65
+ withdraw: position.withdraw.map((v) => ({
66
+ sourceToken: v.sourceToken,
67
+ targetToken: v.targetToken,
68
+ amount: v.amount.toString()
69
+ })),
70
+ supply: position.supply.map((v) => ({
71
+ sourceToken: v.sourceToken,
72
+ targetToken: v.targetToken,
73
+ amount: v.amount.toString()
74
+ })),
75
+ },
76
+ sourceChainId: sourceChainId,
77
+ targetChainId: targetChainId,
78
+ metadata,
79
+ requestTransactionHash,
80
+ }
81
+ await transaction.save()
82
+
83
+ this.logger.info(
84
+ `New bridge reques sent received: ${transactionHash} `
85
+ );
86
+ } catch (error) {
87
+ this.logger.error(error);
88
+ }
89
+ }
90
+
91
+ if (processedEvents > 0)
92
+ this.logger.info(`${processedEvents} events processed`);
93
+ }
94
+
95
+ async start(): Promise<void> {
96
+ this.contractAddress = addresses[this.chainId].interopXContract;
97
+
98
+ this.provider = new ethers.providers.JsonRpcProvider(
99
+ getRpcProviderUrl(this.chainId)
100
+ );
101
+
102
+ this.contract = getContract<InteropXContract>(
103
+ this.contractAddress,
104
+ abi.interopXContract,
105
+ new ethers.Wallet(config.privateKey!, this.provider)
106
+ );
107
+
108
+ await super.start()
109
+ }
110
+ }
111
+
112
+ export default SyncBridgeRequestSentEvents;
@@ -49,10 +49,12 @@ class SyncTransactionStatusTask extends BaseTask {
49
49
  transaction.sourceStatus = transactionStatus.sourceStatus
50
50
  transaction.sourceTransactionHash = transactionStatus.sourceTransactionHash
51
51
  transaction.sourceErrors = transactionStatus.sourceErrors
52
+ transaction.sourceLogs = transactionStatus.sourceLogs
52
53
 
53
54
  transaction.targetStatus = transactionStatus.targetStatus
54
55
  transaction.targetTransactionHash = transactionStatus.targetTransactionHash
55
56
  transaction.targetErrors = transactionStatus.targetErrors
57
+ transaction.targetLogs = transactionStatus.targetLogs
56
58
 
57
59
  transaction.status = transactionStatus.status
58
60
 
@@ -1,40 +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";
4
3
 
5
- import InteropBridgeSyncWithdrawEvents from "./InteropBridge/SyncWithdrawEvents";
6
- import InteropBridgeProcessWithdrawEvents from "./InteropBridge/ProcessWithdrawEvents";
7
- import AutoUpdateTask from "./AutoUpdateTask";
8
4
  import SyncTransactionStatusTask from "./Transactions/SyncTransactionStatusTask";
9
5
 
6
+ import AutoUpdateTask from "./AutoUpdateTask";
7
+
8
+ import SyncBridgeRequestEvents from "./InteropXContract/SyncBridgeRequestEvents";
9
+ import ProccessBridgeRequestEvents from "./InteropXContract/ProcessBridgeRequestEvents";
10
+ import SyncBridgeRequestSentEvents from "./InteropXContract/SyncBridgeRequestSentEvents";
11
+
10
12
  export class Tasks {
11
-
13
+
12
14
  tasks: BaseTask[] = [
13
- new SyncTransactionStatusTask(),
15
+ // new SyncTransactionStatusTask(),
14
16
  new AutoUpdateTask(),
15
17
 
16
- new InteropXGatewaySyncDepositEvents({
17
- chainId: 43114
18
- }),
18
+ // InteropXContract
19
19
 
20
- new InteropXGatewayProcessDepositEvents({
21
- chainId: 43114
22
- }),
20
+ new SyncBridgeRequestEvents({ chainId: 137 }),
21
+ new SyncBridgeRequestEvents({ chainId: 43114 }),
23
22
 
24
- new InteropBridgeSyncWithdrawEvents({
25
- chainId: 137,
26
- itokenAddress: '0xEab02fe1F016eE3e4106c1C6aad35FeEe657268E',
27
- }),
23
+ new ProccessBridgeRequestEvents({ chainId: 137 }),
24
+ new ProccessBridgeRequestEvents({ chainId: 43114 }),
28
25
 
29
- new InteropBridgeProcessWithdrawEvents({
30
- chainId: 137,
31
- })
26
+ new SyncBridgeRequestSentEvents({ chainId: 137 }),
27
+ new SyncBridgeRequestSentEvents({ chainId: 43114 }),
32
28
  ];
33
29
 
34
30
  async start() {
35
31
  for (const task of this.tasks) {
36
32
  try {
37
33
  task.start();
34
+ await wait(1000)
38
35
  } catch (error) {
39
36
  console.error(`Error starting task: ${task.constructor.name}`);
40
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
+ }