@wormhole-foundation/wormhole-connect 2.3.0-beta.0-development → 2.3.0-beta.1-development

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.
Files changed (88) hide show
  1. package/dist/main.js +4 -4
  2. package/dist/src/hooks/useWalletCompatibility.d.ts.map +1 -1
  3. package/dist/src/index.d.ts +3 -3
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/telemetry/index.d.ts +1 -0
  6. package/dist/src/telemetry/index.d.ts.map +1 -1
  7. package/lib/{aptos-C8wWowIo.js → aptos-CVrk2e8x.js} +2 -2
  8. package/lib/{aptos-D7c67ZLW.mjs → aptos-Cd2RxmTX.mjs} +5 -5
  9. package/lib/{aptos-DdE-0VJe.js → aptos-D9RWCwaG.js} +1 -1
  10. package/lib/{aptos-DDn36CHg.mjs → aptos-DqQeHeWd.mjs} +2 -2
  11. package/lib/{base64-ezgPiVRC.js → base64-D7N0XEtt.js} +1 -1
  12. package/lib/{base64-DDHFdAly.mjs → base64-DOdqKfyo.mjs} +1 -1
  13. package/lib/{ccip-cCuo9AgF.mjs → ccip-B1d8Cfcc.mjs} +1 -1
  14. package/lib/{ccip-CcmdyG6F.js → ccip-C4FhwB7R.js} +1 -1
  15. package/lib/{chunk-IMTC3J2M-CVDcZzUA.mjs → chunk-IMTC3J2M-B2ra0Z4c.mjs} +3 -3
  16. package/lib/{chunk-IMTC3J2M-DxYYEZPQ.js → chunk-IMTC3J2M-DtuxbHq9.js} +1 -1
  17. package/lib/{events-BJ__ydp1.js → events-BC1Svub2.js} +1 -1
  18. package/lib/{events-Cx0TtMEs.mjs → events-BrouOFcp.mjs} +1 -1
  19. package/lib/{evm-C1P39f42.js → evm-BXku4GNW.js} +3 -3
  20. package/lib/{evm-DnyX6-E0.mjs → evm-Ccy4JfF6.mjs} +17 -17
  21. package/lib/{evm-B2N6Szko.mjs → evm-CfS9xq5t.mjs} +5 -5
  22. package/lib/{evm-0ozMa6lt.js → evm-DT_W87u-.js} +1 -1
  23. package/lib/{index-BAH37FLm.mjs → index--0DQj_F2.mjs} +2 -2
  24. package/lib/{index-mCqIYfBy.js → index-1EgmRX-a.js} +1 -1
  25. package/lib/{index-Bu-ZkvDv.mjs → index-1LP1mA3c.mjs} +1 -1
  26. package/lib/{index-uXXxfGyN.mjs → index-B4hbI0dp.mjs} +2 -2
  27. package/lib/{index-DcIAHxwS.js → index-B58a-RHd.js} +1 -1
  28. package/lib/{index-Bj6DHbUk.mjs → index-BCjWPjhx.mjs} +2 -2
  29. package/lib/{index-ZFWFaT_g.js → index-BFFNnNKW.js} +1 -1
  30. package/lib/{index-BxXt3T2L.mjs → index-BODYDhXF.mjs} +2 -2
  31. package/lib/{index-B2v3lWOA.mjs → index-BcJBEeFA.mjs} +1 -1
  32. package/lib/{index-PlcYoJ_e.mjs → index-BdodDbVS.mjs} +1 -1
  33. package/lib/{index-DRcPh_kU.mjs → index-Bdopcy73.mjs} +4 -4
  34. package/lib/{index-DPCJduN1.js → index-Br4Igv20.js} +1 -1
  35. package/lib/{index-DvpfNUKf.mjs → index-BuGFh8C7.mjs} +2 -2
  36. package/lib/{index-D4vjV5Cn.js → index-C-nWxaLg.js} +1 -1
  37. package/lib/{index-CUb31_lx.mjs → index-C0IvEwkt.mjs} +1 -1
  38. package/lib/{index-vipvKyDe.js → index-CCWEM47k.js} +1 -1
  39. package/lib/{index-LbLfiRUY.js → index-CSKbEqQP.js} +1 -1
  40. package/lib/{index-DiGgidBd.mjs → index-CU9KzHgH.mjs} +35 -24
  41. package/lib/{index-C7o_1w2b.js → index-CUm6qdjR.js} +1 -1
  42. package/lib/{index-DTPmVH0m.js → index-Camctzsh.js} +1 -1
  43. package/lib/{index-C8klYEIV.js → index-CdB9Qj-M.js} +1 -1
  44. package/lib/{index-BD2_PLZI.js → index-CgISt_Up.js} +1 -1
  45. package/lib/{index-BxP3fEtC.mjs → index-Cmmxyf4Y.mjs} +2 -2
  46. package/lib/{index-CeGgtsu2.mjs → index-CnkeKt9s.mjs} +3 -3
  47. package/lib/{index-BzcZiOc0.mjs → index-CpQ7f1YB.mjs} +1 -1
  48. package/lib/{index-CyQ9IEH0.js → index-D3Mg9Eh4.js} +1 -1
  49. package/lib/{index-CkwnTFud.js → index-D5qBrm4q.js} +1 -1
  50. package/lib/{index-JqJdK8nh.js → index-DB5xCELT.js} +1 -1
  51. package/lib/{index-D5xbHPoy.js → index-DSTC1VGB.js} +1 -1
  52. package/lib/{index-DziLpE9R.mjs → index-DX-wGKTH.mjs} +2 -2
  53. package/lib/{index-C6dpONOU.js → index-DihlIPlD.js} +1 -1
  54. package/lib/{index-DPf2pllz.mjs → index-Dk29guyA.mjs} +3 -3
  55. package/lib/{index-BCYsl46V.js → index-DqO3qLPG.js} +1 -1
  56. package/lib/{index-DzM-GaLm.js → index-Dsd09IV6.js} +1 -1
  57. package/lib/{index-Be1t7NdK.mjs → index-DxslawxO.mjs} +2 -2
  58. package/lib/{index-wzIjatvw.js → index-DyqHtpmj.js} +1 -1
  59. package/lib/{index-DP4LajXh.js → index-RFgTGgbk.js} +5 -5
  60. package/lib/{index-DH7AJ70P.mjs → index-Y5ArJjKr.mjs} +1 -1
  61. package/lib/{index-BuYa5pxo.mjs → index-s53oBunM.mjs} +2 -2
  62. package/lib/{index-Cfoq6joM.mjs → index-s7S0StCX.mjs} +1 -1
  63. package/lib/{index-CFMLZ1vA.mjs → index-vEkD7kom.mjs} +5 -5
  64. package/lib/{index-DLxALGi6.js → index-xeYB5lOA.js} +1 -1
  65. package/lib/{index.es-CGjw8LBi.mjs → index.es-DD7lO_GM.mjs} +6 -6
  66. package/lib/{index.es-D45qOiuD.js → index.es-PJjmKf_k.js} +2 -2
  67. package/lib/index.js +1 -1
  68. package/lib/index.mjs +32 -19
  69. package/lib/{signer-DteZwBbB.js → signer-Bs70WVKc.js} +1 -1
  70. package/lib/{signer-StZFWU4E.mjs → signer-dwfhV60M.mjs} +1 -1
  71. package/lib/solana-B1Wsl1Pg.js +1 -0
  72. package/lib/solana-BDUnTuLS.mjs +16 -0
  73. package/lib/{solana-IP1dZh2r.mjs → solana-D8IW8eXX.mjs} +4 -4
  74. package/lib/{solana-643BgaAW.js → solana-DK3yyz37.js} +1 -1
  75. package/lib/{solanaEmbed.esm-Cp1hmjAh.js → solanaEmbed.esm-DjNz5swk.js} +1 -1
  76. package/lib/{solanaEmbed.esm-nYODBqHJ.mjs → solanaEmbed.esm-DlyRzA6N.mjs} +2 -2
  77. package/lib/src/hooks/useWalletCompatibility.d.ts.map +1 -1
  78. package/lib/src/index.d.ts +3 -3
  79. package/lib/src/index.d.ts.map +1 -1
  80. package/lib/src/telemetry/index.d.ts +1 -0
  81. package/lib/src/telemetry/index.d.ts.map +1 -1
  82. package/lib/{sui-DbQenqxx.mjs → sui-BN9_xkve.mjs} +1 -1
  83. package/lib/{sui-BV_WN62T.js → sui-BRZ30Let.js} +1 -1
  84. package/lib/{sui-DdU63C8s.js → sui-BSr1lx4J.js} +2 -2
  85. package/lib/{sui-OujMcwQK.mjs → sui-CIYeuWco.mjs} +5 -5
  86. package/package.json +1 -1
  87. package/lib/solana-BuuMVrdp.js +0 -1
  88. package/lib/solana-oxjhG-3b.mjs +0 -16
@@ -1,5 +1,5 @@
1
- import { b as vo, d as _o, f as xo, g as Eo, i as Fo, j as Ao, k as So, l as Bo, m as Io, n as Oo, c as To } from "./index-DH7AJ70P.mjs";
2
- import { V as ge, X as Tn, cr as Co, aB as me } from "./index-DiGgidBd.mjs";
1
+ import { b as vo, d as _o, f as xo, g as Eo, i as Fo, j as Ao, k as So, l as Bo, m as Io, n as Oo, c as To } from "./index-Y5ArJjKr.mjs";
2
+ import { V as ge, X as Tn, cr as Co, aB as me } from "./index-CU9KzHgH.mjs";
3
3
  function Cn(e = 0) {
4
4
  return globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null ? globalThis.Buffer.allocUnsafe(e) : new Uint8Array(e);
5
5
  }
@@ -1,7 +1,7 @@
1
1
  var Pt = Object.defineProperty;
2
2
  var _t = (e, t, r) => t in e ? Pt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var f = (e, t, r) => _t(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { ae as c, V as l, a_ as A, bH as le, b2 as z, b1 as U, b3 as G, b0 as S, a$ as V, bI as Ge, bJ as Ze, bK as Wt, bL as It, bM as Ut, bN as Nt, bO as O, bP as E, b6 as y, bQ as T, bR as Ft, bS as ye, bB as dt, bT as xt, bU as lt, bV as zt, bW as Ot, bX as Q, bY as Lt, bZ as Z, b_ as H, b$ as Dt, c0 as qt, c1 as Kt, c2 as Vt, c3 as Se, c4 as Gt, c5 as v, c6 as Zt, e as oe, f as k, bA as Ce, bd as Ht, m as $, bG as Be, c7 as Yt, c8 as Qt, at as ae, ai as L, c9 as Xt, ca as ft, bj as mt, g as gt } from "./index-DiGgidBd.mjs";
4
+ import { ae as c, V as l, a_ as A, bH as le, b2 as z, b1 as U, b3 as G, b0 as S, a$ as V, bI as Ge, bJ as Ze, bK as Wt, bL as It, bM as Ut, bN as Nt, bO as O, bP as E, b6 as y, bQ as T, bR as Ft, bS as ye, bB as dt, bT as xt, bU as lt, bV as zt, bW as Ot, bX as Q, bY as Lt, bZ as Z, b_ as H, b$ as Dt, c0 as qt, c1 as Kt, c2 as Vt, c3 as Se, c4 as Gt, c5 as v, c6 as Zt, e as oe, f as k, bA as Ce, bd as Ht, m as $, bG as Be, c7 as Yt, c8 as Qt, at as ae, ai as L, c9 as Xt, ca as ft, bj as mt, g as gt } from "./index-CU9KzHgH.mjs";
5
5
  const M = new c("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
6
6
  new c("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
7
7
  const Ae = new c("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"), D = new c("So11111111111111111111111111111111111111112");
@@ -375,7 +375,7 @@ class ke {
375
375
  }
376
376
  async initUi() {
377
377
  if (typeof window < "u") {
378
- await import("./index-DziLpE9R.mjs");
378
+ await import("./index-DX-wGKTH.mjs");
379
379
  const t = document.createElement("wcm-modal");
380
380
  document.body.insertAdjacentElement("beforeend", t), w.setIsUiLoaded(!0);
381
381
  }
@@ -1,9 +1,9 @@
1
- import { aT as Do, cp as uy, V as De, cq as Zy, X as Pv, az as eg } from "./index-DiGgidBd.mjs";
2
- import { h as tg, e as ng } from "./index-DH7AJ70P.mjs";
3
- import { e as iy, d as ag } from "./base64-DDHFdAly.mjs";
1
+ import { aT as Do, cp as uy, V as De, cq as Zy, X as Pv, az as eg } from "./index-CU9KzHgH.mjs";
2
+ import { h as tg, e as ng } from "./index-Y5ArJjKr.mjs";
3
+ import { e as iy, d as ag } from "./base64-DOdqKfyo.mjs";
4
4
  import * as Wf from "react";
5
5
  import d1, { createContext as lg, useState as is, useEffect as Ky, useCallback as ug, useContext as ig } from "react";
6
- import { L as ot, B as mn, d as i2, a as o0, h as U2, b as og, c as w9, g as od, e as Jy, k as cd, f as wr, i as cg, j as Tr, D as vs } from "./index-Cfoq6joM.mjs";
6
+ import { L as ot, B as mn, d as i2, a as o0, h as U2, b as og, c as w9, g as od, e as Jy, k as cd, f as wr, i as cg, j as Tr, D as vs } from "./index-s7S0StCX.mjs";
7
7
  function rd(c, i) {
8
8
  (i == null || i > c.length) && (i = c.length);
9
9
  for (var d = 0, f = new Array(i); d < i; d++) f[d] = c[d];
@@ -1 +1 @@
1
- "use strict";var S=Object.defineProperty;var P=(l,o,t)=>o in l?S(l,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[o]=t;var h=(l,o,t)=>P(l,typeof o!="symbol"?o+"":o,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DP4LajXh.js"),U=require("./index-D4vjV5Cn.js"),A=new e.Interface(["function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)","function receiveMessageAndSwap(bytes)"]),q=new e.Interface(["function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)"]),N="https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";class R{static async quoteRelayer(o,t,r){var a;if(e.isNative(t)||e.isNative(r))throw new Error("how did you get here tho?");const n=e.hex.encode(t.toUniversalAddress().toUint8Array(),!1),s=e.hex.encode(r.toUniversalAddress().toUint8Array(),!1),i={targetChain:e.toChainId(o),sourceToken:n,targetToken:s};try{const c=await e.axios.post(N,i);return BigInt(c.data.fee)}catch(c){throw e.axios.isAxiosError(c)?new Error(`Error getting relayer fee: ${(a=c.response)==null?void 0:a.statusText}`):c}}}const m=100,E={ETH:[e.Wormhole.tokenId("Arbitrum","native"),e.Wormhole.tokenId("Base","native"),e.Wormhole.tokenId("Ethereum","native"),e.Wormhole.tokenId("Optimism","native")],WETH:[e.Wormhole.tokenId("Arbitrum","0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),e.Wormhole.tokenId("Avalanche","0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"),e.Wormhole.tokenId("Base","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Bsc","0x2170Ed0880ac9A755fd29B2688956BD959F933F8"),e.Wormhole.tokenId("Ethereum","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),e.Wormhole.tokenId("Optimism","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Polygon","0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619")],wstETH:[e.Wormhole.tokenId("Arbitrum","0x5979D7b546E38E414F7E9822514be443A4800529"),e.Wormhole.tokenId("Base","0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"),e.Wormhole.tokenId("Ethereum","0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),e.Wormhole.tokenId("Optimism","0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"),e.Wormhole.tokenId("Polygon","0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD")],USDT:[e.Wormhole.tokenId("Arbitrum","0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),e.Wormhole.tokenId("Avalanche","0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"),e.Wormhole.tokenId("Base","0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),e.Wormhole.tokenId("Bsc","0x55d398326f99059fF775485246999027B3197955"),e.Wormhole.tokenId("Ethereum","0xdAC17F958D2ee523a2206206994597C13D831ec7"),e.Wormhole.tokenId("Optimism","0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),e.Wormhole.tokenId("Polygon","0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),e.Wormhole.tokenId("Celo","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e")]};class p{constructor(o,t,r,n){h(this,"network");h(this,"chain");h(this,"provider");h(this,"contracts");h(this,"chainId");h(this,"core");h(this,"tokenBridge");if(this.network=o,this.chain=t,this.provider=r,this.contracts=n,!n.portico)throw new Error("Unsupported chain, no contract addresses for: "+t);this.core=new e.EvmWormholeCore(o,t,r,n),this.tokenBridge=new U.EvmTokenBridge(o,t,r,n),this.chainId=e.networkChainToNativeChainId.get(o,t)}static async fromRpc(o,t){const[r,n]=await e.EvmPlatform.chainFromRpc(o),s=t[n];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new p(r,n,o,s.contracts)}async*transfer(o,t,r,n,s,d,i){const{minAmountStart:a,minAmountFinish:c}=i.swapAmounts;if(a===0n)throw new Error("Invalid min swap amount");if(c===0n)throw new Error("Invalid min swap amount");const f=new e.EvmAddress(o).toString(),[u,g]=e.resolveWrappedToken(this.network,this.chain,r),[T,C]=e.resolveWrappedToken(this.network,t.chain,s),k=e.canonicalAddress(g),I=e.canonicalAddress(await this.getTransferrableToken(k)),b=e.canonicalAddress(t),v=e.canonicalAddress(C),F=new Date().valueOf()%2**4,B=e.PorticoBridge.serializeFlagSet({flags:{shouldWrapNative:u,shouldUnwrapNative:T},recipientChain:e.toChainId(t.chain),bridgeNonce:F,feeTierStart:m,feeTierFinish:m,padding:new Uint8Array(19)}),y=A.encodeFunctionData("start",[[B,k.toLowerCase(),I,v.toLowerCase(),b,d,n.toString(),a.toString(),c.toString(),i.relayerFee.toString()]]),x=this.getTokenGroup(g.address.toString()),w=this.getPorticoAddress(x);u||(yield*this.approve(k,f,n,w));const W=await this.core.getMessageFee(),D={to:w,data:y,value:W+(u?n:0n)};yield this.createUnsignedTransaction(e.addFrom(D,f),"PorticoBridge.Transfer")}async*redeem(o,t){const r=e.toChain(t.payload.payload.flagSet.recipientChain),n=t.payload.payload.finalTokenAddress.toNative(r).toString(),s=this.getTokenGroup(n),d=this.getPorticoAddress(s),a=await new e.Contract(d,A.fragments,this.provider).getFunction("receiveMessageAndSwap").populateTransaction(e.serialize(t)),c=new e.EvmAddress(o).toString();yield this.createUnsignedTransaction(e.addFrom(a,c),"PorticoBridge.Redeem")}async isTransferCompleted(o){return await this.tokenBridge.tokenBridge.isTransferCompleted(e.keccak256(o.hash))}async quoteSwap(o,t,r,n){const[,s]=e.resolveWrappedToken(this.network,this.chain,o),[,d]=e.resolveWrappedToken(this.network,this.chain,t),i=e.canonicalAddress(s),a=e.canonicalAddress(d);if(e.isEqualCaseInsensitive(i,a))return n;const c=this.getQuoterAddress(r);return(await new e.Contract(c,q.fragments,this.provider).getFunction("quoteExactInputSingle").staticCall([i,a,n,m,0]))[0]}async quoteRelay(o,t){return await R.quoteRelayer(this.chain,o,t)}async getTransferrableToken(o){const t=e.Wormhole.tokenId(this.chain,o),[,r]=e.resolveWrappedToken(this.network,this.chain,t);if(this.chain==="Ethereum")return r;const n=Object.values(E).find(i=>i.find(a=>a.chain===this.chain&&e.canonicalAddress(a)===e.canonicalAddress(r)));if(!n)throw new Error(`No token group found for ${o} on ${this.chain}`);const s=n.find(i=>i.chain==="Ethereum");if(!s)throw new Error(`No Ethereum origin token found for ${o} on ${this.chain}`);const d=await this.tokenBridge.getWrappedAsset(s);return e.Wormhole.tokenId(this.chain,d.toString())}supportedTokens(){const o=[];for(const[t,r]of Object.entries(E))for(const n of r)n.chain===this.chain&&o.push({group:t,token:n});return o}getTokenGroup(o){const r=this.supportedTokens().find(n=>e.canonicalAddress(n.token)===o);if(!r)throw new Error("Token not found");return r.group}async*approve(o,t,r,n){const s=e.EvmPlatform.getTokenImplementation(this.provider,o);if(await s.allowance(t,n)<r){const i=await s.approve.populateTransaction(n,r);yield this.createUnsignedTransaction(e.addFrom(i,t),"PorticoBridge.Approve")}}createUnsignedTransaction(o,t){return new e.EvmUnsignedTransaction(e.addChainId(o,this.chainId),this.network,this.chain,t,!1)}getPorticoAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.porticoPancakeSwap||t.porticoUniswap}getQuoterAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.pancakeSwapQuoterV2||t.uniswapQuoterV2}}e.registerProtocol(e._platform,"PorticoBridge",p);exports.EvmPorticoBridge=p;
1
+ "use strict";var S=Object.defineProperty;var P=(l,o,t)=>o in l?S(l,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[o]=t;var h=(l,o,t)=>P(l,typeof o!="symbol"?o+"":o,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-RFgTGgbk.js"),U=require("./index-C-nWxaLg.js"),A=new e.Interface(["function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)","function receiveMessageAndSwap(bytes)"]),q=new e.Interface(["function quoteExactInputSingle((address,address,uint256,uint24,uint160)) public view returns (uint256,uint160,uint32,uint256)"]),N="https://gfx.relayers.xlabs.xyz/api/v1/swap/quote";class R{static async quoteRelayer(o,t,r){var a;if(e.isNative(t)||e.isNative(r))throw new Error("how did you get here tho?");const n=e.hex.encode(t.toUniversalAddress().toUint8Array(),!1),s=e.hex.encode(r.toUniversalAddress().toUint8Array(),!1),i={targetChain:e.toChainId(o),sourceToken:n,targetToken:s};try{const c=await e.axios.post(N,i);return BigInt(c.data.fee)}catch(c){throw e.axios.isAxiosError(c)?new Error(`Error getting relayer fee: ${(a=c.response)==null?void 0:a.statusText}`):c}}}const m=100,E={ETH:[e.Wormhole.tokenId("Arbitrum","native"),e.Wormhole.tokenId("Base","native"),e.Wormhole.tokenId("Ethereum","native"),e.Wormhole.tokenId("Optimism","native")],WETH:[e.Wormhole.tokenId("Arbitrum","0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"),e.Wormhole.tokenId("Avalanche","0x49D5c2BdFfac6CE2BFdB6640F4F80f226bc10bAB"),e.Wormhole.tokenId("Base","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Bsc","0x2170Ed0880ac9A755fd29B2688956BD959F933F8"),e.Wormhole.tokenId("Ethereum","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"),e.Wormhole.tokenId("Optimism","0x4200000000000000000000000000000000000006"),e.Wormhole.tokenId("Polygon","0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619")],wstETH:[e.Wormhole.tokenId("Arbitrum","0x5979D7b546E38E414F7E9822514be443A4800529"),e.Wormhole.tokenId("Base","0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452"),e.Wormhole.tokenId("Ethereum","0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"),e.Wormhole.tokenId("Optimism","0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb"),e.Wormhole.tokenId("Polygon","0x03b54A6e9a984069379fae1a4fC4dBAE93B3bCCD")],USDT:[e.Wormhole.tokenId("Arbitrum","0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"),e.Wormhole.tokenId("Avalanche","0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7"),e.Wormhole.tokenId("Base","0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2"),e.Wormhole.tokenId("Bsc","0x55d398326f99059fF775485246999027B3197955"),e.Wormhole.tokenId("Ethereum","0xdAC17F958D2ee523a2206206994597C13D831ec7"),e.Wormhole.tokenId("Optimism","0x94b008aA00579c1307B0EF2c499aD98a8ce58e58"),e.Wormhole.tokenId("Polygon","0xc2132D05D31c914a87C6611C10748AEb04B58e8F"),e.Wormhole.tokenId("Celo","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e")]};class p{constructor(o,t,r,n){h(this,"network");h(this,"chain");h(this,"provider");h(this,"contracts");h(this,"chainId");h(this,"core");h(this,"tokenBridge");if(this.network=o,this.chain=t,this.provider=r,this.contracts=n,!n.portico)throw new Error("Unsupported chain, no contract addresses for: "+t);this.core=new e.EvmWormholeCore(o,t,r,n),this.tokenBridge=new U.EvmTokenBridge(o,t,r,n),this.chainId=e.networkChainToNativeChainId.get(o,t)}static async fromRpc(o,t){const[r,n]=await e.EvmPlatform.chainFromRpc(o),s=t[n];if(s.network!==r)throw new Error(`Network mismatch: ${s.network} != ${r}`);return new p(r,n,o,s.contracts)}async*transfer(o,t,r,n,s,d,i){const{minAmountStart:a,minAmountFinish:c}=i.swapAmounts;if(a===0n)throw new Error("Invalid min swap amount");if(c===0n)throw new Error("Invalid min swap amount");const f=new e.EvmAddress(o).toString(),[u,g]=e.resolveWrappedToken(this.network,this.chain,r),[T,C]=e.resolveWrappedToken(this.network,t.chain,s),k=e.canonicalAddress(g),I=e.canonicalAddress(await this.getTransferrableToken(k)),b=e.canonicalAddress(t),v=e.canonicalAddress(C),F=new Date().valueOf()%2**4,B=e.PorticoBridge.serializeFlagSet({flags:{shouldWrapNative:u,shouldUnwrapNative:T},recipientChain:e.toChainId(t.chain),bridgeNonce:F,feeTierStart:m,feeTierFinish:m,padding:new Uint8Array(19)}),y=A.encodeFunctionData("start",[[B,k.toLowerCase(),I,v.toLowerCase(),b,d,n.toString(),a.toString(),c.toString(),i.relayerFee.toString()]]),x=this.getTokenGroup(g.address.toString()),w=this.getPorticoAddress(x);u||(yield*this.approve(k,f,n,w));const W=await this.core.getMessageFee(),D={to:w,data:y,value:W+(u?n:0n)};yield this.createUnsignedTransaction(e.addFrom(D,f),"PorticoBridge.Transfer")}async*redeem(o,t){const r=e.toChain(t.payload.payload.flagSet.recipientChain),n=t.payload.payload.finalTokenAddress.toNative(r).toString(),s=this.getTokenGroup(n),d=this.getPorticoAddress(s),a=await new e.Contract(d,A.fragments,this.provider).getFunction("receiveMessageAndSwap").populateTransaction(e.serialize(t)),c=new e.EvmAddress(o).toString();yield this.createUnsignedTransaction(e.addFrom(a,c),"PorticoBridge.Redeem")}async isTransferCompleted(o){return await this.tokenBridge.tokenBridge.isTransferCompleted(e.keccak256(o.hash))}async quoteSwap(o,t,r,n){const[,s]=e.resolveWrappedToken(this.network,this.chain,o),[,d]=e.resolveWrappedToken(this.network,this.chain,t),i=e.canonicalAddress(s),a=e.canonicalAddress(d);if(e.isEqualCaseInsensitive(i,a))return n;const c=this.getQuoterAddress(r);return(await new e.Contract(c,q.fragments,this.provider).getFunction("quoteExactInputSingle").staticCall([i,a,n,m,0]))[0]}async quoteRelay(o,t){return await R.quoteRelayer(this.chain,o,t)}async getTransferrableToken(o){const t=e.Wormhole.tokenId(this.chain,o),[,r]=e.resolveWrappedToken(this.network,this.chain,t);if(this.chain==="Ethereum")return r;const n=Object.values(E).find(i=>i.find(a=>a.chain===this.chain&&e.canonicalAddress(a)===e.canonicalAddress(r)));if(!n)throw new Error(`No token group found for ${o} on ${this.chain}`);const s=n.find(i=>i.chain==="Ethereum");if(!s)throw new Error(`No Ethereum origin token found for ${o} on ${this.chain}`);const d=await this.tokenBridge.getWrappedAsset(s);return e.Wormhole.tokenId(this.chain,d.toString())}supportedTokens(){const o=[];for(const[t,r]of Object.entries(E))for(const n of r)n.chain===this.chain&&o.push({group:t,token:n});return o}getTokenGroup(o){const r=this.supportedTokens().find(n=>e.canonicalAddress(n.token)===o);if(!r)throw new Error("Token not found");return r.group}async*approve(o,t,r,n){const s=e.EvmPlatform.getTokenImplementation(this.provider,o);if(await s.allowance(t,n)<r){const i=await s.approve.populateTransaction(n,r);yield this.createUnsignedTransaction(e.addFrom(i,t),"PorticoBridge.Approve")}}createUnsignedTransaction(o,t){return new e.EvmUnsignedTransaction(e.addChainId(o,this.chainId),this.network,this.chain,t,!1)}getPorticoAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.porticoPancakeSwap||t.porticoUniswap}getQuoterAddress(o){const t=this.contracts.portico;return o==="USDT"&&t.pancakeSwapQuoterV2||t.uniswapQuoterV2}}e.registerProtocol(e._platform,"PorticoBridge",p);exports.EvmPorticoBridge=p;
@@ -1,8 +1,8 @@
1
1
  var z = Object.defineProperty;
2
2
  var L = (p, e, t) => e in p ? z(p, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : p[e] = t;
3
3
  var u = (p, e, t) => L(p, typeof e != "symbol" ? e + "" : e, t);
4
- import { b5 as D, m as C, r as T, b6 as S, az as I, j as s, b7 as V, b8 as G, E as B, b as F, b9 as f, ba as h, bb as H, bc as l, bd as M, a4 as y, be as Y, bf as J, bg as K, bh as X, bi as Z, bj as tt, _ as et } from "./index-DiGgidBd.mjs";
5
- import { EvmTokenBridge as nt } from "./index-BzcZiOc0.mjs";
4
+ import { b5 as D, m as C, r as T, b6 as S, az as I, j as s, b7 as V, b8 as G, E as B, b as F, b9 as f, ba as h, bb as H, bc as l, bd as M, a4 as y, be as Y, bf as J, bg as K, bh as X, bi as Z, bj as tt, _ as et } from "./index-CU9KzHgH.mjs";
5
+ import { EvmTokenBridge as nt } from "./index-CpQ7f1YB.mjs";
6
6
  const v = new D([
7
7
  "function start((bytes32,address,address,address,address,address,uint256,uint256,uint256,uint256)) returns (address,uint16,uint64)",
8
8
  "function receiveMessageAndSwap(bytes)"