@instadapp/interop-x 0.0.0-dev.73e5298 → 0.0.0-dev.7738003

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. package/.github/workflows/ci.yml +19 -0
  2. package/dist/package.json +1 -1
  3. package/dist/src/abi/index.js +2 -2
  4. package/dist/src/abi/interopX.json +1436 -0
  5. package/dist/src/api/index.js +1 -1
  6. package/dist/src/constants/addresses.js +2 -7
  7. package/dist/src/db/models/transaction.js +11 -9
  8. package/dist/src/gnosis/actions/withdraw/index.js +106 -107
  9. package/dist/src/index.js +1 -1
  10. package/dist/src/tasks/{InteropXContract/SyncBridgeRequestEvents.js → InteropX/SyncLogSubmitEvents.js} +18 -12
  11. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +3 -3
  12. package/dist/src/tasks/index.js +4 -13
  13. package/dist/src/typechain/{InteropXContract.js → InteropX.js} +0 -0
  14. package/dist/src/typechain/factories/InteropX__factory.js +1928 -0
  15. package/dist/src/typechain/factories/index.js +3 -3
  16. package/dist/src/typechain/index.js +3 -3
  17. package/dist/src/utils/index.js +5 -3
  18. package/package.json +1 -1
  19. package/src/abi/index.ts +2 -2
  20. package/src/abi/interopX.json +1436 -0
  21. package/src/api/index.ts +1 -1
  22. package/src/constants/addresses.ts +3 -8
  23. package/src/db/models/transaction.ts +28 -37
  24. package/src/gnosis/actions/withdraw/index.ts +131 -131
  25. package/src/tasks/{InteropXContract/SyncBridgeRequestEvents.ts → InteropX/SyncLogSubmitEvents.ts} +37 -16
  26. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +3 -3
  27. package/src/tasks/index.ts +5 -17
  28. package/src/typechain/InteropX.ts +1216 -0
  29. package/src/typechain/factories/InteropX__factory.ts +1932 -0
  30. package/src/typechain/factories/index.ts +1 -1
  31. package/src/typechain/index.ts +2 -2
  32. package/src/utils/index.ts +22 -8
  33. package/dist/src/abi/interopXContract.json +0 -454
  34. package/dist/src/tasks/InteropXContract/ProcessBridgeRequestEvents.js +0 -158
  35. package/dist/src/tasks/InteropXContract/SyncBridgeCommittedEvents.js +0 -93
  36. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +0 -90
  37. package/dist/src/typechain/factories/InteropXContract__factory.js +0 -635
  38. package/src/abi/interopXContract.json +0 -454
  39. package/src/tasks/InteropXContract/ProcessBridgeRequestEvents.ts +0 -226
  40. package/src/tasks/InteropXContract/SyncBridgeCommittedEvents.ts +0 -125
  41. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +0 -121
  42. package/src/typechain/InteropXContract.ts +0 -680
  43. package/src/typechain/factories/InteropXContract__factory.ts +0 -642
@@ -1,93 +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
- class SyncBridgeCommittedEvents extends BaseTask_1.BaseTask {
16
- constructor({ chainId }) {
17
- super({
18
- logger: new logger_1.default("InteropXContract::SyncBridgeCommittedEvents"),
19
- });
20
- this.chainId = chainId;
21
- }
22
- async pollHandler() {
23
- const currentBlock = await this.provider.getBlockNumber();
24
- const events = await this.contract.queryFilter(this.contract.filters.LogBridgeCommitted(), currentBlock - 2000, currentBlock);
25
- let processedEvents = 0;
26
- for (const event of events) {
27
- try {
28
- if (!event.args) {
29
- continue;
30
- }
31
- const { actionId, bridger, position, sourceChainId, targetChainId, requestTransactionHash, metadata } = event.args;
32
- const uniqueIdentifier = {
33
- actionId,
34
- bridger,
35
- requestTransactionHash,
36
- sourceChainId: sourceChainId,
37
- targetChainId: targetChainId,
38
- };
39
- let transactionHash = (0, utils_1.generateInteropTransactionHash)(uniqueIdentifier);
40
- const transaction = await db_1.Transaction.findOne({
41
- where: {
42
- transactionHash,
43
- sourceStatus: 'success',
44
- committedEvent: {
45
- [sequelize_1.Op.eq]: null,
46
- }
47
- }
48
- });
49
- if (!transaction) {
50
- continue;
51
- }
52
- transaction.targetStatus = 'success';
53
- transaction.targetBlockNumber = event.blockNumber;
54
- transaction.targetTransactionHash = event.transactionHash;
55
- transaction.committedEvent = {
56
- actionId,
57
- bridger,
58
- position: {
59
- withdraw: position.withdraw.map((v) => ({
60
- sourceToken: v.sourceToken,
61
- targetToken: v.targetToken,
62
- amount: v.amount.toString()
63
- })),
64
- supply: position.supply.map((v) => ({
65
- sourceToken: v.sourceToken,
66
- targetToken: v.targetToken,
67
- amount: v.amount.toString()
68
- })),
69
- },
70
- sourceChainId: sourceChainId,
71
- targetChainId: targetChainId,
72
- metadata,
73
- requestTransactionHash,
74
- };
75
- transaction.status = 'success';
76
- await transaction.save();
77
- this.logger.info(`New bridge committed received: ${transactionHash} `);
78
- }
79
- catch (error) {
80
- this.logger.error(error);
81
- }
82
- }
83
- if (processedEvents > 0)
84
- this.logger.info(`${processedEvents} events processed`);
85
- }
86
- async start() {
87
- this.contractAddress = constants_1.addresses[this.chainId].interopXContract;
88
- this.provider = new ethers_1.ethers.providers.JsonRpcProvider((0, utils_1.getRpcProviderUrl)(this.chainId));
89
- this.contract = (0, utils_1.getContract)(this.contractAddress, abi_1.default.interopXContract, new ethers_1.ethers.Wallet(config_1.default.privateKey, this.provider));
90
- await super.start();
91
- }
92
- }
93
- exports.default = SyncBridgeCommittedEvents;
@@ -1,90 +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
- class SyncBridgeRequestSentEvents extends BaseTask_1.BaseTask {
16
- constructor({ chainId }) {
17
- super({
18
- logger: new logger_1.default("InteropXContract::SyncBridgeRequestSentEvents"),
19
- });
20
- this.chainId = chainId;
21
- }
22
- async pollHandler() {
23
- const currentBlock = await this.provider.getBlockNumber();
24
- const events = await this.contract.queryFilter(this.contract.filters.LogBridgeRequestSent(), currentBlock - 2000, currentBlock);
25
- let processedEvents = 0;
26
- for (const event of events) {
27
- try {
28
- if (!event.args) {
29
- continue;
30
- }
31
- const { actionId, bridger, position, sourceChainId, targetChainId, requestTransactionHash, metadata } = event.args;
32
- const uniqueIdentifier = {
33
- actionId,
34
- bridger,
35
- requestTransactionHash,
36
- sourceChainId: sourceChainId,
37
- targetChainId: targetChainId,
38
- };
39
- let transactionHash = (0, utils_1.generateInteropTransactionHash)(uniqueIdentifier);
40
- const transaction = await db_1.Transaction.findOne({
41
- where: {
42
- transactionHash, requestSentEvent: {
43
- [sequelize_1.Op.eq]: null,
44
- }
45
- }
46
- });
47
- if (!transaction) {
48
- continue;
49
- }
50
- transaction.sourceStatus = 'success';
51
- transaction.sourceBlockNumber = event.blockNumber;
52
- transaction.sourceTransactionHash = event.transactionHash;
53
- transaction.requestSentEvent = {
54
- actionId,
55
- bridger,
56
- position: {
57
- withdraw: position.withdraw.map((v) => ({
58
- sourceToken: v.sourceToken,
59
- targetToken: v.targetToken,
60
- amount: v.amount.toString()
61
- })),
62
- supply: position.supply.map((v) => ({
63
- sourceToken: v.sourceToken,
64
- targetToken: v.targetToken,
65
- amount: v.amount.toString()
66
- })),
67
- },
68
- sourceChainId: sourceChainId,
69
- targetChainId: targetChainId,
70
- metadata,
71
- requestTransactionHash,
72
- };
73
- await transaction.save();
74
- this.logger.info(`New bridge request sent received: ${transactionHash} `);
75
- }
76
- catch (error) {
77
- this.logger.error(error);
78
- }
79
- }
80
- if (processedEvents > 0)
81
- this.logger.info(`${processedEvents} events processed`);
82
- }
83
- async start() {
84
- this.contractAddress = constants_1.addresses[this.chainId].interopXContract;
85
- this.provider = new ethers_1.ethers.providers.JsonRpcProvider((0, utils_1.getRpcProviderUrl)(this.chainId));
86
- this.contract = (0, utils_1.getContract)(this.contractAddress, abi_1.default.interopXContract, new ethers_1.ethers.Wallet(config_1.default.privateKey, this.provider));
87
- await super.start();
88
- }
89
- }
90
- exports.default = SyncBridgeRequestSentEvents;