@wormhole-foundation/sdk-evm-portico 4.22.0-beta.0 → 5.0.0-beta.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wormhole-foundation/sdk-evm-portico",
3
- "version": "4.22.0-beta.0",
3
+ "version": "5.0.0-beta.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wormhole-foundation/wormhole-sdk-ts.git"
@@ -13,13 +13,12 @@
13
13
  "test": "tests"
14
14
  },
15
15
  "license": "Apache-2.0",
16
- "main": "./dist/cjs/index.js",
17
- "types": "./dist/cjs/index.d.ts",
16
+ "main": "./dist/esm/index.js",
17
+ "types": "./dist/esm/index.d.ts",
18
18
  "module": "./dist/esm/index.js",
19
19
  "description": "SDK for EVM chains, used in conjunction with @wormhole-foundation/sdk",
20
20
  "files": [
21
- "dist/esm",
22
- "dist/cjs"
21
+ "dist/esm"
23
22
  ],
24
23
  "keywords": [
25
24
  "wormhole",
@@ -35,49 +34,32 @@
35
34
  "evm"
36
35
  ],
37
36
  "engines": {
38
- "node": ">=16"
37
+ "node": ">=20.19"
39
38
  },
40
39
  "sideEffects": [
41
- "./dist/cjs/index.js",
42
40
  "./dist/esm/index.js"
43
41
  ],
44
42
  "scripts": {
45
- "build:cjs": "tsc -p ./tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
46
43
  "build:esm": "tsc -p ./tsconfig.esm.json",
47
- "build": "npm run build:esm && npm run build:cjs",
44
+ "build": "npm run build:esm",
48
45
  "rebuild": "npm run clean && npm run build",
49
46
  "clean": "rm -rf ./dist && rm -rf ./.turbo",
50
47
  "lint": "npm run prettier && eslint --fix ./src --ext .ts",
51
48
  "prettier": "prettier --write ./src"
52
49
  },
53
50
  "dependencies": {
54
- "@wormhole-foundation/sdk-connect": "4.22.0-beta.0",
55
- "@wormhole-foundation/sdk-evm": "4.22.0-beta.0",
56
- "@wormhole-foundation/sdk-evm-core": "4.22.0-beta.0",
57
- "@wormhole-foundation/sdk-evm-tokenbridge": "4.22.0-beta.0",
51
+ "@wormhole-foundation/sdk-connect": "5.0.0-beta.0",
52
+ "@wormhole-foundation/sdk-evm": "5.0.0-beta.0",
53
+ "@wormhole-foundation/sdk-evm-core": "5.0.0-beta.0",
54
+ "@wormhole-foundation/sdk-evm-tokenbridge": "5.0.0-beta.0",
58
55
  "ethers": "^6.5.1"
59
56
  },
60
57
  "type": "module",
61
58
  "exports": {
62
59
  ".": {
63
- "react-native": {
64
- "import": "./dist/esm/index.js",
65
- "require": "./dist/cjs/index.js",
66
- "types": "./dist/cjs/index.d.ts",
67
- "default": "./dist/cjs/index.js"
68
- },
69
- "import": {
70
- "types": "./dist/esm/index.d.ts",
71
- "default": "./dist/esm/index.js"
72
- },
73
- "require": {
74
- "types": "./dist/cjs/index.d.ts",
75
- "default": "./dist/cjs/index.js"
76
- },
77
- "default": {
78
- "types": "./dist/cjs/index.d.ts",
79
- "default": "./dist/cjs/index.js"
80
- }
60
+ "types": "./dist/esm/index.d.ts",
61
+ "import": "./dist/esm/index.js",
62
+ "default": "./dist/esm/index.js"
81
63
  }
82
64
  }
83
65
  }
@@ -1,5 +0,0 @@
1
- import { ethers } from 'ethers';
2
- export declare const porticoAbi: ethers.Interface;
3
- export declare const porticoSwapFinishedEvent = "0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc";
4
- export declare const uniswapQuoterV2Abi: ethers.Interface;
5
- //# sourceMappingURL=abis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../src/abis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,UAAU,kBAGrB,CAAC;AAEH,eAAO,MAAM,wBAAwB,uEACiC,CAAC;AAEvE,eAAO,MAAM,kBAAkB,kBAE7B,CAAC"}
package/dist/cjs/abis.js DELETED
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uniswapQuoterV2Abi = exports.porticoSwapFinishedEvent = exports.porticoAbi = void 0;
4
- const ethers_1 = require("ethers");
5
- exports.porticoAbi = new ethers_1.ethers.Interface([
6
- 'function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)',
7
- 'function receiveMessageAndSwap(bytes)',
8
- ]);
9
- exports.porticoSwapFinishedEvent = '0xc2addcb063016f6dc1647fc8cd7206c3436cc4293c4acffe4feac288459ca7fc';
10
- exports.uniswapQuoterV2Abi = new ethers_1.ethers.Interface([
11
- 'function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)',
12
- ]);
13
- //# sourceMappingURL=abis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abis.js","sourceRoot":"","sources":["../../src/abis.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEnB,QAAA,UAAU,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC;IAC7C,mIAAmI;IACnI,uCAAuC;CACxC,CAAC,CAAC;AAEU,QAAA,wBAAwB,GACnC,oEAAoE,CAAC;AAE1D,QAAA,kBAAkB,GAAG,IAAI,eAAM,CAAC,SAAS,CAAC;IACrD,+HAA+H;CAChI,CAAC,CAAC"}
package/dist/cjs/api.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import type { Chain, TokenAddress } from '@wormhole-foundation/sdk-connect';
2
- export declare const RELAYER_FEE_API_URL = "https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";
3
- export interface RelayerQuoteResponse {
4
- fee: string;
5
- validUntil: string;
6
- }
7
- export declare class PorticoApi {
8
- static quoteRelayer<C extends Chain>(chain: Chain, from: TokenAddress<C>, to: TokenAddress<C>): Promise<bigint>;
9
- }
10
- //# sourceMappingURL=api.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAQ5E,eAAO,MAAM,mBAAmB,qDACoB,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;WACR,YAAY,CAAC,CAAC,SAAS,KAAK,EACvC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,MAAM,CAAC;CA8BnB"}
package/dist/cjs/api.js DELETED
@@ -1,31 +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
- exports.PorticoApi = exports.RELAYER_FEE_API_URL = void 0;
7
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
8
- const axios_1 = __importDefault(require("axios"));
9
- exports.RELAYER_FEE_API_URL = 'https://gfx.relayers.xlabs.xyz/api/v1/swap/quote';
10
- class PorticoApi {
11
- static async quoteRelayer(chain, from, to) {
12
- if ((0, sdk_connect_1.isNative)(from) || (0, sdk_connect_1.isNative)(to))
13
- throw new Error('how did you get here tho?');
14
- const sourceToken = sdk_connect_1.encoding.hex.encode(from.toUniversalAddress().toUint8Array(), false);
15
- const targetToken = sdk_connect_1.encoding.hex.encode(to.toUniversalAddress().toUint8Array(), false);
16
- const targetChain = (0, sdk_connect_1.toChainId)(chain);
17
- const request = { targetChain, sourceToken, targetToken };
18
- try {
19
- const response = await axios_1.default.post(exports.RELAYER_FEE_API_URL, request);
20
- return BigInt(response.data.fee);
21
- }
22
- catch (e) {
23
- if (axios_1.default.isAxiosError(e)) {
24
- throw new Error(`Error getting relayer fee: ${e.response?.statusText}`);
25
- }
26
- throw e;
27
- }
28
- }
29
- }
30
- exports.PorticoApi = PorticoApi;
31
- //# sourceMappingURL=api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";;;;;;AACA,kEAI0C;AAC1C,kDAA0B;AAEb,QAAA,mBAAmB,GAC9B,kDAAkD,CAAC;AAOrD,MAAa,UAAU;IACrB,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,KAAY,EACZ,IAAqB,EACrB,EAAmB;QAEnB,IAAI,IAAA,sBAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAQ,EAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,sBAAQ,CAAC,GAAG,CAAC,MAAM,CACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,EACxC,KAAK,CACN,CAAC;QAEF,MAAM,WAAW,GAAG,sBAAQ,CAAC,GAAG,CAAC,MAAM,CACrC,EAAE,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,EACtC,KAAK,CACN,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,uBAAS,EAAC,KAAK,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,2BAAmB,EACnB,OAAO,CACR,CAAC;YACF,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,eAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;CACF;AAnCD,gCAmCC"}
@@ -1,35 +0,0 @@
1
- import type { AccountAddress, ChainAddress, ChainsConfig, Contracts, Network, Platform, TokenAddress, TokenId } from '@wormhole-foundation/sdk-connect';
2
- import { PorticoBridge } from '@wormhole-foundation/sdk-connect';
3
- import type { EvmChains } from '@wormhole-foundation/sdk-evm';
4
- import { EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
5
- import type { Provider } from 'ethers';
6
- import { EvmWormholeCore } from '@wormhole-foundation/sdk-evm-core';
7
- import { EvmTokenBridge } from '@wormhole-foundation/sdk-evm-tokenbridge';
8
- import '@wormhole-foundation/sdk-evm-tokenbridge';
9
- export declare class EvmPorticoBridge<N extends Network, C extends EvmChains = EvmChains> implements PorticoBridge<N, C> {
10
- readonly network: N;
11
- readonly chain: C;
12
- readonly provider: Provider;
13
- readonly contracts: Contracts;
14
- chainId: bigint;
15
- core: EvmWormholeCore<N, C>;
16
- tokenBridge: EvmTokenBridge<N, C>;
17
- constructor(network: N, chain: C, provider: Provider, contracts: Contracts);
18
- static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, Platform>): Promise<EvmPorticoBridge<N, EvmChains>>;
19
- transfer(sender: AccountAddress<C>, receiver: ChainAddress, token: TokenAddress<C>, amount: bigint, destToken: TokenId, destinationPorticoAddress: string, quote: PorticoBridge.Quote): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
20
- redeem(sender: AccountAddress<C>, vaa: PorticoBridge.VAA): AsyncGenerator<EvmUnsignedTransaction<N, C>, void, unknown>;
21
- isTransferCompleted(vaa: PorticoBridge.VAA): Promise<boolean>;
22
- quoteSwap(input: TokenAddress<C>, output: TokenAddress<C>, tokenGroup: string, amount: bigint): Promise<bigint>;
23
- quoteRelay(startToken: TokenAddress<C>, endToken: TokenAddress<C>): Promise<bigint>;
24
- getTransferrableToken(address: string): Promise<TokenId>;
25
- supportedTokens(): {
26
- group: string;
27
- token: TokenId;
28
- }[];
29
- getTokenGroup(address: string): string;
30
- private approve;
31
- private createUnsignedTransaction;
32
- getPorticoAddress(group: string): string;
33
- private getQuoterAddress;
34
- }
35
- //# sourceMappingURL=bridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,OAAO,EACR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,aAAa,EASd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAGL,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAM3D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,0CAA0C,CAAC;AAElD,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,SAAS,GAAG,SAAS,CAC/B,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAS5B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAV/B,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,WAAW,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAGvB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS;WAelB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAUnC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,yBAAyB,EAAE,MAAM,EACjC,KAAK,EAAE,aAAa,CAAC,KAAK;IAoFrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG;IAwBzD,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAO7D,SAAS,CACb,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IA+BZ,UAAU,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAMjE,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC9D,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE;IAUtD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;YAOvB,OAAO;IAuBtB,OAAO,CAAC,yBAAyB;IAajC,iBAAiB,CAAC,KAAK,EAAE,MAAM;IAS/B,OAAO,CAAC,gBAAgB;CAQzB"}
@@ -1,192 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EvmPorticoBridge = void 0;
4
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
5
- const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
6
- const ethers_1 = require("ethers");
7
- const abis_js_1 = require("./abis.js");
8
- const api_js_1 = require("./api.js");
9
- const consts_js_1 = require("./consts.js");
10
- const sdk_evm_core_1 = require("@wormhole-foundation/sdk-evm-core");
11
- const sdk_evm_tokenbridge_1 = require("@wormhole-foundation/sdk-evm-tokenbridge");
12
- require("@wormhole-foundation/sdk-evm-tokenbridge");
13
- class EvmPorticoBridge {
14
- network;
15
- chain;
16
- provider;
17
- contracts;
18
- chainId;
19
- core;
20
- tokenBridge;
21
- constructor(network, chain, provider, contracts) {
22
- this.network = network;
23
- this.chain = chain;
24
- this.provider = provider;
25
- this.contracts = contracts;
26
- if (!contracts.portico)
27
- throw new Error('Unsupported chain, no contract addresses for: ' + chain);
28
- this.core = new sdk_evm_core_1.EvmWormholeCore(network, chain, provider, contracts);
29
- this.tokenBridge = new sdk_evm_tokenbridge_1.EvmTokenBridge(network, chain, provider, contracts);
30
- this.chainId = sdk_connect_1.nativeChainIds.networkChainToNativeChainId.get(network, chain);
31
- }
32
- static async fromRpc(provider, config) {
33
- const [network, chain] = await sdk_evm_1.EvmPlatform.chainFromRpc(provider);
34
- const conf = config[chain];
35
- if (conf.network !== network)
36
- throw new Error(`Network mismatch: ${conf.network} != ${network}`);
37
- return new EvmPorticoBridge(network, chain, provider, conf.contracts);
38
- }
39
- async *transfer(sender, receiver, token, amount, destToken, destinationPorticoAddress, quote) {
40
- const { minAmountStart, minAmountFinish } = quote.swapAmounts;
41
- if (minAmountStart === 0n)
42
- throw new Error('Invalid min swap amount');
43
- if (minAmountFinish === 0n)
44
- throw new Error('Invalid min swap amount');
45
- const senderAddress = new sdk_evm_1.EvmAddress(sender).toString();
46
- const [isStartTokenNative, startToken] = (0, sdk_connect_1.resolveWrappedToken)(this.network, this.chain, token);
47
- const [isFinalTokenNative, finalToken] = (0, sdk_connect_1.resolveWrappedToken)(this.network, receiver.chain, destToken);
48
- const startTokenAddress = (0, sdk_connect_1.canonicalAddress)(startToken);
49
- const cannonTokenAddress = (0, sdk_connect_1.canonicalAddress)(await this.getTransferrableToken(startTokenAddress));
50
- const receiverAddress = (0, sdk_connect_1.canonicalAddress)(receiver);
51
- const finalTokenAddress = (0, sdk_connect_1.canonicalAddress)(finalToken);
52
- const nonce = new Date().valueOf() % 2 ** 4;
53
- const flags = sdk_connect_1.PorticoBridge.serializeFlagSet({
54
- flags: {
55
- shouldWrapNative: isStartTokenNative,
56
- shouldUnwrapNative: isFinalTokenNative,
57
- },
58
- recipientChain: (0, sdk_connect_1.toChainId)(receiver.chain),
59
- bridgeNonce: nonce,
60
- feeTierStart: consts_js_1.FEE_TIER,
61
- feeTierFinish: consts_js_1.FEE_TIER,
62
- padding: new Uint8Array(19),
63
- });
64
- const transactionData = abis_js_1.porticoAbi.encodeFunctionData('start', [
65
- [
66
- flags,
67
- startTokenAddress.toLowerCase(),
68
- cannonTokenAddress,
69
- finalTokenAddress.toLowerCase(),
70
- receiverAddress,
71
- destinationPorticoAddress,
72
- amount.toString(),
73
- minAmountStart.toString(),
74
- minAmountFinish.toString(),
75
- quote.relayerFee.toString(),
76
- ],
77
- ]);
78
- const group = this.getTokenGroup(startToken.address.toString());
79
- const porticoAddress = this.getPorticoAddress(group);
80
- // Approve the token if necessary
81
- if (!isStartTokenNative)
82
- yield* this.approve(startTokenAddress, senderAddress, amount, porticoAddress);
83
- const messageFee = await this.core.getMessageFee();
84
- const tx = {
85
- to: porticoAddress,
86
- data: transactionData,
87
- value: messageFee + (isStartTokenNative ? amount : 0n),
88
- };
89
- yield this.createUnsignedTransaction((0, sdk_evm_1.addFrom)(tx, senderAddress), 'PorticoBridge.Transfer');
90
- }
91
- async *redeem(sender, vaa) {
92
- const recipientChain = (0, sdk_connect_1.toChain)(vaa.payload.payload.flagSet.recipientChain);
93
- const tokenAddress = vaa.payload.payload.finalTokenAddress
94
- .toNative(recipientChain)
95
- .toString();
96
- const group = this.getTokenGroup(tokenAddress);
97
- const porticoAddress = this.getPorticoAddress(group);
98
- const contract = new ethers_1.ethers.Contract(porticoAddress, abis_js_1.porticoAbi.fragments, this.provider);
99
- const txReq = await contract
100
- .getFunction('receiveMessageAndSwap')
101
- .populateTransaction((0, sdk_connect_1.serialize)(vaa));
102
- const address = new sdk_evm_1.EvmAddress(sender).toString();
103
- yield this.createUnsignedTransaction((0, sdk_evm_1.addFrom)(txReq, address), 'PorticoBridge.Redeem');
104
- }
105
- async isTransferCompleted(vaa) {
106
- const isCompleted = await this.tokenBridge.tokenBridge.isTransferCompleted((0, ethers_1.keccak256)(vaa.hash));
107
- return isCompleted;
108
- }
109
- async quoteSwap(input, output, tokenGroup, amount) {
110
- const [, inputTokenId] = (0, sdk_connect_1.resolveWrappedToken)(this.network, this.chain, input);
111
- const [, outputTokenId] = (0, sdk_connect_1.resolveWrappedToken)(this.network, this.chain, output);
112
- const inputAddress = (0, sdk_connect_1.canonicalAddress)(inputTokenId);
113
- const outputAddress = (0, sdk_connect_1.canonicalAddress)(outputTokenId);
114
- if ((0, sdk_connect_1.isEqualCaseInsensitive)(inputAddress, outputAddress))
115
- return amount;
116
- const quoterAddress = this.getQuoterAddress(tokenGroup);
117
- const quoter = new ethers_1.ethers.Contract(quoterAddress, abis_js_1.uniswapQuoterV2Abi.fragments, this.provider);
118
- const result = await quoter
119
- .getFunction('quoteExactInputSingle')
120
- .staticCall([inputAddress, outputAddress, amount, consts_js_1.FEE_TIER, 0]);
121
- return result[0];
122
- }
123
- async quoteRelay(startToken, endToken) {
124
- return await api_js_1.PorticoApi.quoteRelayer(this.chain, startToken, endToken);
125
- }
126
- // For a given token, return the Wormhole-wrapped/highway token
127
- // that actually gets bridged from this chain
128
- async getTransferrableToken(address) {
129
- const token = sdk_connect_1.Wormhole.tokenId(this.chain, address);
130
- const [, wrappedToken] = (0, sdk_connect_1.resolveWrappedToken)(this.network, this.chain, token);
131
- if (this.chain === 'Ethereum')
132
- return wrappedToken;
133
- // Find the group that this token belongs to
134
- const group = Object.values(consts_js_1.supportedTokens).find((tokens) => tokens.find((t) => t.chain === this.chain &&
135
- (0, sdk_connect_1.canonicalAddress)(t) === (0, sdk_connect_1.canonicalAddress)(wrappedToken)));
136
- if (!group)
137
- throw new Error(`No token group found for ${address} on ${this.chain}`);
138
- // Find the token in this group that originates on Ethereum
139
- const tokenOnEthereum = group.find((t) => t.chain === 'Ethereum');
140
- if (!tokenOnEthereum)
141
- throw new Error(`No Ethereum origin token found for ${address} on ${this.chain}`);
142
- // Now find the corresponding Wormhole-wrapped/highway token on this chain
143
- const highwayTokenAddr = await this.tokenBridge.getWrappedAsset(tokenOnEthereum);
144
- return sdk_connect_1.Wormhole.tokenId(this.chain, highwayTokenAddr.toString());
145
- }
146
- supportedTokens() {
147
- const result = [];
148
- for (const [group, tokens] of Object.entries(consts_js_1.supportedTokens)) {
149
- for (const token of tokens) {
150
- if (token.chain === this.chain)
151
- result.push({ group, token });
152
- }
153
- }
154
- return result;
155
- }
156
- getTokenGroup(address) {
157
- const tokens = this.supportedTokens();
158
- const token = tokens.find((t) => (0, sdk_connect_1.canonicalAddress)(t.token) === address);
159
- if (!token)
160
- throw new Error('Token not found');
161
- return token.group;
162
- }
163
- async *approve(token, senderAddr, amount, contract) {
164
- const tokenContract = sdk_evm_1.EvmPlatform.getTokenImplementation(this.provider, token);
165
- const allowance = await tokenContract.allowance(senderAddr, contract);
166
- if (allowance < amount) {
167
- const txReq = await tokenContract.approve.populateTransaction(contract, amount);
168
- yield this.createUnsignedTransaction((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'PorticoBridge.Approve');
169
- }
170
- }
171
- createUnsignedTransaction(txReq, description) {
172
- return new sdk_evm_1.EvmUnsignedTransaction((0, sdk_evm_1.addChainId)(txReq, this.chainId), this.network, this.chain, description, false);
173
- }
174
- getPorticoAddress(group) {
175
- const portico = this.contracts.portico;
176
- if (group === 'USDT') {
177
- // Use PancakeSwap if available for USDT
178
- return portico.porticoPancakeSwap || portico.porticoUniswap;
179
- }
180
- return portico.porticoUniswap;
181
- }
182
- getQuoterAddress(group) {
183
- const portico = this.contracts.portico;
184
- if (group === 'USDT') {
185
- // Use PancakeSwap if available for USDT
186
- return portico.pancakeSwapQuoterV2 || portico.uniswapQuoterV2;
187
- }
188
- return portico.uniswapQuoterV2;
189
- }
190
- }
191
- exports.EvmPorticoBridge = EvmPorticoBridge;
192
- //# sourceMappingURL=bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export declare const FEE_TIER = 100;
2
- export declare const supportedTokens: {
3
- readonly ETH: readonly [import("@wormhole-foundation/sdk-connect").TokenId<"Arbitrum">, import("@wormhole-foundation/sdk-connect").TokenId<"Base">, import("@wormhole-foundation/sdk-connect").TokenId<"Ethereum">, import("@wormhole-foundation/sdk-connect").TokenId<"Optimism">];
4
- readonly WETH: readonly [import("@wormhole-foundation/sdk-connect").TokenId<"Arbitrum">, import("@wormhole-foundation/sdk-connect").TokenId<"Avalanche">, import("@wormhole-foundation/sdk-connect").TokenId<"Base">, import("@wormhole-foundation/sdk-connect").TokenId<"Bsc">, import("@wormhole-foundation/sdk-connect").TokenId<"Ethereum">, import("@wormhole-foundation/sdk-connect").TokenId<"Optimism">, import("@wormhole-foundation/sdk-connect").TokenId<"Polygon">];
5
- readonly wstETH: readonly [import("@wormhole-foundation/sdk-connect").TokenId<"Arbitrum">, import("@wormhole-foundation/sdk-connect").TokenId<"Base">, import("@wormhole-foundation/sdk-connect").TokenId<"Ethereum">, import("@wormhole-foundation/sdk-connect").TokenId<"Optimism">, import("@wormhole-foundation/sdk-connect").TokenId<"Polygon">];
6
- readonly USDT: readonly [import("@wormhole-foundation/sdk-connect").TokenId<"Arbitrum">, import("@wormhole-foundation/sdk-connect").TokenId<"Avalanche">, import("@wormhole-foundation/sdk-connect").TokenId<"Base">, import("@wormhole-foundation/sdk-connect").TokenId<"Bsc">, import("@wormhole-foundation/sdk-connect").TokenId<"Ethereum">, import("@wormhole-foundation/sdk-connect").TokenId<"Optimism">, import("@wormhole-foundation/sdk-connect").TokenId<"Polygon">, import("@wormhole-foundation/sdk-connect").TokenId<"Celo">];
7
- };
8
- //# sourceMappingURL=consts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,MAAM,CAAC;AAE5B,eAAO,MAAM,eAAe;;;;;CAiClB,CAAC"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.supportedTokens = exports.FEE_TIER = void 0;
4
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
5
- exports.FEE_TIER = 100;
6
- exports.supportedTokens = {
7
- ETH: [
8
- sdk_connect_1.Wormhole.tokenId('Arbitrum', 'native'),
9
- sdk_connect_1.Wormhole.tokenId('Base', 'native'),
10
- sdk_connect_1.Wormhole.tokenId('Ethereum', 'native'),
11
- sdk_connect_1.Wormhole.tokenId('Optimism', 'native'),
12
- ],
13
- WETH: [
14
- sdk_connect_1.Wormhole.tokenId('Arbitrum', '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1'),
15
- sdk_connect_1.Wormhole.tokenId('Avalanche', '0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB'),
16
- sdk_connect_1.Wormhole.tokenId('Base', '0x4200000000000000000000000000000000000006'),
17
- sdk_connect_1.Wormhole.tokenId('Bsc', '0x2170Ed0880ac9A755fd29B2688956BD959F933F8'),
18
- sdk_connect_1.Wormhole.tokenId('Ethereum', '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'),
19
- sdk_connect_1.Wormhole.tokenId('Optimism', '0x4200000000000000000000000000000000000006'),
20
- sdk_connect_1.Wormhole.tokenId('Polygon', '0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619'),
21
- ],
22
- wstETH: [
23
- sdk_connect_1.Wormhole.tokenId('Arbitrum', '0x5979D7b546E38E414F7E9822514be443A4800529'),
24
- sdk_connect_1.Wormhole.tokenId('Base', '0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452'),
25
- sdk_connect_1.Wormhole.tokenId('Ethereum', '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0'),
26
- sdk_connect_1.Wormhole.tokenId('Optimism', '0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb'),
27
- sdk_connect_1.Wormhole.tokenId('Polygon', '0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD'),
28
- ],
29
- USDT: [
30
- sdk_connect_1.Wormhole.tokenId('Arbitrum', '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9'),
31
- sdk_connect_1.Wormhole.tokenId('Avalanche', '0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7'),
32
- sdk_connect_1.Wormhole.tokenId('Base', '0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2'),
33
- sdk_connect_1.Wormhole.tokenId('Bsc', '0x55d398326f99059fF775485246999027B3197955'),
34
- sdk_connect_1.Wormhole.tokenId('Ethereum', '0xdAC17F958D2ee523a2206206994597C13D831ec7'),
35
- sdk_connect_1.Wormhole.tokenId('Optimism', '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58'),
36
- sdk_connect_1.Wormhole.tokenId('Polygon', '0xc2132D05D31c914a87C6611C10748AEb04B58e8F'),
37
- sdk_connect_1.Wormhole.tokenId('Celo', '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e'),
38
- ],
39
- };
40
- //# sourceMappingURL=consts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/consts.ts"],"names":[],"mappings":";;;AAAA,kEAA4D;AAE/C,QAAA,QAAQ,GAAG,GAAG,CAAC;AAEf,QAAA,eAAe,GAAG;IAC7B,GAAG,EAAE;QACH,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;QACtC,sBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClC,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;QACtC,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;KACvC;IACD,IAAI,EAAE;QACJ,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,4CAA4C,CAAC;QAC3E,sBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,4CAA4C,CAAC;QACtE,sBAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,4CAA4C,CAAC;QACrE,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,4CAA4C,CAAC;KAC1E;IACD,MAAM,EAAE;QACN,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,4CAA4C,CAAC;QACtE,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,4CAA4C,CAAC;KAC1E;IACD,IAAI,EAAE;QACJ,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,4CAA4C,CAAC;QAC3E,sBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,4CAA4C,CAAC;QACtE,sBAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,4CAA4C,CAAC;QACrE,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1E,sBAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,4CAA4C,CAAC;QACzE,sBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,4CAA4C,CAAC;KACvE;CACO,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './bridge.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,aAAa,CAAC"}
package/dist/cjs/index.js DELETED
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
18
- const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
19
- const bridge_js_1 = require("./bridge.js");
20
- (0, sdk_connect_1.registerProtocol)(sdk_evm_1._platform, 'PorticoBridge', bridge_js_1.EvmPorticoBridge);
21
- __exportStar(require("./bridge.js"), exports);
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kEAAoE;AACpE,0DAAyD;AACzD,2CAA+C;AAE/C,IAAA,8BAAgB,EAAC,mBAAS,EAAE,eAAe,EAAE,4BAAgB,CAAC,CAAC;AAE/D,8CAA4B"}
@@ -1 +0,0 @@
1
- {"type":"commonjs"}