@rango-dev/provider-ledger 0.15.2-next.3 → 0.15.2-next.4

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 (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{a as I,d as V,e as F,f as Y,h as Z}from"./chunk-2KLLAGCE.js";import{a}from"./chunk-CVKDPNYM.js";function b(){return b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b.apply(this,arguments)}a(b,"_extends");var S={name:"chainId",regex:"[-:a-zA-Z0-9]{5,41}",parameters:{delimiter:":",values:{0:{name:"namespace",regex:"[-a-z0-9]{3,8}"},1:{name:"reference",regex:"[-a-zA-Z0-9]{1,32}"}}}},se={name:"accountId",regex:"[-:a-zA-Z0-9]{7,106}",parameters:{delimiter:":",values:{0:{name:"namespace",regex:"[-a-z0-9]{3,8}"},1:{name:"reference",regex:"[-a-zA-Z0-9]{1,32}"},2:{name:"address",regex:"[a-zA-Z0-9]{1,64}"}}}},A={name:"assetName",regex:"[-:a-zA-Z0-9]{5,73}",parameters:{delimiter:":",values:{0:{name:"namespace",regex:"[-a-z0-9]{3,8}"},1:{name:"reference",regex:"[-a-zA-Z0-9]{1,64}"}}}},oe={name:"assetType",regex:"[-:a-zA-Z0-9]{11,115}",parameters:{delimiter:"/",values:{0:S,1:A}}},ie={name:"assetId",regex:"[-:a-zA-Z0-9]{13,148}",parameters:{delimiter:"/",values:{0:S,1:A,2:{name:"tokenId",regex:"[-a-zA-Z0-9]{1,32}"}}}},f={2:S,10:se,19:{assetName:A,assetType:oe,assetId:ie}};function j(e,t){return e.split(t.parameters.delimiter)}a(j,"splitParams");function g(e,t){var n=j(e,t),r={};return n.forEach(function(s,i){r[t.parameters.values[i].name]=s}),r}a(g,"getParams");function l(e,t){return Object.values(t.parameters.values).map(function(n){var r=e[n.name];return typeof r=="string"?r:l(r,n)}).join(t.parameters.delimiter)}a(l,"joinParams");function v(e,t){if(!new RegExp(t.regex).test(e))return!1;var n=j(e,t);if(n.length!==Object.keys(t.parameters.values).length)return!1;var r=n.map(function(s,i){return new RegExp(t.parameters.values[i].regex).test(s)}).filter(function(s){return!!s});return r.length===n.length}a(v,"isValidId");var d=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.namespace=n.namespace,this.reference=n.reference}a(e,"ChainId"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{namespace:this.namespace,reference:this.reference}},"toJSON"),e}();d.spec=f[2];var h=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.chainId=new d(n.chainId),this.address=n.address}a(e,"AccountId"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);var s=g(r,this.spec),i=s.namespace,c=s.reference,w=s.address,y=new d({namespace:i,reference:c});return new e({chainId:y,address:w}).toJSON()},"parse"),e.format=a(function(r){var s=new d(r.chainId),i=b({},s.toJSON(),{address:r.address});return l(i,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{chainId:this.chainId.toJSON(),address:this.address}},"toJSON"),e}();h.spec=f[10];var N=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.namespace=n.namespace,this.reference=n.reference}a(e,"AssetName"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{namespace:this.namespace,reference:this.reference}},"toJSON"),e}();N.spec=f[19].assetName;var ce=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.chainId=new d(n.chainId),this.assetName=new N(n.assetName)}a(e,"AssetType"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{chainId:this.chainId.toJSON(),assetName:this.assetName}},"toJSON"),e}();ce.spec=f[19].assetType;var he=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.chainId=new d(n.chainId),this.assetName=new N(n.assetName),this.tokenId=n.tokenId}a(e,"AssetId"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{chainId:this.chainId.toJSON(),assetName:this.assetName.toJSON(),tokenId:this.tokenId}},"toJSON"),e}();he.spec=f[19].assetId;var q=Object.defineProperty,o=a((e,t)=>q(e,"name",{value:t,configurable:!0}),"t"),m=a((e,t)=>{for(var n in t)q(e,n,{get:t[n],enumerable:!0})},"a"),ue={};m(ue,{canEagerConnect:()=>K,changeAccountSubscriber:()=>H,changeChainSubscriber:()=>U,connect:()=>R,recommended:()=>le});function B(e){let[,t]=e.state();t("network",null),t("accounts",null),t("connected",!1),t("connecting",!1)}a(B,"w");o(B,"disconnect");var me=[["disconnect",B]],$="eip155";var de={};m(de,{getAccounts:()=>E,suggestNetwork:()=>C,switchNetwork:()=>O,switchOrAddNetwork:()=>P});async function E(e){let[t,n]=await Promise.all([e.request({method:"eth_requestAccounts"}),e.request({method:"eth_chainId"})]);return{accounts:t,chainId:n}}a(E,"l");o(E,"getAccounts");async function C(e,t){return await e.request({method:"wallet_addEthereumChain",params:[t]})}a(C,"P");o(C,"suggestNetwork");async function O(e,t){return await e.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}a(O,"N");o(O,"switchNetwork");async function P(e,t){try{let n=typeof t=="string"?t:t.chainId;await O(e,n)}catch(n){let r=n;throw typeof t!="string"&&(r.code===4902||!r.code)&&await C(e,t),n}}a(P,"y");o(P,"switchOrAddNetwork");var le=[...me];function R(e){return async(t,n)=>{let r=e();if(!r)throw new Error("Do your wallet injected correctly and is evm compatible?");n&&await P(r,n);let s=await r.request({method:"eth_chainId"}),i=await E(r);return{accounts:i.accounts.map(c=>h.format({address:c,chainId:{namespace:$,reference:s}})),network:i.chainId}}}a(R,"L");o(R,"connect");function H(e){let t;return[(n,r)=>{let s=e();if(!s)throw new Error("Trying to subscribe to your EVM wallet, but seems its instance is not available.");let[,i]=n.state();if(t=o(async c=>{if(!c||c.length===0){n.action("disconnect");return}let w=await s.request({method:"eth_chainId"}),y=c.map(ae=>h.format({address:ae,chainId:{namespace:$,reference:w}}));i("accounts",y)},"eventCallback"),s.on("accountsChanged",t),r instanceof Error)throw r},(n,r)=>{let s=e();return t&&s&&s.removeListener("accountsChanged",t),r}]}a(H,"Y");o(H,"changeAccountSubscriber");function U(e){let t;return[n=>{let r=e();if(!r)throw new Error("Trying to subscribe to your EVM wallet, but seems its instance is not available.");let[,s]=n.state();t=o(async i=>{s("network",i)},"eventCallback"),r.on("chainChanged",t)},()=>{let n=e();t&&n&&n.removeListener("chainChanged",t)}]}a(U,"$");o(U,"changeChainSubscriber");function K(e){return async()=>{let t=e();if(!t)throw new Error("Trying to eagerly connect to your EVM wallet, but seems its instance is not available.");try{return!!(await t.request({method:"eth_accounts"})).length}catch{return!1}}}a(K,"q");o(K,"canEagerConnect");var pe={};m(pe,{recommended:()=>ge});function x(e){let[,t]=e.state();t("connecting",!1)}a(x,"u");o(x,"intoConnectionFinished");var fe=[["connect",x]],ge=[...fe],ve={};m(ve,{recommended:()=>ye});var G=class{static{a(this,"i")}static{o(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#n=new Map;#r=new Map;#a;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}after(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}action(e){return this.#a=e,this}build(){if(!this.#a)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#a,before:this.#r,after:this.#n,and:this.#e,or:this.#t}}};function W(e){try{return h.parse(e),!0}catch{return!1}}a(W,"j");o(W,"isValidCaipAddress");function k(e,t){if(!t.accounts.every(W))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${t.accounts}`);let[,n]=e.state();return n("accounts",t.accounts),n("network",t.network),n("connected",!0),t}a(k,"p");o(k,"connectAndUpdateStateForMultiNetworks");function M(e){let[,t]=e.state();t("connecting",!0)}a(M,"h");o(M,"intoConnecting");var we=[["connect",M]],ye=[["connect",k]],Ie={};m(Ie,{recommended:()=>be});var be=[...we],Se={};m(Se,{canEagerConnect:()=>Ne,connect:()=>Ae});var Ae=o(()=>new G("connect").and(k).before(M).after(x),"connect"),Ne=o(()=>new G("canEagerConnect"),"canEagerConnect"),J={};m(J,{base:()=>Oe,ethereum:()=>Ee,polygon:()=>Ce});var Ee={name:"ETH",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/ETH/icon.svg"},Ce={name:"POLYGON",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/POLYGON/icon.svg"},Oe={name:"BASE",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/BASE/icon.svg"};var Q=Object.defineProperty,u=a((e,t)=>Q(e,"name",{value:t,configurable:!0}),"t"),p=a((e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},"s"),Pe={};p(Pe,{changeAccountSubscriber:()=>ee,recommended:()=>Je});function X(e){let[,t]=e.state();t("network",null),t("accounts",null),t("connected",!1),t("connecting",!1)}a(X,"C");u(X,"disconnect");var xe=[["disconnect",X]],ke="solana",Me="5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",Je=[...xe];function ee(e){let t;return[(n,r)=>{let s=e();if(!s)throw new Error("Trying to subscribe to your Solana wallet, but seems its instance is not available.");let[,i]=n.state();return t=u(c=>{if(!c){n.action("disconnect");return}i("accounts",[h.format({address:c.toString(),chainId:{namespace:ke,reference:Me}})])},"eventCallback"),s.on("accountChanged",t),r},(n,r)=>{let s=e();return t&&s&&s.off("accountChanged",t),r}]}a(ee,"j");u(ee,"changeAccountSubscriber");var Te={};p(Te,{recommended:()=>_e});function T(e){let[,t]=e.state();t("connecting",!1)}a(T,"c");u(T,"intoConnectionFinished");var Le=[["connect",T]],_e=[...Le],De={};p(De,{recommended:()=>Fe});var ze=class{static{a(this,"n")}static{u(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#n=new Map;#r=new Map;#a;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}after(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}action(e){return this.#a=e,this}build(){if(!this.#a)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#a,before:this.#r,after:this.#n,and:this.#e,or:this.#t}}};function te(e){try{return h.parse(e),!0}catch{return!1}}a(te,"E");u(te,"isValidCaipAddress");function L(e,t){if(!t.every(te))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${t}`);let[,n]=e.state();return n("accounts",t),n("connected",!0),t}a(L,"a");u(L,"connectAndUpdateStateForSingleNetwork");function _(e){let[,t]=e.state();t("connecting",!0)}a(_,"d");u(_,"intoConnecting");var Ve=[["connect",_]],Fe=[["connect",L]],Ye={};p(Ye,{recommended:()=>Ze});var Ze=[...Ve],je={};p(je,{connect:()=>qe});var qe=u(()=>new ze("connect").and(L).before(_).after(T),"connect"),D={};p(D,{solana:()=>Be});var Be={name:"SOLANA",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/SOLANA/icon.svg"};import{Networks as re,WalletTypes as Re}from"@rango-dev/wallets-shared";import"rango-types";import{DefaultSignerFactory as $e,TransactionType as ne}from"rango-types";async function z(){let e=new $e,{EthereumSigner:t}=await import("./ethereum-V2WNWA6L.js"),{SolanaSigner:n}=await import("./solana-GJWCIU6R.js");return e.registerSigner(ne.EVM,new t),e.registerSigner(ne.SOLANA,new n),e}a(z,"getSigners");var vt={type:Re.LEDGER},wt=V,yt=a(async({namespaces:e})=>{let t=[],n=e?.find(s=>s.namespace==="Solana"),r=e?.find(s=>s.namespace==="EVM");if(n)if(n.derivationPath){I(n.derivationPath);let s=await Y();t.push(s)}else throw new Error("Derivation Path can not be empty.");else if(r)if(r.derivationPath){I(r.derivationPath);let s=await F();t.push(s)}else throw new Error("Derivation Path can not be empty.");else throw new Error(`It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${e?.map(s=>s.namespace)}`);return t},"connect"),It=a(async()=>{Z()},"disconnect"),bt=z,St=a(e=>{let t=[],n=e.find(s=>s.name===re.ETHEREUM);n&&t.push(n);let r=e.find(s=>s.name===re.SOLANA);return r&&t.push(r),{name:"Ledger",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg",installLink:{DEFAULT:"https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true"},color:"black",supportedChains:t,showOnMobile:!1,needsDerivationPath:{data:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",namespace:"EVM",generateDerivationPath:s=>`44'/60'/0'/0/${s}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",namespace:"EVM",generateDerivationPath:s=>`44'/60'/${s}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",namespace:"EVM",generateDerivationPath:s=>`44'/60'/0'/${s}`},{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",namespace:"Solana",generateDerivationPath:s=>`44'/501'/${s}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",namespace:"Solana",generateDerivationPath:s=>`44'/501'/0'/${s}`}]},needsNamespace:{selection:"single",data:[{label:"EVM",value:"EVM",id:"ETH",chains:[J.ethereum]},{label:"Solana",value:"Solana",id:"SOLANA",chains:[D.solana]}]}}},"getWalletInfo");export{vt as config,yt as connect,It as disconnect,wt as getInstance,bt as getSigners,St as getWalletInfo};
1
+ import{a as I,d as F,e as V,f as Y,h as Z}from"./chunk-2KLLAGCE.js";import{a}from"./chunk-CVKDPNYM.js";function b(){return b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b.apply(this,arguments)}a(b,"_extends");var S={name:"chainId",regex:"[-:a-zA-Z0-9]{5,41}",parameters:{delimiter:":",values:{0:{name:"namespace",regex:"[-a-z0-9]{3,8}"},1:{name:"reference",regex:"[-a-zA-Z0-9]{1,32}"}}}},se={name:"accountId",regex:"[-:a-zA-Z0-9]{7,106}",parameters:{delimiter:":",values:{0:{name:"namespace",regex:"[-a-z0-9]{3,8}"},1:{name:"reference",regex:"[-a-zA-Z0-9]{1,32}"},2:{name:"address",regex:"[a-zA-Z0-9]{1,64}"}}}},A={name:"assetName",regex:"[-:a-zA-Z0-9]{5,73}",parameters:{delimiter:":",values:{0:{name:"namespace",regex:"[-a-z0-9]{3,8}"},1:{name:"reference",regex:"[-a-zA-Z0-9]{1,64}"}}}},oe={name:"assetType",regex:"[-:a-zA-Z0-9]{11,115}",parameters:{delimiter:"/",values:{0:S,1:A}}},ie={name:"assetId",regex:"[-:a-zA-Z0-9]{13,148}",parameters:{delimiter:"/",values:{0:S,1:A,2:{name:"tokenId",regex:"[-a-zA-Z0-9]{1,32}"}}}},f={2:S,10:se,19:{assetName:A,assetType:oe,assetId:ie}};function j(e,t){return e.split(t.parameters.delimiter)}a(j,"splitParams");function g(e,t){var n=j(e,t),r={};return n.forEach(function(s,i){r[t.parameters.values[i].name]=s}),r}a(g,"getParams");function l(e,t){return Object.values(t.parameters.values).map(function(n){var r=e[n.name];return typeof r=="string"?r:l(r,n)}).join(t.parameters.delimiter)}a(l,"joinParams");function v(e,t){if(!new RegExp(t.regex).test(e))return!1;var n=j(e,t);if(n.length!==Object.keys(t.parameters.values).length)return!1;var r=n.map(function(s,i){return new RegExp(t.parameters.values[i].regex).test(s)}).filter(function(s){return!!s});return r.length===n.length}a(v,"isValidId");var d=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.namespace=n.namespace,this.reference=n.reference}a(e,"ChainId"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{namespace:this.namespace,reference:this.reference}},"toJSON"),e}();d.spec=f[2];var h=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.chainId=new d(n.chainId),this.address=n.address}a(e,"AccountId"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);var s=g(r,this.spec),i=s.namespace,c=s.reference,w=s.address,y=new d({namespace:i,reference:c});return new e({chainId:y,address:w}).toJSON()},"parse"),e.format=a(function(r){var s=new d(r.chainId),i=b({},s.toJSON(),{address:r.address});return l(i,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{chainId:this.chainId.toJSON(),address:this.address}},"toJSON"),e}();h.spec=f[10];var N=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.namespace=n.namespace,this.reference=n.reference}a(e,"AssetName"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{namespace:this.namespace,reference:this.reference}},"toJSON"),e}();N.spec=f[19].assetName;var ce=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.chainId=new d(n.chainId),this.assetName=new N(n.assetName)}a(e,"AssetType"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{chainId:this.chainId.toJSON(),assetName:this.assetName}},"toJSON"),e}();ce.spec=f[19].assetType;var he=function(){function e(n){typeof n=="string"&&(n=e.parse(n)),this.chainId=new d(n.chainId),this.assetName=new N(n.assetName),this.tokenId=n.tokenId}a(e,"AssetId"),e.parse=a(function(r){if(!v(r,this.spec))throw new Error("Invalid "+this.spec.name+" provided: "+r);return new e(g(r,this.spec)).toJSON()},"parse"),e.format=a(function(r){return l(r,this.spec)},"format");var t=e.prototype;return t.toString=a(function(){return e.format(this.toJSON())},"toString"),t.toJSON=a(function(){return{chainId:this.chainId.toJSON(),assetName:this.assetName.toJSON(),tokenId:this.tokenId}},"toJSON"),e}();he.spec=f[19].assetId;var q=Object.defineProperty,o=a((e,t)=>q(e,"name",{value:t,configurable:!0}),"t"),m=a((e,t)=>{for(var n in t)q(e,n,{get:t[n],enumerable:!0})},"a"),ue={};m(ue,{canEagerConnect:()=>G,changeAccountSubscriber:()=>H,changeChainSubscriber:()=>U,connect:()=>R,recommended:()=>le});function B(e){let[,t]=e.state();t("network",null),t("accounts",null),t("connected",!1),t("connecting",!1)}a(B,"w");o(B,"disconnect");var me=[["disconnect",B]],$="eip155";var de={};m(de,{getAccounts:()=>E,suggestNetwork:()=>C,switchNetwork:()=>O,switchOrAddNetwork:()=>P});async function E(e){let[t,n]=await Promise.all([e.request({method:"eth_requestAccounts"}),e.request({method:"eth_chainId"})]);return{accounts:t,chainId:n}}a(E,"l");o(E,"getAccounts");async function C(e,t){return await e.request({method:"wallet_addEthereumChain",params:[t]})}a(C,"P");o(C,"suggestNetwork");async function O(e,t){return await e.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}a(O,"N");o(O,"switchNetwork");async function P(e,t){try{let n=typeof t=="string"?t:t.chainId;await O(e,n)}catch(n){let r=n;throw typeof t!="string"&&(r.code===4902||!r.code)&&await C(e,t),n}}a(P,"y");o(P,"switchOrAddNetwork");var le=[...me];function R(e){return async(t,n)=>{let r=e();if(!r)throw new Error("Do your wallet injected correctly and is evm compatible?");n&&await P(r,n);let s=await r.request({method:"eth_chainId"}),i=await E(r);return{accounts:i.accounts.map(c=>h.format({address:c,chainId:{namespace:$,reference:s}})),network:i.chainId}}}a(R,"L");o(R,"connect");function H(e){let t;return[(n,r)=>{let s=e();if(!s)throw new Error("Trying to subscribe to your EVM wallet, but seems its instance is not available.");let[,i]=n.state();if(t=o(async c=>{if(!c||c.length===0){n.action("disconnect");return}let w=await s.request({method:"eth_chainId"}),y=c.map(ae=>h.format({address:ae,chainId:{namespace:$,reference:w}}));i("accounts",y)},"eventCallback"),s.on("accountsChanged",t),r instanceof Error)throw r},(n,r)=>{let s=e();return t&&s&&s.removeListener("accountsChanged",t),r}]}a(H,"Y");o(H,"changeAccountSubscriber");function U(e){let t;return[n=>{let r=e();if(!r)throw new Error("Trying to subscribe to your EVM wallet, but seems its instance is not available.");let[,s]=n.state();t=o(async i=>{s("network",i)},"eventCallback"),r.on("chainChanged",t)},()=>{let n=e();t&&n&&n.removeListener("chainChanged",t)}]}a(U,"$");o(U,"changeChainSubscriber");function G(e){return async()=>{let t=e();if(!t)throw new Error("Trying to eagerly connect to your EVM wallet, but seems its instance is not available.");try{return!!(await t.request({method:"eth_accounts"})).length}catch{return!1}}}a(G,"q");o(G,"canEagerConnect");var pe={};m(pe,{recommended:()=>ge});function x(e){let[,t]=e.state();t("connecting",!1)}a(x,"u");o(x,"intoConnectionFinished");var fe=[["connect",x]],ge=[...fe],ve={};m(ve,{recommended:()=>ye});var W=class{static{a(this,"i")}static{o(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#n=new Map;#r=new Map;#a;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}after(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}action(e){return this.#a=e,this}build(){if(!this.#a)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#a,before:this.#r,after:this.#n,and:this.#e,or:this.#t}}};function K(e){try{return h.parse(e),!0}catch{return!1}}a(K,"j");o(K,"isValidCaipAddress");function k(e,t){if(!t.accounts.every(K))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${t.accounts}`);let[,n]=e.state();return n("accounts",t.accounts),n("network",t.network),n("connected",!0),t}a(k,"p");o(k,"connectAndUpdateStateForMultiNetworks");function M(e){let[,t]=e.state();t("connecting",!0)}a(M,"h");o(M,"intoConnecting");var we=[["connect",M]],ye=[["connect",k]],Ie={};m(Ie,{recommended:()=>be});var be=[...we],Se={};m(Se,{canEagerConnect:()=>Ne,connect:()=>Ae});var Ae=o(()=>new W("connect").and(k).before(M).after(x),"connect"),Ne=o(()=>new W("canEagerConnect"),"canEagerConnect"),J={};m(J,{base:()=>Oe,ethereum:()=>Ee,polygon:()=>Ce});var Ee={name:"ETH",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/ETH/icon.svg"},Ce={name:"POLYGON",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/POLYGON/icon.svg"},Oe={name:"BASE",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/BASE/icon.svg"};var Q=Object.defineProperty,u=a((e,t)=>Q(e,"name",{value:t,configurable:!0}),"t"),p=a((e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},"s"),Pe={};p(Pe,{changeAccountSubscriber:()=>ee,recommended:()=>Je});function X(e){let[,t]=e.state();t("network",null),t("accounts",null),t("connected",!1),t("connecting",!1)}a(X,"C");u(X,"disconnect");var xe=[["disconnect",X]],ke="solana",Me="5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",Je=[...xe];function ee(e){let t;return[(n,r)=>{let s=e();if(!s)throw new Error("Trying to subscribe to your Solana wallet, but seems its instance is not available.");let[,i]=n.state();return t=u(c=>{if(!c){n.action("disconnect");return}i("accounts",[h.format({address:c.toString(),chainId:{namespace:ke,reference:Me}})])},"eventCallback"),s.on("accountChanged",t),r},(n,r)=>{let s=e();return t&&s&&s.off("accountChanged",t),r}]}a(ee,"j");u(ee,"changeAccountSubscriber");var Te={};p(Te,{recommended:()=>_e});function T(e){let[,t]=e.state();t("connecting",!1)}a(T,"c");u(T,"intoConnectionFinished");var Le=[["connect",T]],_e=[...Le],De={};p(De,{recommended:()=>Ve});var ze=class{static{a(this,"n")}static{u(this,"ActionBuilder")}name;#e=new Map;#t=new Map;#n=new Map;#r=new Map;#a;constructor(e){this.name=e}and(e){return this.#e.has(this.name)||this.#e.set(this.name,[]),this.#e.get(this.name)?.push(e),this}or(e){return this.#t.has(this.name)||this.#t.set(this.name,[]),this.#t.get(this.name)?.push(e),this}before(e){return this.#r.has(this.name)||this.#r.set(this.name,[]),this.#r.get(this.name)?.push(e),this}after(e){return this.#n.has(this.name)||this.#n.set(this.name,[]),this.#n.get(this.name)?.push(e),this}action(e){return this.#a=e,this}build(){if(!this.#a)throw new Error("Your action builder should includes an action.");return{actionName:this.name,action:this.#a,before:this.#r,after:this.#n,and:this.#e,or:this.#t}}};function te(e){try{return h.parse(e),!0}catch{return!1}}a(te,"E");u(te,"isValidCaipAddress");function L(e,t){if(!t.every(te))throw new Error(`Your provider should format account addresses in CAIP-10 format. Your provided accounts: ${t}`);let[,n]=e.state();return n("accounts",t),n("connected",!0),t}a(L,"a");u(L,"connectAndUpdateStateForSingleNetwork");function _(e){let[,t]=e.state();t("connecting",!0)}a(_,"d");u(_,"intoConnecting");var Fe=[["connect",_]],Ve=[["connect",L]],Ye={};p(Ye,{recommended:()=>Ze});var Ze=[...Fe],je={};p(je,{connect:()=>qe});var qe=u(()=>new ze("connect").and(L).before(_).after(T),"connect"),D={};p(D,{solana:()=>Be});var Be={name:"SOLANA",logo:"https://raw.githubusercontent.com/rango-exchange/assets/main/blockchains/SOLANA/icon.svg"};import{Networks as re,WalletTypes as Re}from"@rango-dev/wallets-shared";import"rango-types";import{DefaultSignerFactory as $e,TransactionType as ne}from"rango-types";async function z(){let e=new $e,{EthereumSigner:t}=await import("./ethereum-V2WNWA6L.js"),{SolanaSigner:n}=await import("./solana-GJWCIU6R.js");return e.registerSigner(ne.EVM,new t),e.registerSigner(ne.SOLANA,new n),e}a(z,"getSigners");var vt={type:Re.LEDGER},wt=F,yt=a(async({namespaces:e})=>{let t=[],n=e?.find(s=>s.namespace==="Solana"),r=e?.find(s=>s.namespace==="EVM");if(n)if(n.derivationPath){I(n.derivationPath);let s=await Y();t.push(s)}else throw new Error("Derivation Path can not be empty.");else if(r)if(r.derivationPath){I(r.derivationPath);let s=await V();t.push(s)}else throw new Error("Derivation Path can not be empty.");else throw new Error(`It appears that you have selected a namespace that is not yet supported by our system. Your namespaces: ${e?.map(s=>s.namespace)}`);return t},"connect"),It=a(async()=>{Z()},"disconnect"),bt=z,St=a(e=>{let t=[],n=e.find(s=>s.name===re.ETHEREUM);n&&t.push(n);let r=e.find(s=>s.name===re.SOLANA);return r&&t.push(r),{name:"Ledger",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/ledger/icon.svg",installLink:{DEFAULT:"https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live?docs=true"},color:"black",supportedChains:t,showOnMobile:!1,needsDerivationPath:{data:[{id:"metamask",label:"Metamask (m/44'/60'/0'/0/index)",namespace:"EVM",generateDerivationPath:s=>`44'/60'/0'/0/${s}`},{id:"ledgerLive",label:"LedgerLive (m/44'/60'/index'/0/0)",namespace:"EVM",generateDerivationPath:s=>`44'/60'/${s}'/0/0`},{id:"legacy",label:"Legacy (m/44'/60'/0'/index)",namespace:"EVM",generateDerivationPath:s=>`44'/60'/0'/${s}`},{id:"(m/44'/501'/index')",label:"(m/44'/501'/index')",namespace:"Solana",generateDerivationPath:s=>`44'/501'/${s}'`},{id:"(m/44'/501'/0'/index)",label:"(m/44'/501'/0'/index)",namespace:"Solana",generateDerivationPath:s=>`44'/501'/0'/${s}`}]},needsNamespace:{selection:"single",data:[{label:"EVM",value:"EVM",id:"ETH",chains:[J.ethereum]},{label:"Solana",value:"Solana",id:"SOLANA",chains:[D.solana]}]}}},"getWalletInfo");export{vt as config,yt as connect,It as disconnect,wt as getInstance,bt as getSigners,St as getWalletInfo};
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-ledger",
3
- "version": "0.15.2-next.3",
3
+ "version": "0.15.2-next.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -28,7 +28,7 @@
28
28
  "@ledgerhq/types-cryptoassets": "^7.11.0",
29
29
  "@ledgerhq/types-devices": "^6.24.0",
30
30
  "@rango-dev/signer-solana": "^0.39.1-next.1",
31
- "@rango-dev/wallets-shared": "^0.44.2-next.3",
31
+ "@rango-dev/wallets-shared": "^0.44.2-next.4",
32
32
  "@solana/web3.js": "^1.91.4",
33
33
  "@types/w3c-web-hid": "^1.0.2",
34
34
  "bs58": "^5.0.0",