@levrbet/shared 0.1.185 → 0.1.186
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.
|
@@ -9,6 +9,8 @@ declare class OzRelayerService {
|
|
|
9
9
|
private getRelayer;
|
|
10
10
|
private createRelayerTransport;
|
|
11
11
|
private waitForTxConfirmation;
|
|
12
|
+
private getTxHashFromRelayer;
|
|
13
|
+
private waitForTxHashOnChain;
|
|
12
14
|
private proxyTxToRelayer;
|
|
13
15
|
private getNextIndex;
|
|
14
16
|
private isTxSuccess;
|
|
@@ -44,17 +44,24 @@ class OzRelayerService {
|
|
|
44
44
|
if (!request)
|
|
45
45
|
throw new Error("Missing transaction parameters");
|
|
46
46
|
const txId = await proxyTxToRelayer({ request, chainId, relayer });
|
|
47
|
-
return await waitForTxConfirmation(relayer.id, txId);
|
|
47
|
+
return await waitForTxConfirmation(relayer.id, txId, chainId);
|
|
48
48
|
}
|
|
49
49
|
config_1.logger.warn(`Unhandled method: ${method} with params:`, params);
|
|
50
50
|
throw new Error(`Method ${method} not implemented in relayer transport`);
|
|
51
51
|
},
|
|
52
52
|
});
|
|
53
53
|
};
|
|
54
|
-
this.waitForTxConfirmation = async (relayerId, txId) => {
|
|
54
|
+
this.waitForTxConfirmation = async (relayerId, txId, chainId) => {
|
|
55
|
+
// First, get the tx hash from the relayer
|
|
56
|
+
const txHash = await this.getTxHashFromRelayer(relayerId, txId);
|
|
57
|
+
config_1.logger.info(`Got tx hash from relayer.`, { relayerId, txId, txHash });
|
|
58
|
+
// Then wait for the tx to be confirmed on-chain using public client
|
|
59
|
+
return await this.waitForTxHashOnChain(txHash, chainId, relayerId, txId);
|
|
60
|
+
};
|
|
61
|
+
this.getTxHashFromRelayer = async (relayerId, txId) => {
|
|
55
62
|
for (let i = 0; i < 20; i++) {
|
|
56
63
|
await new Promise((r) => setTimeout(r, (0, ms_1.default)("5s")));
|
|
57
|
-
config_1.logger.info(`Attempt ${i + 1}:
|
|
64
|
+
config_1.logger.info(`Attempt ${i + 1}: Fetching tx from relayer...`, { relayerId, txId });
|
|
58
65
|
const { data } = await this.relayersApi().getTransactionById(relayerId, txId);
|
|
59
66
|
const tx = data.data;
|
|
60
67
|
if (!tx)
|
|
@@ -63,18 +70,34 @@ class OzRelayerService {
|
|
|
63
70
|
config_1.logger.error("Tx Failed:", tx);
|
|
64
71
|
throw new Error(`Tx failed with status=${tx.status}; txId=${tx.id}`);
|
|
65
72
|
}
|
|
66
|
-
tx;
|
|
67
73
|
if (this.isTxSuccess(tx.status)) {
|
|
68
74
|
if (!tx.hash) {
|
|
69
75
|
config_1.logger.error("Tx Failed:", tx);
|
|
70
76
|
throw new Error(`Tx status=${tx.status} but no hash; txId=${tx.id}`);
|
|
71
77
|
}
|
|
72
|
-
config_1.logger.info(`Transaction
|
|
78
|
+
config_1.logger.info(`Transaction hash obtained from relayer.`, { relayerId, txId, hash: tx.hash });
|
|
73
79
|
return tx.hash;
|
|
74
80
|
}
|
|
75
|
-
config_1.logger.info(`Transaction still not
|
|
81
|
+
config_1.logger.info(`Transaction still not submitted...`, { relayerId, txId, status: tx.status });
|
|
82
|
+
}
|
|
83
|
+
throw new Error(`Timeout waiting for transaction ${txId} to be submitted by relayer ${relayerId}`);
|
|
84
|
+
};
|
|
85
|
+
this.waitForTxHashOnChain = async (txHash, chainId, relayerId, txId) => {
|
|
86
|
+
const publicClient = core_1.publicClientService.getPublicClient(chainId);
|
|
87
|
+
config_1.logger.info(`Waiting for transaction to be mined on-chain...`, { txHash, chainId, relayerId, txId });
|
|
88
|
+
try {
|
|
89
|
+
await publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
90
|
+
config_1.logger.info(`Transaction confirmed on-chain.`, { txHash, chainId, relayerId, txId });
|
|
91
|
+
return txHash;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
config_1.logger.error(`Failed to wait for transaction receipt.`, {
|
|
95
|
+
txHash,
|
|
96
|
+
chainId,
|
|
97
|
+
error: error instanceof Error ? error.message : String(error),
|
|
98
|
+
});
|
|
99
|
+
throw error;
|
|
76
100
|
}
|
|
77
|
-
throw new Error(`Timeout waiting for transaction ${txId} to be confirmed by relayer ${relayerId}`);
|
|
78
101
|
};
|
|
79
102
|
this.proxyTxToRelayer = async ({ request, chainId, relayer }) => {
|
|
80
103
|
config_1.logger.info(`Proxying transaction to relayer.`, { request, chainId, relayer });
|
|
@@ -148,7 +171,7 @@ class OzRelayerService {
|
|
|
148
171
|
return relayer;
|
|
149
172
|
}
|
|
150
173
|
isTxSuccess(status) {
|
|
151
|
-
return [relayer_sdk_1.TransactionStatus.CONFIRMED, relayer_sdk_1.TransactionStatus.MINED].includes(status);
|
|
174
|
+
return [relayer_sdk_1.TransactionStatus.SUBMITTED, relayer_sdk_1.TransactionStatus.CONFIRMED, relayer_sdk_1.TransactionStatus.MINED].includes(status);
|
|
152
175
|
}
|
|
153
176
|
isTxFailed(status) {
|
|
154
177
|
return [relayer_sdk_1.TransactionStatus.CANCELED, relayer_sdk_1.TransactionStatus.FAILED, relayer_sdk_1.TransactionStatus.EXPIRED].includes(status);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ozRelayerService.js","sourceRoot":"","sources":["../../../../src/server/contracts/clients/ozRelayerService.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAOkC;AAClC,iCAAoC;AACpC,kDAAyB;AACzB,4CAAmB;AACnB,2DAA4C;AAE5C,+BAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"ozRelayerService.js","sourceRoot":"","sources":["../../../../src/server/contracts/clients/ozRelayerService.ts"],"names":[],"mappings":"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"}
|