@pendle/sdk-boros 0.4.20 → 0.4.22
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.
- package/dist/utils/index.d.ts +8 -1
- package/dist/utils/index.js +38 -2
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/index.d.ts
CHANGED
|
@@ -13,10 +13,17 @@ type LogArgs<TAbi extends Abi, TEventName extends ContractEventName<TAbi>> = {
|
|
|
13
13
|
};
|
|
14
14
|
export declare function extractEventLogs<TAbi extends Abi, TEventName extends ContractEventName<TAbi>>(logs: Log<bigint, number, false>[], abi: TAbi, eventName: TEventName): LogArgs<TAbi, TEventName>[];
|
|
15
15
|
export declare function decodeErrorMessageFromErrorSelector(errorSelector: Hex): string;
|
|
16
|
-
export declare function parseResponse(executeResponses: TxResponse[], publicClient: PublicClient
|
|
16
|
+
export declare function parseResponse(executeResponses: TxResponse[], publicClient: PublicClient, waitForTransactionReceiptParams?: {
|
|
17
|
+
maxAttempts?: number;
|
|
18
|
+
pollInterval?: number;
|
|
19
|
+
}): Promise<{
|
|
17
20
|
status: "success" | "reverted";
|
|
18
21
|
error: string | undefined;
|
|
19
22
|
index: number;
|
|
20
23
|
receipt: TransactionReceipt;
|
|
21
24
|
txHash: `0x${string}`;
|
|
22
25
|
}[]>;
|
|
26
|
+
export declare function waitForTransaction(publicClient: PublicClient, hashPromise: Hex | Promise<Hex>, params?: {
|
|
27
|
+
maxAttempts?: number;
|
|
28
|
+
pollInterval?: number;
|
|
29
|
+
}): Promise<TransactionReceipt>;
|
package/dist/utils/index.js
CHANGED
|
@@ -20,6 +20,7 @@ exports.getEnteredMarkets = getEnteredMarkets;
|
|
|
20
20
|
exports.extractEventLogs = extractEventLogs;
|
|
21
21
|
exports.decodeErrorMessageFromErrorSelector = decodeErrorMessageFromErrorSelector;
|
|
22
22
|
exports.parseResponse = parseResponse;
|
|
23
|
+
exports.waitForTransaction = waitForTransaction;
|
|
23
24
|
__exportStar(require("./signing"), exports);
|
|
24
25
|
__exportStar(require("./accountLib"), exports);
|
|
25
26
|
__exportStar(require("./orderLib"), exports);
|
|
@@ -94,9 +95,9 @@ function getCorrespondingResultAndLogs(txHash, receipt, index) {
|
|
|
94
95
|
txHash,
|
|
95
96
|
};
|
|
96
97
|
}
|
|
97
|
-
async function parseResponse(executeResponses, publicClient) {
|
|
98
|
+
async function parseResponse(executeResponses, publicClient, waitForTransactionReceiptParams) {
|
|
98
99
|
const uniqueTxHashes = [...new Set(executeResponses.map((executeResponse) => executeResponse.txHash))].flatMap((txHash) => (txHash ? [txHash] : []));
|
|
99
|
-
const uniqueTxReceipts = await Promise.all(uniqueTxHashes.map(async (txHash) => [txHash, await publicClient
|
|
100
|
+
const uniqueTxReceipts = await Promise.all(uniqueTxHashes.map(async (txHash) => [txHash, await waitForTransaction(publicClient, txHash, waitForTransactionReceiptParams)]));
|
|
100
101
|
const txReceiptsMap = new Map(uniqueTxReceipts);
|
|
101
102
|
const results = executeResponses.map((executeResponse) => {
|
|
102
103
|
const txHash = executeResponse.txHash;
|
|
@@ -105,4 +106,39 @@ async function parseResponse(executeResponses, publicClient) {
|
|
|
105
106
|
});
|
|
106
107
|
return results;
|
|
107
108
|
}
|
|
109
|
+
async function getTransactionReceipt(hash, publicClient, params) {
|
|
110
|
+
let rawReceipt = null;
|
|
111
|
+
let attempts = 0;
|
|
112
|
+
const maxAttempts = params?.maxAttempts ?? 30;
|
|
113
|
+
const pollInterval = params?.pollInterval ?? 100;
|
|
114
|
+
while (!rawReceipt && attempts < maxAttempts) {
|
|
115
|
+
rawReceipt = await publicClient.request({
|
|
116
|
+
method: 'eth_getTransactionReceipt',
|
|
117
|
+
params: [hash],
|
|
118
|
+
}, { dedupe: true });
|
|
119
|
+
if (!rawReceipt) {
|
|
120
|
+
attempts++;
|
|
121
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (!rawReceipt)
|
|
125
|
+
throw new viem_1.TransactionReceiptNotFoundError({ hash });
|
|
126
|
+
const format = publicClient.chain?.formatters?.transactionReceipt?.format || viem_1.formatTransactionReceipt;
|
|
127
|
+
const receipt = format(rawReceipt);
|
|
128
|
+
return receipt;
|
|
129
|
+
}
|
|
130
|
+
async function waitForTransaction(publicClient, hashPromise, params) {
|
|
131
|
+
let hash;
|
|
132
|
+
try {
|
|
133
|
+
hash = await hashPromise;
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
if (error instanceof viem_1.ContractFunctionExecutionError) {
|
|
137
|
+
throw new Error(error.shortMessage);
|
|
138
|
+
}
|
|
139
|
+
throw error;
|
|
140
|
+
}
|
|
141
|
+
const receipt = await getTransactionReceipt(hash, publicClient, params);
|
|
142
|
+
return receipt;
|
|
143
|
+
}
|
|
108
144
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|