@instadapp/interop-x 0.0.0-dev.67e7c3a → 0.0.0-dev.6a2c9c4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. package/dist/package.json +16 -14
  2. package/dist/src/abi/index.js +2 -4
  3. package/dist/src/abi/interopXContract.json +454 -0
  4. package/dist/src/alias.js +10 -0
  5. package/dist/src/api/index.js +6 -3
  6. package/dist/src/config/index.js +10 -1
  7. package/dist/src/constants/addresses.js +7 -7
  8. package/dist/src/constants/index.js +0 -1
  9. package/dist/src/constants/tokens.js +62 -39
  10. package/dist/src/db/models/transaction.js +27 -11
  11. package/dist/src/gnosis/actions/index.js +9 -0
  12. package/dist/src/gnosis/actions/withdraw/index.js +115 -0
  13. package/dist/src/gnosis/index.js +20 -0
  14. package/dist/src/index.js +39 -23
  15. package/dist/src/net/peer/index.js +2 -1
  16. package/dist/src/net/pool/index.js +7 -2
  17. package/dist/src/net/protocol/dial/SignatureDialProtocol.js +9 -10
  18. package/dist/src/net/protocol/dial/TransactionStatusDialProtocol.js +30 -0
  19. package/dist/src/net/protocol/index.js +26 -5
  20. package/dist/src/tasks/AutoUpdateTask.js +42 -16
  21. package/dist/src/tasks/BaseTask.js +11 -3
  22. package/dist/src/tasks/{InteropXGateway/ProcessDepositEvents.js → InteropXContract/ProcessBridgeRequestEvents.js} +61 -53
  23. package/dist/src/tasks/InteropXContract/SyncBridgeCommittedEvents.js +93 -0
  24. package/dist/src/tasks/InteropXContract/SyncBridgeRequestEvents.js +78 -0
  25. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +90 -0
  26. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +57 -0
  27. package/dist/src/tasks/index.js +16 -17
  28. package/dist/src/typechain/{InteropBridgeToken.js → InteropXContract.js} +0 -0
  29. package/dist/src/typechain/factories/InteropXContract__factory.js +635 -0
  30. package/dist/src/typechain/factories/index.js +3 -5
  31. package/dist/src/typechain/index.js +3 -5
  32. package/dist/src/utils/index.js +57 -92
  33. package/package.json +16 -14
  34. package/src/abi/index.ts +2 -4
  35. package/src/abi/interopXContract.json +454 -0
  36. package/src/alias.ts +6 -0
  37. package/src/api/index.ts +5 -2
  38. package/src/config/index.ts +9 -1
  39. package/src/constants/addresses.ts +8 -8
  40. package/src/constants/index.ts +0 -1
  41. package/src/constants/tokens.ts +63 -40
  42. package/src/db/models/transaction.ts +76 -27
  43. package/src/gnosis/actions/index.ts +5 -0
  44. package/src/gnosis/actions/withdraw/index.ts +155 -0
  45. package/src/gnosis/index.ts +19 -0
  46. package/src/index.ts +52 -25
  47. package/src/net/peer/index.ts +2 -1
  48. package/src/net/pool/index.ts +7 -3
  49. package/src/net/protocol/dial/SignatureDialProtocol.ts +11 -13
  50. package/src/net/protocol/dial/TransactionStatusDialProtocol.ts +33 -0
  51. package/src/net/protocol/index.ts +28 -6
  52. package/src/tasks/AutoUpdateTask.ts +48 -20
  53. package/src/tasks/BaseTask.ts +13 -3
  54. package/src/tasks/{InteropBridge/ProcessWithdrawEvents.ts → InteropXContract/ProcessBridgeRequestEvents.ts} +88 -95
  55. package/src/tasks/InteropXContract/SyncBridgeCommittedEvents.ts +125 -0
  56. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +115 -0
  57. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +121 -0
  58. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +69 -0
  59. package/src/tasks/index.ts +21 -18
  60. package/src/typechain/InteropXContract.ts +680 -0
  61. package/src/typechain/factories/InteropXContract__factory.ts +642 -0
  62. package/src/typechain/factories/index.ts +1 -2
  63. package/src/typechain/index.ts +2 -4
  64. package/src/utils/index.ts +97 -129
  65. package/tsconfig.json +7 -2
  66. package/dist/src/abi/interopBridgeToken.json +0 -286
  67. package/dist/src/abi/interopXGateway.json +0 -184
  68. package/dist/src/constants/itokens.js +0 -13
  69. package/dist/src/tasks/InteropBridge/ProcessWithdrawEvents.js +0 -147
  70. package/dist/src/tasks/InteropBridge/SyncWithdrawEvents.js +0 -70
  71. package/dist/src/tasks/InteropXGateway/SyncDepositEvents.js +0 -75
  72. package/dist/src/typechain/InteropXGateway.js +0 -2
  73. package/dist/src/typechain/factories/InteropBridgeToken__factory.js +0 -459
  74. package/dist/src/typechain/factories/InteropXGateway__factory.js +0 -265
  75. package/src/abi/interopBridgeToken.json +0 -286
  76. package/src/abi/interopXGateway.json +0 -184
  77. package/src/constants/itokens.ts +0 -10
  78. package/src/tasks/InteropBridge/SyncWithdrawEvents.ts +0 -121
  79. package/src/tasks/InteropXGateway/ProcessDepositEvents.ts +0 -245
  80. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +0 -126
  81. package/src/typechain/InteropBridgeToken.ts +0 -686
  82. package/src/typechain/InteropXGateway.ts +0 -407
  83. package/src/typechain/factories/InteropBridgeToken__factory.ts +0 -466
  84. package/src/typechain/factories/InteropXGateway__factory.ts +0 -272
@@ -1,184 +0,0 @@
1
- [
2
- {
3
- "inputs": [
4
- { "internalType": "address", "name": "__owner", "type": "address" }
5
- ],
6
- "stateMutability": "nonpayable",
7
- "type": "constructor"
8
- },
9
- {
10
- "anonymous": false,
11
- "inputs": [
12
- {
13
- "indexed": false,
14
- "internalType": "address",
15
- "name": "user",
16
- "type": "address"
17
- },
18
- {
19
- "indexed": true,
20
- "internalType": "address",
21
- "name": "token",
22
- "type": "address"
23
- },
24
- {
25
- "indexed": false,
26
- "internalType": "uint256",
27
- "name": "amount",
28
- "type": "uint256"
29
- },
30
- {
31
- "indexed": true,
32
- "internalType": "uint256",
33
- "name": "vnonce",
34
- "type": "uint256"
35
- },
36
- {
37
- "indexed": false,
38
- "internalType": "uint256",
39
- "name": "sourceChainId",
40
- "type": "uint256"
41
- },
42
- {
43
- "indexed": true,
44
- "internalType": "uint256",
45
- "name": "targetChainId",
46
- "type": "uint256"
47
- }
48
- ],
49
- "name": "LogGatewayDeposit",
50
- "type": "event"
51
- },
52
- {
53
- "anonymous": false,
54
- "inputs": [
55
- {
56
- "indexed": false,
57
- "internalType": "address",
58
- "name": "user",
59
- "type": "address"
60
- },
61
- {
62
- "indexed": true,
63
- "internalType": "address",
64
- "name": "token",
65
- "type": "address"
66
- },
67
- {
68
- "indexed": false,
69
- "internalType": "uint256",
70
- "name": "amount",
71
- "type": "uint256"
72
- },
73
- {
74
- "indexed": true,
75
- "internalType": "uint256",
76
- "name": "sourceChainId",
77
- "type": "uint256"
78
- },
79
- {
80
- "indexed": false,
81
- "internalType": "uint256",
82
- "name": "targetChainId",
83
- "type": "uint256"
84
- },
85
- {
86
- "indexed": true,
87
- "internalType": "bytes32",
88
- "name": "transactionHash",
89
- "type": "bytes32"
90
- }
91
- ],
92
- "name": "LogGatewayWithdraw",
93
- "type": "event"
94
- },
95
- {
96
- "anonymous": false,
97
- "inputs": [
98
- {
99
- "indexed": true,
100
- "internalType": "address",
101
- "name": "previousOwner",
102
- "type": "address"
103
- },
104
- {
105
- "indexed": true,
106
- "internalType": "address",
107
- "name": "newOwner",
108
- "type": "address"
109
- }
110
- ],
111
- "name": "OwnershipTransferred",
112
- "type": "event"
113
- },
114
- {
115
- "inputs": [],
116
- "name": "_vnonce",
117
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
118
- "stateMutability": "view",
119
- "type": "function"
120
- },
121
- {
122
- "inputs": [
123
- { "internalType": "address", "name": "token_", "type": "address" },
124
- { "internalType": "uint256", "name": "amount_", "type": "uint256" },
125
- { "internalType": "uint256", "name": "chainId_", "type": "uint256" }
126
- ],
127
- "name": "deposit",
128
- "outputs": [],
129
- "stateMutability": "nonpayable",
130
- "type": "function"
131
- },
132
- {
133
- "inputs": [
134
- { "internalType": "address", "name": "to_", "type": "address" },
135
- { "internalType": "address", "name": "token_", "type": "address" },
136
- { "internalType": "uint256", "name": "amount_", "type": "uint256" },
137
- { "internalType": "uint256", "name": "chainId_", "type": "uint256" }
138
- ],
139
- "name": "depositFor",
140
- "outputs": [],
141
- "stateMutability": "nonpayable",
142
- "type": "function"
143
- },
144
- {
145
- "inputs": [],
146
- "name": "owner",
147
- "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
148
- "stateMutability": "view",
149
- "type": "function"
150
- },
151
- {
152
- "inputs": [],
153
- "name": "renounceOwnership",
154
- "outputs": [],
155
- "stateMutability": "nonpayable",
156
- "type": "function"
157
- },
158
- {
159
- "inputs": [
160
- { "internalType": "uint256", "name": "amount_", "type": "uint256" },
161
- { "internalType": "address", "name": "user_", "type": "address" },
162
- { "internalType": "address", "name": "token_", "type": "address" },
163
- { "internalType": "uint256", "name": "chainId_", "type": "uint256" },
164
- {
165
- "internalType": "bytes32",
166
- "name": "transactionHash_",
167
- "type": "bytes32"
168
- }
169
- ],
170
- "name": "systemWithdraw",
171
- "outputs": [],
172
- "stateMutability": "nonpayable",
173
- "type": "function"
174
- },
175
- {
176
- "inputs": [
177
- { "internalType": "address", "name": "newOwner", "type": "address" }
178
- ],
179
- "name": "transferOwnership",
180
- "outputs": [],
181
- "stateMutability": "nonpayable",
182
- "type": "function"
183
- }
184
- ]
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.itokens = void 0;
4
- exports.itokens = {
5
- 1: [],
6
- 137: [
7
- {
8
- address: '0xEab02fe1F016eE3e4106c1C6aad35FeEe657268E',
9
- symbol: 'USDC',
10
- }
11
- ],
12
- 43114: []
13
- };
@@ -1,147 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseTask_1 = require("../BaseTask");
7
- const logger_1 = __importDefault(require("@/logger"));
8
- const ethers_1 = require("ethers");
9
- const abi_1 = __importDefault(require("@/abi"));
10
- const db_1 = require("@/db");
11
- const utils_1 = require("@/utils");
12
- const constants_1 = require("@/constants");
13
- const config_1 = __importDefault(require("@/config"));
14
- const sequelize_1 = require("sequelize");
15
- const waait_1 = __importDefault(require("waait"));
16
- const net_1 = require("@/net");
17
- const generateGnosisTransaction = async (transactionData, safeContract) => {
18
- console.log(transactionData);
19
- let isExecuted = await safeContract.dataHashes(await safeContract.getTransactionHash(transactionData.to, transactionData.value, transactionData.data, transactionData.operation, transactionData.safeTxGas, transactionData.baseGas, transactionData.gasPrice, transactionData.gasToken, transactionData.refundReceiver, transactionData.nonce));
20
- while (isExecuted == 1) {
21
- transactionData.safeTxGas = ethers_1.BigNumber.from(String(transactionData.safeTxGas)).add(1).toString();
22
- isExecuted = await safeContract.dataHashes(await safeContract.getTransactionHash(transactionData.to, transactionData.value, transactionData.data, transactionData.operation, transactionData.safeTxGas, transactionData.baseGas, transactionData.gasPrice, transactionData.gasToken, transactionData.refundReceiver, transactionData.nonce));
23
- }
24
- return transactionData;
25
- };
26
- class ProcessWithdrawEvents extends BaseTask_1.BaseTask {
27
- constructor({ chainId }) {
28
- super({
29
- logger: new logger_1.default("InteropXGateway::ProcessWithdrawEvents"),
30
- });
31
- this.leadNodeOnly = true;
32
- this.chainId = chainId;
33
- }
34
- async pollHandler() {
35
- var _a;
36
- const blockNumber = await this.provider.getBlockNumber();
37
- const transaction = await db_1.Transaction.findOne({
38
- where: {
39
- status: 'pending',
40
- sourceStatus: 'success',
41
- targetStatus: 'uninitialised',
42
- action: 'withdraw',
43
- sourceCreatedAt: {
44
- [sequelize_1.Op.gte]: new Date(Date.now() - 12 * 60 * 60 * 1000),
45
- },
46
- targetDelayUntil: {
47
- [sequelize_1.Op.or]: {
48
- [sequelize_1.Op.is]: null,
49
- [sequelize_1.Op.lt]: new Date(),
50
- }
51
- },
52
- sourceBlockNumber: {
53
- [sequelize_1.Op.lt]: blockNumber - 12,
54
- },
55
- sourceChainId: this.chainId,
56
- }
57
- });
58
- if (!transaction) {
59
- return;
60
- }
61
- console.log(`Processing transaction ${transaction.transactionHash}`);
62
- transaction.targetStatus = 'pending';
63
- await transaction.save();
64
- // refresh event data?
65
- const targetChainProvider = new ethers_1.ethers.providers.JsonRpcProvider((0, utils_1.getRpcProviderUrl)(transaction.targetChainId));
66
- const targetWallet = new ethers_1.ethers.Wallet(config_1.default.privateKey, targetChainProvider);
67
- const safeAddress = constants_1.addresses[transaction.targetChainId].gnosisSafe;
68
- const safeContract = (0, utils_1.getContract)(safeAddress, abi_1.default.gnosisSafe, targetWallet);
69
- const ownersThreshold = await safeContract.getThreshold();
70
- await (0, waait_1.default)(10000);
71
- let gnosisTx = await generateGnosisTransaction({
72
- baseGas: "0",
73
- data: await (0, utils_1.buildDataForTransaction)(transaction),
74
- gasPrice: "0",
75
- gasToken: "0x0000000000000000000000000000000000000000",
76
- nonce: '0',
77
- operation: "1",
78
- refundReceiver: "0x0000000000000000000000000000000000000000",
79
- safeAddress: safeAddress,
80
- safeTxGas: "79668",
81
- to: constants_1.addresses[transaction.targetChainId].multisend,
82
- value: "0",
83
- }, safeContract);
84
- const owners = await safeContract.getOwners().then(owners => owners.map(owner => owner.toLowerCase()));
85
- const ownerPeerIds = net_1.peerPool.activePeers.filter(peer => owners.includes(peer.publicAddress.toLowerCase())).map(peer => peer.id);
86
- console.log(`Collecting signatures for execution ${transaction.transactionHash}`);
87
- console.log(ownerPeerIds);
88
- const signatures = await net_1.protocol.requestSignatures({
89
- type: 'source',
90
- transactionHash: transaction.transactionHash,
91
- safeTxGas: gnosisTx.safeTxGas,
92
- safeNonce: gnosisTx.nonce
93
- }, ownerPeerIds);
94
- const validSignatures = signatures.filter(s => !!s.data && s.data !== '0x');
95
- console.log({ signatures, validSignatures, ownersThreshold: ownersThreshold.toString() });
96
- if (validSignatures.length === 0 || ownersThreshold.gt(validSignatures.length)) {
97
- await transaction.save();
98
- transaction.targetDelayUntil = new Date(Date.now() + 30 * 1000);
99
- transaction.targetStatus = 'uninitialised';
100
- await transaction.save();
101
- const errorMessage = (_a = signatures.find(s => !!s.error)) === null || _a === void 0 ? void 0 : _a.error;
102
- throw new Error(`Not enough signatures` + (errorMessage ? `: ${errorMessage}` : ''));
103
- }
104
- console.log(`Executing transaction for execution ${transaction.transactionHash}`);
105
- const { data: txData } = await safeContract.populateTransaction.execTransaction(gnosisTx.to, gnosisTx.value, gnosisTx.data, gnosisTx.operation, gnosisTx.safeTxGas, gnosisTx.baseGas, gnosisTx.gasPrice, gnosisTx.gasToken, gnosisTx.refundReceiver, (0, utils_1.buildSignatureBytes)(validSignatures));
106
- console.log({
107
- from: targetWallet.address,
108
- gasPrice: ethers_1.BigNumber.from(120 * 10 ** 9).toString(),
109
- to: safeAddress,
110
- data: txData,
111
- });
112
- const txSent = await targetWallet.sendTransaction({
113
- from: targetWallet.address,
114
- gasPrice: ethers_1.BigNumber.from(120 * 10 ** 9),
115
- to: safeAddress,
116
- data: txData,
117
- });
118
- const receipt = await txSent.wait();
119
- const parsedLogs = [];
120
- receipt.logs.forEach((log) => {
121
- try {
122
- parsedLogs.push(safeContract.interface.parseLog(log));
123
- }
124
- catch (e) { }
125
- });
126
- if (parsedLogs.find(e => e.name === 'ExecutionSuccess')) {
127
- console.log('ExecutionSuccess');
128
- transaction.targetStatus = 'success';
129
- transaction.targetTransactionHash = txSent.hash;
130
- transaction.status = 'success';
131
- await transaction.save();
132
- }
133
- else {
134
- console.log('ExecutionFailure');
135
- transaction.targetStatus = 'failed';
136
- transaction.targetTransactionHash = txSent.hash;
137
- transaction.status = 'failed';
138
- await transaction.save();
139
- }
140
- }
141
- async start() {
142
- this.logger.info(`Starting execution watcher on interop chain`);
143
- this.provider = new ethers_1.ethers.providers.JsonRpcProvider((0, utils_1.getRpcProviderUrl)(this.chainId));
144
- await super.start();
145
- }
146
- }
147
- exports.default = ProcessWithdrawEvents;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseTask_1 = require("../BaseTask");
7
- const logger_1 = __importDefault(require("@/logger"));
8
- const ethers_1 = require("ethers");
9
- const abi_1 = __importDefault(require("@/abi"));
10
- const db_1 = require("@/db");
11
- const utils_1 = require("@/utils");
12
- const config_1 = __importDefault(require("@/config"));
13
- class SyncWithdrawEvents extends BaseTask_1.BaseTask {
14
- constructor({ chainId, itokenAddress }) {
15
- super({
16
- logger: new logger_1.default("InteropBridgeToken::SyncWithdrawEvents"),
17
- });
18
- this.chainId = chainId;
19
- this.itokenAddress = itokenAddress;
20
- }
21
- async pollHandler() {
22
- const currentBlock = await this.provider.getBlockNumber();
23
- const events = await this.contract.queryFilter(this.contract.filters.Burn(), currentBlock - 2000, currentBlock);
24
- let processedEvents = 0;
25
- for (const event of events) {
26
- try {
27
- if (!event.args) {
28
- continue;
29
- }
30
- const { to, amount, chainId } = event.args;
31
- const uniqueIdentifier = {
32
- action: 'withdraw',
33
- submitTransactionHash: event.transactionHash,
34
- sourceChainId: this.chainId,
35
- targetChainId: chainId.toNumber(),
36
- };
37
- if (await db_1.Transaction.findOne({ where: uniqueIdentifier })) {
38
- continue;
39
- }
40
- const tx = await event.getTransaction();
41
- await db_1.Transaction.create(Object.assign(Object.assign({}, uniqueIdentifier), { transactionHash: (0, utils_1.generateInteropTransactionHash)(uniqueIdentifier), from: tx.from, to, submitTransactionHash: event.transactionHash, submitBlockNumber: event.blockNumber,
42
- // submit & source are the same
43
- sourceTransactionHash: event.transactionHash, sourceBlockNumber: event.blockNumber, sourceStatus: "success", targetStatus: "uninitialised", submitEvent: {
44
- to,
45
- amount: amount.toString(),
46
- itoken: this.itokenAddress,
47
- chainId: chainId.toString()
48
- }, sourceEvent: {
49
- to,
50
- amount: amount.toString(),
51
- itoken: this.itokenAddress,
52
- chainId: chainId.toString(),
53
- }, status: "pending" }));
54
- this.logger.info(`Withdraw queued: ${event.transactionHash} ${event.blockNumber}`);
55
- }
56
- catch (error) {
57
- this.logger.error(error);
58
- }
59
- }
60
- if (processedEvents > 0)
61
- this.logger.info(`${processedEvents} events processed`);
62
- }
63
- async start() {
64
- this.logger.info(`Starting execution watcher on interop chain`);
65
- this.provider = new ethers_1.ethers.providers.JsonRpcProvider((0, utils_1.getRpcProviderUrl)(this.chainId));
66
- this.contract = (0, utils_1.getContract)(this.itokenAddress, abi_1.default.interopBridgeToken, new ethers_1.ethers.Wallet(config_1.default.privateKey, this.provider));
67
- await super.start();
68
- }
69
- }
70
- exports.default = SyncWithdrawEvents;
@@ -1,75 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BaseTask_1 = require("../BaseTask");
7
- const logger_1 = __importDefault(require("@/logger"));
8
- const ethers_1 = require("ethers");
9
- const abi_1 = __importDefault(require("@/abi"));
10
- const db_1 = require("@/db");
11
- const utils_1 = require("@/utils");
12
- const constants_1 = require("@/constants");
13
- const config_1 = __importDefault(require("@/config"));
14
- class SyncDepositEvents extends BaseTask_1.BaseTask {
15
- constructor({ chainId }) {
16
- super({
17
- logger: new logger_1.default("InteropXGateway::SyncDepositEvents"),
18
- });
19
- this.chainId = chainId;
20
- }
21
- async pollHandler() {
22
- const currentBlock = await this.provider.getBlockNumber();
23
- const events = await this.contract.queryFilter(this.contract.filters.LogGatewayDeposit(), currentBlock - 2000, currentBlock);
24
- let processedEvents = 0;
25
- for (const event of events) {
26
- try {
27
- if (!event.args) {
28
- continue;
29
- }
30
- const { sourceChainId, targetChainId, user, vnonce, amount, token } = event.args;
31
- const uniqueIdentifier = {
32
- action: 'deposit',
33
- submitTransactionHash: event.transactionHash,
34
- sourceChainId: sourceChainId.toNumber(),
35
- targetChainId: targetChainId.toNumber(),
36
- };
37
- if (await db_1.Transaction.findOne({ where: uniqueIdentifier })) {
38
- continue;
39
- }
40
- const tx = await event.getTransaction();
41
- await db_1.Transaction.create(Object.assign(Object.assign({}, uniqueIdentifier), { transactionHash: (0, utils_1.generateInteropTransactionHash)(uniqueIdentifier), from: tx.from, to: user, submitTransactionHash: event.transactionHash, submitBlockNumber: event.blockNumber,
42
- // submit & source are the same
43
- sourceTransactionHash: event.transactionHash, sourceBlockNumber: event.blockNumber, sourceStatus: "success", targetStatus: "uninitialised", submitEvent: {
44
- user,
45
- sourceChainId: sourceChainId.toString(),
46
- targetChainId: targetChainId.toString(),
47
- token: token,
48
- amount: amount.toString(),
49
- vnonce: vnonce.toString(),
50
- }, sourceEvent: {
51
- user,
52
- sourceChainId: sourceChainId.toString(),
53
- targetChainId: targetChainId.toString(),
54
- token: token,
55
- amount: amount.toString(),
56
- vnonce: vnonce.toString(),
57
- }, status: "pending" }));
58
- this.logger.info(`Deposit queued: ${event.transactionHash} ${event.blockNumber}`);
59
- }
60
- catch (error) {
61
- this.logger.error(error);
62
- }
63
- }
64
- if (processedEvents > 0)
65
- this.logger.info(`${processedEvents} events processed`);
66
- }
67
- async start() {
68
- this.logger.info(`Starting execution watcher on interop chain`);
69
- this.contractAddress = constants_1.addresses[this.chainId].interopXGateway;
70
- this.provider = new ethers_1.ethers.providers.JsonRpcProvider((0, utils_1.getRpcProviderUrl)(this.chainId));
71
- this.contract = (0, utils_1.getContract)(this.contractAddress, abi_1.default.interopXGateway, new ethers_1.ethers.Wallet(config_1.default.privateKey, this.provider));
72
- await super.start();
73
- }
74
- }
75
- exports.default = SyncDepositEvents;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });