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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. package/bin/interop-x +1 -1
  2. package/dist/package.json +74 -0
  3. package/dist/{abi → src/abi}/erc20.json +0 -0
  4. package/dist/{abi → src/abi}/gnosisSafe.json +0 -0
  5. package/dist/{abi → src/abi}/index.js +2 -4
  6. package/dist/src/abi/interopXContract.json +454 -0
  7. package/dist/src/alias.js +10 -0
  8. package/dist/src/api/index.js +36 -0
  9. package/dist/{config → src/config}/index.js +11 -1
  10. package/dist/src/constants/addresses.js +20 -0
  11. package/dist/{constants → src/constants}/index.js +0 -0
  12. package/dist/{constants → src/constants}/tokens.js +62 -39
  13. package/dist/{db → src/db}/index.js +0 -0
  14. package/dist/{db → src/db}/models/index.js +0 -0
  15. package/dist/{db → src/db}/models/transaction.js +27 -9
  16. package/dist/{db → src/db}/sequelize.js +1 -1
  17. package/dist/src/gnosis/actions/index.js +9 -0
  18. package/dist/src/gnosis/actions/withdraw/index.js +115 -0
  19. package/dist/src/gnosis/index.js +20 -0
  20. package/dist/src/index.js +119 -0
  21. package/dist/{logger → src/logger}/index.js +0 -0
  22. package/dist/{net → src/net}/index.js +0 -0
  23. package/dist/{net → src/net}/peer/index.js +8 -3
  24. package/dist/{net → src/net}/pool/index.js +32 -9
  25. package/dist/{net → src/net}/protocol/dial/BaseDialProtocol.js +0 -0
  26. package/dist/{net → src/net}/protocol/dial/SignatureDialProtocol.js +21 -12
  27. package/dist/src/net/protocol/dial/TransactionStatusDialProtocol.js +30 -0
  28. package/dist/{net → src/net}/protocol/index.js +51 -1
  29. package/dist/src/tasks/AutoUpdateTask.js +70 -0
  30. package/dist/{tasks → src/tasks}/BaseTask.js +12 -4
  31. package/dist/src/tasks/InteropXContract/ProcessBridgeRequestEvents.js +158 -0
  32. package/dist/src/tasks/InteropXContract/SyncBridgeCommittedEvents.js +93 -0
  33. package/dist/src/tasks/InteropXContract/SyncBridgeRequestEvents.js +78 -0
  34. package/dist/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.js +90 -0
  35. package/dist/src/tasks/Transactions/SyncTransactionStatusTask.js +57 -0
  36. package/dist/src/tasks/index.js +41 -0
  37. package/dist/{typechain → src/typechain}/Erc20.js +0 -0
  38. package/dist/{typechain → src/typechain}/GnosisSafe.js +0 -0
  39. package/dist/{typechain/InteropBridgeToken.js → src/typechain/InteropXContract.js} +0 -0
  40. package/dist/{typechain → src/typechain}/common.js +0 -0
  41. package/dist/{typechain → src/typechain}/factories/Erc20__factory.js +0 -0
  42. package/dist/{typechain → src/typechain}/factories/GnosisSafe__factory.js +0 -0
  43. package/dist/src/typechain/factories/InteropXContract__factory.js +635 -0
  44. package/dist/src/typechain/factories/index.js +12 -0
  45. package/dist/{typechain → src/typechain}/index.js +3 -5
  46. package/dist/{types.js → src/types.js} +0 -0
  47. package/dist/src/utils/index.js +193 -0
  48. package/package.json +23 -15
  49. package/patches/@ethersproject+properties+5.6.0.patch +13 -0
  50. package/src/abi/index.ts +2 -4
  51. package/src/abi/interopXContract.json +454 -0
  52. package/src/alias.ts +6 -0
  53. package/src/api/index.ts +36 -0
  54. package/src/config/index.ts +11 -1
  55. package/src/constants/addresses.ts +8 -16
  56. package/src/constants/tokens.ts +63 -40
  57. package/src/db/models/transaction.ts +78 -25
  58. package/src/db/sequelize.ts +1 -1
  59. package/src/gnosis/actions/index.ts +5 -0
  60. package/src/gnosis/actions/withdraw/index.ts +155 -0
  61. package/src/gnosis/index.ts +19 -0
  62. package/src/index.ts +101 -24
  63. package/src/net/peer/index.ts +9 -7
  64. package/src/net/pool/index.ts +41 -11
  65. package/src/net/protocol/dial/SignatureDialProtocol.ts +23 -13
  66. package/src/net/protocol/dial/TransactionStatusDialProtocol.ts +33 -0
  67. package/src/net/protocol/index.ts +67 -1
  68. package/src/tasks/AutoUpdateTask.ts +82 -0
  69. package/src/tasks/BaseTask.ts +14 -4
  70. package/src/tasks/InteropXContract/ProcessBridgeRequestEvents.ts +226 -0
  71. package/src/tasks/InteropXContract/SyncBridgeCommittedEvents.ts +125 -0
  72. package/src/tasks/InteropXContract/SyncBridgeRequestEvents.ts +115 -0
  73. package/src/tasks/InteropXContract/SyncBridgeRequestSentEvents.ts +121 -0
  74. package/src/tasks/Transactions/SyncTransactionStatusTask.ts +69 -0
  75. package/src/tasks/index.ts +28 -5
  76. package/src/typechain/InteropXContract.ts +680 -0
  77. package/src/typechain/factories/InteropXContract__factory.ts +642 -0
  78. package/src/typechain/factories/index.ts +1 -2
  79. package/src/typechain/index.ts +2 -4
  80. package/src/utils/index.ts +153 -7
  81. package/tsconfig.json +7 -2
  82. package/dist/abi/interopBridgeToken.json +0 -286
  83. package/dist/abi/interopXGateway.json +0 -184
  84. package/dist/constants/addresses.js +0 -28
  85. package/dist/index.js +0 -63
  86. package/dist/tasks/InteropXGateway/SyncDepositEvents.js +0 -79
  87. package/dist/tasks/index.js +0 -27
  88. package/dist/typechain/InteropXGateway.js +0 -2
  89. package/dist/typechain/factories/InteropBridgeToken__factory.js +0 -459
  90. package/dist/typechain/factories/InteropXGateway__factory.js +0 -265
  91. package/dist/typechain/factories/index.js +0 -14
  92. package/dist/utils/index.js +0 -101
  93. package/src/abi/interopBridgeToken.json +0 -286
  94. package/src/abi/interopXGateway.json +0 -184
  95. package/src/tasks/InteropXGateway/SyncDepositEvents.ts +0 -114
  96. package/src/typechain/InteropBridgeToken.ts +0 -686
  97. package/src/typechain/InteropXGateway.ts +0 -407
  98. package/src/typechain/factories/InteropBridgeToken__factory.ts +0 -466
  99. 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,114 +0,0 @@
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, getRpcProviderUrl } from "@/utils";
7
- import { addresses } from "@/constants";
8
- import { ChainId } from "@/types";
9
- import config from "@/config";
10
- import { InteropXGateway } from "@/typechain";
11
-
12
- class SyncDepositEvents extends BaseTask {
13
- contractAddress: string;
14
- provider: ethers.providers.JsonRpcProvider;
15
- contract: InteropXGateway;
16
- chainId: ChainId;
17
-
18
- constructor({ chainId }: { chainId: ChainId }) {
19
- super({
20
- logger: new Logger("InteropXGateway::SyncDepositEvents"),
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.LogGatewayDeposit(),
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 { sourceChainId, targetChainId, user, vnonce, amount, token } = event.args;
44
-
45
- const uniqueIdentifier = {
46
- type: 'desposit',
47
- sourceTransactionHash: event.transactionHash,
48
- sourceChainId: sourceChainId.toNumber(),
49
- targetChainId: targetChainId.toNumber(),
50
- }
51
-
52
- if (await Transaction.findOne({ where: uniqueIdentifier })) {
53
- continue;
54
- }
55
-
56
- const tx = await event.getTransaction()
57
-
58
- await Transaction.create({
59
- transactionHash: generateInteropTransactionHash(uniqueIdentifier),
60
- type: 'deposit',
61
- from: tx.from,
62
- to: user,
63
-
64
- sourceChainId: sourceChainId.toNumber(),
65
- sourceTransactionHash: event.transactionHash,
66
- sourceBlockNumber: event.blockNumber,
67
- sourceStatus: "uninitialised",
68
-
69
- targetChainId: targetChainId.toNumber(),
70
- targetStatus: "uninitialised",
71
-
72
- submitEvent: {
73
- user,
74
- sourceChainId: sourceChainId.toString(),
75
- targetChainId: targetChainId.toString(),
76
- token: token,
77
- ammout: amount.toString(),
78
- vnonce: vnonce.toString(),
79
- },
80
- status: "pending",
81
- })
82
-
83
- this.logger.info(
84
- `Execution queued: ${event.transactionHash} ${event.blockNumber}`
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.logger.info(`Starting execution watcher on interop chain`);
97
-
98
- this.contractAddress = addresses[this.chainId].interopXGateway;
99
-
100
- this.provider = new ethers.providers.JsonRpcProvider(
101
- getRpcProviderUrl(this.chainId)
102
- );
103
-
104
- this.contract = new ethers.Contract(
105
- this.contractAddress,
106
- abi.interopXGateway,
107
- new ethers.Wallet(config.privateKey!, this.provider)
108
- ) as InteropXGateway;
109
-
110
- await super.start()
111
- }
112
- }
113
-
114
- export default SyncDepositEvents;