@snowbridge/provider-ethers 1.1.0 → 1.1.2
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/.turbo/turbo-build.log +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -0
- package/package.json +2 -2
- package/src/index.ts +26 -0
package/.turbo/turbo-build.log
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbstractProvider, Contract, ContractTransaction, Interface, InterfaceAbi, TransactionReceipt } from "ethers";
|
|
2
|
-
import type { DepositParamsStruct, EthereumProvider, EthereumProviderTypes, FeeData, GatewayV1OutboundMessageAccepted, GatewayV2OutboundMessageAccepted, IGatewayV1, IGatewayV2, L1AdapterDepositParams, L1LegacySwapRouterExactOutputSingleParams, L1SwapRouterExactOutputSingleParams, MultiAddressStruct, SendParamsStruct, SwapParamsStruct } from "@snowbridge/base-types";
|
|
2
|
+
import type { DepositParamsStruct, EthereumProvider, EthereumProviderTypes, FeeData, GatewayV1OutboundMessageAccepted, GatewayV2OutboundMessageAccepted, IGatewayV1, IGatewayV2, L1AdapterDepositParams, L1LegacySwapRouterExactOutputSingleParams, L1SwapRouterExactOutputSingleParams, L2MessageReceipt, MultiAddressStruct, SendParamsStruct, SwapParamsStruct } from "@snowbridge/base-types";
|
|
3
3
|
export interface EthersProviderTypes extends EthereumProviderTypes {
|
|
4
4
|
Connection: AbstractProvider;
|
|
5
5
|
Contract: Contract;
|
|
@@ -11,6 +11,7 @@ export declare class EthersEthereumProvider implements EthereumProvider<EthersPr
|
|
|
11
11
|
readonly providerTypes: EthersProviderTypes;
|
|
12
12
|
static gatewayV1Interface: Interface;
|
|
13
13
|
static gatewayV2Interface: Interface;
|
|
14
|
+
static l2AdaptorInterface: Interface;
|
|
14
15
|
createProvider(url: string): AbstractProvider;
|
|
15
16
|
destroyProvider(provider: AbstractProvider): void;
|
|
16
17
|
destroyContract(contract: Contract): Promise<void>;
|
|
@@ -44,5 +45,6 @@ export declare class EthersEthereumProvider implements EthereumProvider<EthersPr
|
|
|
44
45
|
isContractAddress(provider: AbstractProvider, address: string): Promise<boolean>;
|
|
45
46
|
scanGatewayV1OutboundMessageAccepted(receipt: TransactionReceipt): GatewayV1OutboundMessageAccepted | null;
|
|
46
47
|
scanGatewayV2OutboundMessageAccepted(receipt: TransactionReceipt): GatewayV2OutboundMessageAccepted | null;
|
|
48
|
+
scanL2WrapperDepositCallInvoked(receipt: TransactionReceipt): L2MessageReceipt | null;
|
|
47
49
|
}
|
|
48
50
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EAEnB,SAAS,EACT,YAAY,EAGZ,kBAAkB,EAEnB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,OAAO,EACP,gCAAgC,EAChC,gCAAgC,EAChC,UAAU,EACV,UAAU,EAEV,sBAAsB,EACtB,yCAAyC,EACzC,mCAAmC,EACnC,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAYhC,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,YAAY,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;AAED,qBAAa,sBACX,YAAW,gBAAgB,CAAC,mBAAmB,CAAC;IAEhD,SAAiB,aAAa,EAAE,mBAAmB,CAAC;IAEpD,MAAM,CAAC,kBAAkB,YAAkC;IAC3D,MAAM,CAAC,kBAAkB,YAAkC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -219,7 +219,30 @@ class EthersEthereumProvider {
|
|
|
219
219
|
}
|
|
220
220
|
return null;
|
|
221
221
|
}
|
|
222
|
+
scanL2WrapperDepositCallInvoked(receipt) {
|
|
223
|
+
for (const log of receipt.logs) {
|
|
224
|
+
try {
|
|
225
|
+
const event = EthersEthereumProvider.l2AdaptorInterface.parseLog({
|
|
226
|
+
topics: [...log.topics],
|
|
227
|
+
data: log.data,
|
|
228
|
+
});
|
|
229
|
+
if (event && event.name === "DepositCallInvoked") {
|
|
230
|
+
return {
|
|
231
|
+
messageId: String(event.args[0]),
|
|
232
|
+
depositId: BigInt(event.args[1]),
|
|
233
|
+
blockHash: receipt.blockHash,
|
|
234
|
+
blockNumber: receipt.blockNumber,
|
|
235
|
+
txHash: receipt.hash,
|
|
236
|
+
txIndex: receipt.index,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
catch { }
|
|
241
|
+
}
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
222
244
|
}
|
|
223
245
|
exports.EthersEthereumProvider = EthersEthereumProvider;
|
|
224
246
|
EthersEthereumProvider.gatewayV1Interface = new ethers_1.Interface(base_types_1.IGATEWAY_V1_ABI);
|
|
225
247
|
EthersEthereumProvider.gatewayV2Interface = new ethers_1.Interface(base_types_1.IGATEWAY_V2_ABI);
|
|
248
|
+
EthersEthereumProvider.l2AdaptorInterface = new ethers_1.Interface(base_types_1.SNOWBRIDGE_L2_ADAPTOR_ABI);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@snowbridge/provider-ethers",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Snowbridge ethers provider implementation",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"ethers": "6.16.0",
|
|
26
|
-
"@snowbridge/base-types": "1.1.
|
|
26
|
+
"@snowbridge/base-types": "1.1.2"
|
|
27
27
|
},
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "tsc --build --force",
|
package/src/index.ts
CHANGED
|
@@ -25,6 +25,7 @@ import type {
|
|
|
25
25
|
L1AdapterDepositParams,
|
|
26
26
|
L1LegacySwapRouterExactOutputSingleParams,
|
|
27
27
|
L1SwapRouterExactOutputSingleParams,
|
|
28
|
+
L2MessageReceipt,
|
|
28
29
|
MultiAddressStruct,
|
|
29
30
|
SendParamsStruct,
|
|
30
31
|
SwapParamsStruct,
|
|
@@ -55,6 +56,7 @@ export class EthersEthereumProvider
|
|
|
55
56
|
|
|
56
57
|
static gatewayV1Interface = new Interface(IGATEWAY_V1_ABI);
|
|
57
58
|
static gatewayV2Interface = new Interface(IGATEWAY_V2_ABI);
|
|
59
|
+
static l2AdaptorInterface = new Interface(SNOWBRIDGE_L2_ADAPTOR_ABI);
|
|
58
60
|
|
|
59
61
|
createProvider(url: string): AbstractProvider {
|
|
60
62
|
if (url.startsWith("http")) {
|
|
@@ -471,4 +473,28 @@ export class EthersEthereumProvider
|
|
|
471
473
|
}
|
|
472
474
|
return null;
|
|
473
475
|
}
|
|
476
|
+
|
|
477
|
+
scanL2WrapperDepositCallInvoked(
|
|
478
|
+
receipt: TransactionReceipt,
|
|
479
|
+
): L2MessageReceipt | null {
|
|
480
|
+
for (const log of receipt.logs) {
|
|
481
|
+
try {
|
|
482
|
+
const event = EthersEthereumProvider.l2AdaptorInterface.parseLog({
|
|
483
|
+
topics: [...log.topics],
|
|
484
|
+
data: log.data,
|
|
485
|
+
});
|
|
486
|
+
if (event && event.name === "DepositCallInvoked") {
|
|
487
|
+
return {
|
|
488
|
+
messageId: String(event.args[0]),
|
|
489
|
+
depositId: BigInt(event.args[1]),
|
|
490
|
+
blockHash: receipt.blockHash,
|
|
491
|
+
blockNumber: receipt.blockNumber,
|
|
492
|
+
txHash: receipt.hash,
|
|
493
|
+
txIndex: receipt.index,
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
} catch {}
|
|
497
|
+
}
|
|
498
|
+
return null;
|
|
499
|
+
}
|
|
474
500
|
}
|