@rango-dev/provider-xdefi 0.37.1-next.2 → 0.37.1-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.
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos-signer.d.ts","sourceRoot":"","sources":["../src/cosmos-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAYpE,KAAK,sBAAsB,GAAG,GAAG,CAAC;AAElC,qBAAa,kBAAmB,YAAW,aAAa,CAAC,iBAAiB,CAAC;IACzE,OAAO,CAAC,QAAQ,CAAyB;gBAC7B,QAAQ,EAAE,sBAAsB;IAItC,WAAW,CACf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,MAAM,CAAC;IAeZ,aAAa,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAyBtE"}
1
+ {"version":3,"file":"cosmos-signer.d.ts","sourceRoot":"","sources":["../src/cosmos-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUpE,KAAK,sBAAsB,GAAG,GAAG,CAAC;AAElC,qBAAa,kBAAmB,YAAW,aAAa,CAAC,iBAAiB,CAAC;IACzE,OAAO,CAAC,QAAQ,CAAyB;gBAC7B,QAAQ,EAAE,sBAAsB;IAItC,WAAW,CACf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,MAAM,CAAC;IAeZ,aAAa,CAAC,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAQtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOhF,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAElC,wBAAgB,KAAK,yBAwCpB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAO5E;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,QAAQ,GAClB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAkClC;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAOhF,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAElC,wBAAgB,KAAK,yBAqCpB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAO5E;AAED,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,QAAQ,GAClB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAsClC;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var v=Object.defineProperty;var s=(r,e)=>v(r,"name",{value:e,configurable:!0});var S=(r,e)=>()=>(r&&(e=r(r=0)),e);var I=(r,e)=>{for(var t in e)v(r,t,{get:e[t],enumerable:!0})};import{Networks as i,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as G}from"@rango-dev/wallets-shared";var x,w,P,T=S(()=>{"use strict";x=G,w=[i.POLYGON,i.ETHEREUM,i.BSC,i.AVAX_CCHAIN,i.FANTOM,i.ARBITRUM],P=[i.COSMOS,i.AKASH,i.AXELAR,i.CRYPTO_ORG,i.JUNO,i.KUJIRA,i.MARS,i.OSMOSIS,i.STARGAZE,i.STRIDE]});import{Networks as f}from"@rango-dev/wallets-shared";import{SignerError as X,SignerErrorCode as V}from"rango-types";function _(){let{xfi:r}=window;if(!r)return null;let e=new Map;return r.bitcoin&&e.set(f.BTC,r.bitcoin),r.litecoin&&e.set(f.LTC,r.litecoin),r.thorchain&&e.set(f.THORCHAIN,r.thorchain),r.bitcoincash&&e.set(f.BCH,r.bitcoincash),r.binance&&e.set(f.BINANCE,r.binance),r.ethereum&&e.set(f.ETHEREUM,r.ethereum),r.dogecoin&&e.set(f.DOGE,r.dogecoin),r.solana&&e.set(f.SOLANA,r.solana),r.mayachain&&e.set(f.MAYA,r.mayachain),r.keplr&&e.set(f.COSMOS,r.keplr),e}async function M(r){let t=x.filter(o=>o!==f.ETHEREUM).map(async o=>new Promise((a,c)=>{r.get(o).request({method:"request_accounts",params:[]},(m,p)=>{if(m)return c(m),m;a({accounts:p,chainId:o})})}));return await Promise.all(t)}async function N(r,e,t,n,o,a,c,l,m){return new Promise(function(p,g){let u={asset:{chain:r,symbol:e,ticker:e},from:t,amount:{amount:n,decimals:o},memo:m};a&&(u.recipient=a),c.request({method:l,params:[u]},(h,O)=>{h?g(new X(V.SEND_TX_ERROR,void 0,h)):p(O)})})}var C=S(()=>{"use strict";T();s(_,"xdefi");s(M,"getNonEvmAccounts");s(N,"xdefiTransfer")});var U={};I(U,{CustomCosmosSigner:()=>y});import{executeCosmosTransaction as q}from"@rango-dev/signer-cosmos";import{getNetworkInstance as H,Networks as b}from"@rango-dev/wallets-shared";import{SignerError as K,SignerErrorCode as Y}from"rango-types";var y,D=S(()=>{"use strict";C();y=class{static{s(this,"CustomCosmosSigner")}provider;constructor(e){this.provider=e}async signMessage(e,t,n){try{if(!n)throw Error("ChainId is required");let{signature:o}=await this.provider.signArbitrary(n,t,e);return o}catch(o){throw new K(Y.SIGN_TX_ERROR,void 0,o)}}async signAndSendTx(e){if(e.rawTransfer===null){let h=H(this.provider,b.COSMOS);return{hash:await q(e,h)}}let t=H(this.provider,b.BINANCE),n=e.fromWalletAddress,{method:o,memo:a,recipient:c,decimals:l,amount:m,asset:p}=e.rawTransfer,g=e.blockChain;return{hash:await N(g,p.ticker,n,m,l,c,t,o,a)}}}});var L={};I(L,{CustomTransferSigner:()=>R});import{getNetworkInstance as J,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as Z}from"@rango-dev/wallets-shared";import{SignerError as $}from"rango-types";var R,B=S(()=>{"use strict";C();R=class{static{s(this,"CustomTransferSigner")}provider;constructor(e){this.provider=e}async signMessage(){throw $.UnimplementedError("signMessage")}async signAndSendTx(e){let{blockchain:t}=e.asset;if(!Z.includes(t))throw new Error(`blockchain: ${t} transfer not implemented yet.`);let n=J(this.provider,t),{method:o,memo:a,recipientAddress:c,decimals:l,amount:m,fromWalletAddress:p,asset:g}=e;return{hash:await N(t,g.ticker,p,m,l,c,n,o,a)}}}});T();C();import{canEagerlyConnectToEvm as z,canSwitchNetworkToEvm as Q,chooseInstance as d,getBlockChainNameFromId as ee,getCosmosAccounts as re,getEvmAccounts as te,getSolanaAccounts as ne,Networks as E,switchNetworkForEvm as oe,WalletTypes as se,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as ie}from"@rango-dev/wallets-shared";import"rango-types";import{cosmosBlockchains as ae,isCosmosBlockchain as ce}from"rango-types";import{getNetworkInstance as F,Networks as W}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as j,TransactionType as A}from"rango-types";async function k(r){let e=F(r,W.ETHEREUM),t=F(r,W.SOLANA),n=new j,{DefaultEvmSigner:o}=await import("@rango-dev/signer-evm"),{DefaultSolanaSigner:a}=await import("@rango-dev/signer-solana"),{CustomCosmosSigner:c}=await Promise.resolve().then(()=>(D(),U)),{CustomTransferSigner:l}=await Promise.resolve().then(()=>(B(),L));return n.registerSigner(A.EVM,new o(e)),n.registerSigner(A.SOLANA,new a(t)),n.registerSigner(A.COSMOS,new c(r)),n.registerSigner(A.TRANSFER,new l(r)),n}s(k,"getSigners");T();var me=E.ETHEREUM,le=se.XDEFI,Le={type:le,defaultNetwork:me},Be=_,Fe=s(async({instance:r,meta:e})=>{let t=d(r,e,E.ETHEREUM),n=d(r,e,E.SOLANA),o=d(r,e,E.COSMOS),a=await te(t),c=await M(r),l=await ne({instance:n,meta:e}),m=[];if(o){let p=e.filter(h=>ce(h)&&P.includes(h.name)),g=E.COSMOS,u=await re({instance:o,meta:p,network:g});Array.isArray(u)?m.push(...u):m.push(u)}return[a,...c,l,...m]},"connect"),We=s(({instance:r,meta:e,updateChainId:t,connect:n})=>{let o=s(c=>{let l=ee(c,e)||E.Unknown;t(c),n(l)},"handleChainChanged"),a=d(r,e,E.ETHEREUM);return a?.on?.("chainChanged",o),()=>{a?.off?.("chainChanged",o)}},"subscribe"),Ge=oe,Xe=Q,Ve=k,qe=s(async({instance:r,meta:e})=>{let t=d(r,e,E.ETHEREUM);return t?z({instance:t,meta:e}):Promise.resolve(!1)},"canEagerConnect"),Ke=s(r=>{let e=ae(r).filter(n=>!!n.info&&P.includes(n.name)),t=[...r.filter(n=>[...w,...ie,E.SOLANA].includes(n.name)),...e];return{name:"XDefi",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xdefi/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf",BRAVE:"https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf",DEFAULT:"https://xdefi.io/"},color:"#0646c7",supportedChains:t}},"getWalletInfo");export{w as SUPPORTED_ETH_CHAINS,qe as canEagerConnect,Xe as canSwitchNetworkTo,Le as config,Fe as connect,Be as getInstance,Ve as getSigners,Ke as getWalletInfo,We as subscribe,Ge as switchNetwork};
1
+ var k=Object.defineProperty;var s=(e,r)=>k(e,"name",{value:r,configurable:!0});var h=(e,r)=>()=>(e&&(r=e(e=0)),r);var O=(e,r)=>{for(var t in r)k(e,t,{get:r[t],enumerable:!0})};import{Networks as i,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as B}from"@rango-dev/wallets-shared";var v,w,C,T=h(()=>{"use strict";v=B,w=[i.POLYGON,i.ETHEREUM,i.BSC,i.AVAX_CCHAIN,i.FANTOM,i.ARBITRUM],C=[i.COSMOS,i.AKASH,i.AXELAR,i.CRYPTO_ORG,i.JUNO,i.KUJIRA,i.MARS,i.OSMOSIS,i.STARGAZE,i.STRIDE]});import{Networks as f}from"@rango-dev/wallets-shared";import{SignerError as W,SignerErrorCode as G}from"rango-types";function x(){let{xfi:e}=window;if(!e)return null;let r=new Map;return e.bitcoin&&r.set(f.BTC,e.bitcoin),e.litecoin&&r.set(f.LTC,e.litecoin),e.thorchain&&r.set(f.THORCHAIN,e.thorchain),e.bitcoincash&&r.set(f.BCH,e.bitcoincash),e.ethereum&&r.set(f.ETHEREUM,e.ethereum),e.dogecoin&&r.set(f.DOGE,e.dogecoin),e.solana&&r.set(f.SOLANA,e.solana),e.mayachain&&r.set(f.MAYA,e.mayachain),e.keplr&&r.set(f.COSMOS,e.keplr),r}async function I(e){let t=v.filter(n=>n!==f.ETHEREUM).filter(n=>e.get(n)!==void 0).map(async n=>new Promise((a,c)=>{e.get(n).request({method:"request_accounts",params:[]},(m,p)=>{if(m)return c(m),m;a({accounts:p,chainId:n})})}));return await Promise.all(t)}async function _(e,r,t,o,n,a,c,l,m){return new Promise(function(p,u){let E={asset:{chain:e,symbol:r,ticker:r},from:t,amount:{amount:o,decimals:n},memo:m};a&&(E.recipient=a),c.request({method:l,params:[E]},(S,F)=>{S?u(new W(G.SEND_TX_ERROR,void 0,S)):p(F)})})}var A=h(()=>{"use strict";T();s(x,"xdefi");s(I,"getNonEvmAccounts");s(_,"xdefiTransfer")});var M={};O(M,{CustomCosmosSigner:()=>P});import{executeCosmosTransaction as X}from"@rango-dev/signer-cosmos";import{getNetworkInstance as V,Networks as q}from"@rango-dev/wallets-shared";import{SignerError as K,SignerErrorCode as Y}from"rango-types";var P,H=h(()=>{"use strict";P=class{static{s(this,"CustomCosmosSigner")}provider;constructor(r){this.provider=r}async signMessage(r,t,o){try{if(!o)throw Error("ChainId is required");let{signature:n}=await this.provider.signArbitrary(o,t,r);return n}catch(n){throw new K(Y.SIGN_TX_ERROR,void 0,n)}}async signAndSendTx(r){if(r.rawTransfer===null){let t=V(this.provider,q.COSMOS);return{hash:await X(r,t)}}throw Error("raw transfer is not null for cosmos transactions")}}});var U={};O(U,{CustomTransferSigner:()=>y});import{getNetworkInstance as J,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as Z}from"@rango-dev/wallets-shared";import{SignerError as $}from"rango-types";var y,D=h(()=>{"use strict";A();y=class{static{s(this,"CustomTransferSigner")}provider;constructor(r){this.provider=r}async signMessage(){throw $.UnimplementedError("signMessage")}async signAndSendTx(r){let{blockchain:t}=r.asset;if(!Z.includes(t))throw new Error(`blockchain: ${t} transfer not implemented yet.`);let o=J(this.provider,t),{method:n,memo:a,recipientAddress:c,decimals:l,amount:m,fromWalletAddress:p,asset:u}=r;return{hash:await _(t,u.ticker,p,m,l,c,o,n,a)}}}});T();A();import{canEagerlyConnectToEvm as z,canSwitchNetworkToEvm as Q,chooseInstance as d,getBlockChainNameFromId as ee,getCosmosAccounts as re,getEvmAccounts as te,getSolanaAccounts as oe,Networks as g,switchNetworkForEvm as ne,WalletTypes as se,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as ie}from"@rango-dev/wallets-shared";import"rango-types";import{cosmosBlockchains as ae,isCosmosBlockchain as ce}from"rango-types";import{getNetworkInstance as b,Networks as L}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as j,TransactionType as N}from"rango-types";async function R(e){let r=b(e,L.ETHEREUM),t=b(e,L.SOLANA),o=new j,{DefaultEvmSigner:n}=await import("@rango-dev/signer-evm"),{DefaultSolanaSigner:a}=await import("@rango-dev/signer-solana"),{CustomCosmosSigner:c}=await Promise.resolve().then(()=>(H(),M)),{CustomTransferSigner:l}=await Promise.resolve().then(()=>(D(),U));return o.registerSigner(N.EVM,new n(r)),o.registerSigner(N.SOLANA,new a(t)),o.registerSigner(N.COSMOS,new c(e)),o.registerSigner(N.TRANSFER,new l(e)),o}s(R,"getSigners");T();var me=g.ETHEREUM,le=se.XDEFI,be={type:le,defaultNetwork:me},Le=x,Fe=s(async({instance:e,meta:r})=>{let t=d(e,r,g.ETHEREUM),o=d(e,r,g.SOLANA),n=d(e,r,g.COSMOS),a=await te(t),c=await I(e),l=await oe({instance:o,meta:r}),m=[];if(n){let p=r.filter(S=>ce(S)&&C.includes(S.name)),u=g.COSMOS,E=await re({instance:n,meta:p,network:u});Array.isArray(E)?m.push(...E):m.push(E)}return[a,...c,l,...m]},"connect"),Be=s(({instance:e,meta:r,updateChainId:t,connect:o})=>{let n=s(c=>{let l=ee(c,r)||g.Unknown;t(c),o(l)},"handleChainChanged"),a=d(e,r,g.ETHEREUM);return a?.on?.("chainChanged",n),()=>{a?.off?.("chainChanged",n)}},"subscribe"),We=ne,Ge=Q,Xe=R,Ve=s(async({instance:e,meta:r})=>{let t=d(e,r,g.ETHEREUM);return t?z({instance:t,meta:r}):Promise.resolve(!1)},"canEagerConnect"),qe=s(e=>{let r=ae(e).filter(o=>!!o.info&&C.includes(o.name)),t=[...e.filter(o=>[...w,...ie,g.SOLANA].includes(o.name)),...r];return{name:"XDefi",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xdefi/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf",BRAVE:"https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf",DEFAULT:"https://xdefi.io/"},color:"#0646c7",supportedChains:t}},"getWalletInfo");export{w as SUPPORTED_ETH_CHAINS,Ve as canEagerConnect,Ge as canSwitchNetworkTo,be as config,Fe as connect,Le as getInstance,Xe as getSigners,qe as getWalletInfo,Be as subscribe,We as switchNetwork};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/constants.ts", "../src/helpers.ts", "../src/cosmos-signer.ts", "../src/utxo-signer.ts", "../src/index.ts", "../src/signer.ts"],
4
- "sourcesContent": ["import {\n Networks,\n XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n} from '@rango-dev/wallets-shared';\n\nexport const SUPPORTED_NETWORKS = XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS;\nexport const SUPPORTED_ETH_CHAINS = [\n Networks.POLYGON,\n Networks.ETHEREUM,\n Networks.BSC,\n Networks.AVAX_CCHAIN,\n Networks.FANTOM,\n Networks.ARBITRUM,\n];\nexport const SUPPORTED_COSMOS_CHAINS = [\n Networks.COSMOS,\n Networks.AKASH,\n Networks.AXELAR,\n Networks.CRYPTO_ORG,\n Networks.JUNO,\n Networks.KUJIRA,\n Networks.MARS,\n Networks.OSMOSIS,\n Networks.STARGAZE,\n Networks.STRIDE,\n];\n", "import type { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nimport { Networks } from '@rango-dev/wallets-shared';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { SUPPORTED_ETH_CHAINS, SUPPORTED_NETWORKS } from './constants.js';\n\ntype Provider = Map<Network, any>;\n\nexport function xdefi() {\n const { xfi } = window;\n\n if (!xfi) {\n return null;\n }\n\n const instances = new Map();\n if (xfi.bitcoin) {\n instances.set(Networks.BTC, xfi.bitcoin);\n }\n if (xfi.litecoin) {\n instances.set(Networks.LTC, xfi.litecoin);\n }\n if (xfi.thorchain) {\n instances.set(Networks.THORCHAIN, xfi.thorchain);\n }\n if (xfi.bitcoincash) {\n instances.set(Networks.BCH, xfi.bitcoincash);\n }\n if (xfi.binance) {\n instances.set(Networks.BINANCE, xfi.binance);\n }\n if (xfi.ethereum) {\n instances.set(Networks.ETHEREUM, xfi.ethereum);\n }\n if (xfi.dogecoin) {\n instances.set(Networks.DOGE, xfi.dogecoin);\n }\n if (xfi.solana) {\n instances.set(Networks.SOLANA, xfi.solana);\n }\n if (xfi.mayachain) {\n instances.set(Networks.MAYA, xfi.mayachain);\n }\n if (xfi.keplr) {\n instances.set(Networks.COSMOS, xfi.keplr);\n }\n\n return instances;\n}\n\nexport function getEthChainsInstance(netowrk: Network | null): Network | null {\n if (!netowrk) {\n return null;\n }\n return SUPPORTED_ETH_CHAINS.includes(netowrk as Networks)\n ? Networks.ETHEREUM\n : null;\n}\n\nexport async function getNonEvmAccounts(\n instances: Provider\n): Promise<ProviderConnectResult[]> {\n const nonEvmNetworks = SUPPORTED_NETWORKS.filter(\n (net: Network) => net !== Networks.ETHEREUM\n );\n const promises: Promise<ProviderConnectResult>[] = nonEvmNetworks.map(\n async (network: Network) => {\n return new Promise((resolve, reject) => {\n const instance = instances.get(network);\n instance.request(\n {\n method: 'request_accounts',\n params: [],\n },\n (error: any, accounts: any) => {\n if (error) {\n reject(error);\n return error;\n }\n\n const result = {\n accounts,\n chainId: network,\n };\n\n resolve(result);\n }\n );\n });\n }\n );\n\n const results = await Promise.all(promises);\n\n return results;\n}\n\nexport async function xdefiTransfer(\n blockchain: string,\n ticker: string,\n from: string,\n amount: string,\n decimals: number,\n recipientAddress: string | null,\n provider: any,\n method: string,\n memo: string | null\n): Promise<string> {\n return new Promise(function (resolve, reject) {\n const params = {\n asset: { chain: blockchain, symbol: ticker, ticker: ticker },\n from: from,\n amount: { amount: amount, decimals: decimals },\n memo: memo,\n // recipient: to,\n } as any;\n if (recipientAddress) {\n params.recipient = recipientAddress;\n }\n\n provider.request(\n { method: method, params: [params] },\n (error: any, result: any) => {\n if (error) {\n reject(\n new SignerError(SignerErrorCode.SEND_TX_ERROR, undefined, error)\n );\n } else {\n resolve(result);\n }\n }\n );\n });\n}\n", "import type { CosmosTransaction, GenericSigner } from 'rango-types';\n\nimport { executeCosmosTransaction } from '@rango-dev/signer-cosmos';\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { xdefiTransfer } from './helpers.js';\n\n/*\n * TODO - replace with real type\n * tslint:disable-next-line: no-any\n */\ntype CosmosExternalProvider = any;\n\nexport class CustomCosmosSigner implements GenericSigner<CosmosTransaction> {\n private provider: CosmosExternalProvider;\n constructor(provider: CosmosExternalProvider) {\n this.provider = provider;\n }\n\n async signMessage(\n msg: string,\n address: string,\n chainId: string | null\n ): Promise<string> {\n try {\n if (!chainId) {\n throw Error('ChainId is required');\n }\n const { signature } = await this.provider.signArbitrary(\n chainId,\n address,\n msg\n );\n return signature;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n async signAndSendTx(tx: CosmosTransaction): Promise<{ hash: string }> {\n if (tx.rawTransfer === null) {\n const cosmosProvider = getNetworkInstance(this.provider, Networks.COSMOS);\n const hash = await executeCosmosTransaction(tx, cosmosProvider);\n return { hash };\n }\n\n const binanceProvider = getNetworkInstance(this.provider, Networks.BINANCE);\n\n const from = tx.fromWalletAddress;\n const { method, memo, recipient, decimals, amount, asset } = tx.rawTransfer;\n const blockchain = tx.blockChain;\n const hash = await xdefiTransfer(\n blockchain,\n asset.ticker,\n from,\n amount,\n decimals,\n recipient,\n binanceProvider,\n method,\n memo\n );\n return { hash };\n }\n}\n", "import type { Networks } from '@rango-dev/wallets-shared';\nimport type { GenericSigner, Transfer } from 'rango-types';\n\nimport {\n getNetworkInstance,\n XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n} from '@rango-dev/wallets-shared';\nimport { SignerError } from 'rango-types';\n\nimport { xdefiTransfer } from './helpers.js';\n\n/*\n * TODO - replace with real type\n * tslint:disable-next-line: no-any\n */\ntype TransferExternalProvider = any;\n\nexport class CustomTransferSigner implements GenericSigner<Transfer> {\n private provider: TransferExternalProvider;\n constructor(provider: TransferExternalProvider) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: Transfer): Promise<{ hash: string }> {\n const { blockchain } = tx.asset;\n\n // Everything except ETH\n if (\n !XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS.includes(blockchain as Networks)\n ) {\n throw new Error(\n `blockchain: ${blockchain} transfer not implemented yet.`\n );\n }\n const transferProvider = getNetworkInstance(this.provider, blockchain);\n\n const {\n method,\n memo,\n recipientAddress,\n decimals,\n amount,\n fromWalletAddress: from,\n asset,\n } = tx;\n\n const hash = await xdefiTransfer(\n blockchain,\n asset.ticker,\n from,\n amount,\n decimals,\n recipientAddress,\n transferProvider,\n method,\n memo\n );\n return { hash };\n }\n}\n", "import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n chooseInstance,\n getBlockChainNameFromId,\n getCosmosAccounts,\n getEvmAccounts,\n getSolanaAccounts,\n Networks,\n switchNetworkForEvm,\n WalletTypes,\n XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n} from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta, type SignerFactory } from 'rango-types';\nimport { cosmosBlockchains, isCosmosBlockchain } from 'rango-types';\n\nimport { SUPPORTED_COSMOS_CHAINS, SUPPORTED_ETH_CHAINS } from './constants.js';\nimport { getNonEvmAccounts, xdefi as xdefi_instances } from './helpers.js';\nimport signer from './signer.js';\n\nconst DEFAULT_NETWORK = Networks.ETHEREUM;\nconst WALLET = WalletTypes.XDEFI;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: DEFAULT_NETWORK,\n};\n\nexport const getInstance = xdefi_instances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n const solInstance = chooseInstance(instance, meta, Networks.SOLANA);\n const cosmosInstance = chooseInstance(instance, meta, Networks.COSMOS);\n\n const evmResult = await getEvmAccounts(ethInstance);\n const nonEvmResults = await getNonEvmAccounts(instance);\n const solanaAccounts = await getSolanaAccounts({\n instance: solInstance,\n meta,\n });\n\n const cosmosAccounts: ProviderConnectResult[] = [];\n if (cosmosInstance) {\n const cosmosBlockchainMeta = meta.filter(\n (blockchainMeta: BlockchainMeta) =>\n isCosmosBlockchain(blockchainMeta) &&\n SUPPORTED_COSMOS_CHAINS.includes(blockchainMeta.name as Networks)\n );\n const requestedNetwork = Networks.COSMOS;\n\n const cosmosResult = await getCosmosAccounts({\n instance: cosmosInstance,\n meta: cosmosBlockchainMeta,\n network: requestedNetwork,\n });\n if (Array.isArray(cosmosResult)) {\n cosmosAccounts.push(...cosmosResult);\n } else {\n cosmosAccounts.push(cosmosResult);\n }\n }\n\n return [\n evmResult,\n ...nonEvmResults,\n solanaAccounts as ProviderConnectResult,\n ...cosmosAccounts,\n ];\n};\n\nexport const subscribe: Subscribe = ({\n instance,\n meta,\n updateChainId,\n connect,\n}) => {\n const handleChainChanged = (chainId: string) => {\n const network = getBlockChainNameFromId(chainId, meta) || Networks.Unknown;\n /*\n *TODO:\n *We are calling `connect` here because signer can't detect\n *currect network, I guess the bug is in our signer and it\n *gets the wrong network by calling a wrong method or something.\n *Anyways, this works for now, maybe we can reconsider it in future\n *Whenever we refactored the signer code as well.\n */\n\n /*\n * we need to update `network` first, if not, it will goes through\n * the switching network and will open unneccessary pop ups.\n */\n updateChainId(chainId);\n connect(network);\n };\n const eth = chooseInstance(instance, meta, Networks.ETHEREUM);\n eth?.on?.('chainChanged', handleChainChanged);\n\n return () => {\n eth?.off?.('chainChanged', handleChainChanged);\n };\n};\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: any) => Promise<SignerFactory> = signer;\n\nexport const canEagerConnect: CanEagerConnect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n if (evm_instance) {\n return canEagerlyConnectToEvm({ instance: evm_instance, meta });\n }\n return Promise.resolve(false);\n};\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const supportedCosmosChains = cosmosBlockchains(allBlockChains).filter(\n (blockchainMeta: BlockchainMeta) =>\n !!blockchainMeta.info &&\n SUPPORTED_COSMOS_CHAINS.includes(blockchainMeta.name as Networks)\n );\n\n const supportedChains = [\n ...allBlockChains.filter((blockchainMeta) =>\n [\n ...SUPPORTED_ETH_CHAINS,\n ...XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n Networks.SOLANA,\n ].includes(blockchainMeta.name as Networks)\n ),\n ...supportedCosmosChains,\n ];\n return {\n name: 'XDefi',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xdefi/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf',\n DEFAULT: 'https://xdefi.io/',\n },\n color: '#0646c7',\n supportedChains,\n };\n};\n\n// it is required in /examples/queue-manager-demo\nexport { SUPPORTED_ETH_CHAINS } from './constants.js';\n", "import type { SignerFactory } from 'rango-types';\n\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: any\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');\n const { DefaultSolanaSigner } = await import('@rango-dev/signer-solana');\n const { CustomCosmosSigner } = await import('./cosmos-signer.js');\n const { CustomTransferSigner } = await import('./utxo-signer.js');\n\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new DefaultSolanaSigner(solProvider));\n // passed provider for transfer as it comprises several signers\n signers.registerSigner(TxType.COSMOS, new CustomCosmosSigner(provider));\n // passed provider for transfer as it comprises several signers\n signers.registerSigner(TxType.TRANSFER, new CustomTransferSigner(provider));\n return signers;\n}\n"],
5
- "mappings": "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",
6
- "names": ["Networks", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "SUPPORTED_NETWORKS", "SUPPORTED_ETH_CHAINS", "SUPPORTED_COSMOS_CHAINS", "init_constants", "__esmMin", "Networks", "SignerError", "SignerErrorCode", "xdefi", "xfi", "instances", "getNonEvmAccounts", "promises", "SUPPORTED_NETWORKS", "net", "network", "resolve", "reject", "error", "accounts", "xdefiTransfer", "blockchain", "ticker", "from", "amount", "decimals", "recipientAddress", "provider", "method", "memo", "params", "result", "init_helpers", "__esmMin", "init_constants", "__name", "cosmos_signer_exports", "__export", "CustomCosmosSigner", "executeCosmosTransaction", "getNetworkInstance", "Networks", "SignerError", "SignerErrorCode", "init_cosmos_signer", "__esmMin", "init_helpers", "__name", "provider", "msg", "address", "chainId", "signature", "error", "tx", "cosmosProvider", "binanceProvider", "from", "method", "memo", "recipient", "decimals", "amount", "asset", "blockchain", "xdefiTransfer", "utxo_signer_exports", "__export", "CustomTransferSigner", "getNetworkInstance", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "SignerError", "init_utxo_signer", "__esmMin", "init_helpers", "__name", "provider", "tx", "blockchain", "transferProvider", "method", "memo", "recipientAddress", "decimals", "amount", "from", "asset", "xdefiTransfer", "init_constants", "init_helpers", "canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getBlockChainNameFromId", "getCosmosAccounts", "getEvmAccounts", "getSolanaAccounts", "Networks", "switchNetworkForEvm", "WalletTypes", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "cosmosBlockchains", "isCosmosBlockchain", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "DefaultSolanaSigner", "CustomCosmosSigner", "CustomTransferSigner", "TxType", "__name", "init_constants", "DEFAULT_NETWORK", "Networks", "WALLET", "WalletTypes", "config", "getInstance", "xdefi", "connect", "__name", "instance", "meta", "ethInstance", "chooseInstance", "solInstance", "cosmosInstance", "evmResult", "getEvmAccounts", "nonEvmResults", "getNonEvmAccounts", "solanaAccounts", "getSolanaAccounts", "cosmosAccounts", "cosmosBlockchainMeta", "blockchainMeta", "isCosmosBlockchain", "SUPPORTED_COSMOS_CHAINS", "requestedNetwork", "cosmosResult", "getCosmosAccounts", "subscribe", "updateChainId", "handleChainChanged", "chainId", "network", "getBlockChainNameFromId", "eth", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "evm_instance", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "supportedCosmosChains", "cosmosBlockchains", "supportedChains", "SUPPORTED_ETH_CHAINS", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS"]
4
+ "sourcesContent": ["import {\n Networks,\n XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n} from '@rango-dev/wallets-shared';\n\nexport const SUPPORTED_NETWORKS = XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS;\nexport const SUPPORTED_ETH_CHAINS = [\n Networks.POLYGON,\n Networks.ETHEREUM,\n Networks.BSC,\n Networks.AVAX_CCHAIN,\n Networks.FANTOM,\n Networks.ARBITRUM,\n];\nexport const SUPPORTED_COSMOS_CHAINS = [\n Networks.COSMOS,\n Networks.AKASH,\n Networks.AXELAR,\n Networks.CRYPTO_ORG,\n Networks.JUNO,\n Networks.KUJIRA,\n Networks.MARS,\n Networks.OSMOSIS,\n Networks.STARGAZE,\n Networks.STRIDE,\n];\n", "import type { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nimport { Networks } from '@rango-dev/wallets-shared';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nimport { SUPPORTED_ETH_CHAINS, SUPPORTED_NETWORKS } from './constants.js';\n\ntype Provider = Map<Network, any>;\n\nexport function xdefi() {\n const { xfi } = window;\n\n if (!xfi) {\n return null;\n }\n\n const instances = new Map();\n if (xfi.bitcoin) {\n instances.set(Networks.BTC, xfi.bitcoin);\n }\n if (xfi.litecoin) {\n instances.set(Networks.LTC, xfi.litecoin);\n }\n if (xfi.thorchain) {\n instances.set(Networks.THORCHAIN, xfi.thorchain);\n }\n if (xfi.bitcoincash) {\n instances.set(Networks.BCH, xfi.bitcoincash);\n }\n if (xfi.ethereum) {\n instances.set(Networks.ETHEREUM, xfi.ethereum);\n }\n if (xfi.dogecoin) {\n instances.set(Networks.DOGE, xfi.dogecoin);\n }\n if (xfi.solana) {\n instances.set(Networks.SOLANA, xfi.solana);\n }\n if (xfi.mayachain) {\n instances.set(Networks.MAYA, xfi.mayachain);\n }\n if (xfi.keplr) {\n instances.set(Networks.COSMOS, xfi.keplr);\n }\n\n return instances;\n}\n\nexport function getEthChainsInstance(netowrk: Network | null): Network | null {\n if (!netowrk) {\n return null;\n }\n return SUPPORTED_ETH_CHAINS.includes(netowrk as Networks)\n ? Networks.ETHEREUM\n : null;\n}\n\nexport async function getNonEvmAccounts(\n instances: Provider\n): Promise<ProviderConnectResult[]> {\n const nonEvmNetworks = SUPPORTED_NETWORKS.filter(\n (net: Network) => net !== Networks.ETHEREUM\n );\n const promises: Promise<ProviderConnectResult>[] = nonEvmNetworks\n .filter(\n (network: Network) =>\n // Ensure the instance is defined\n instances.get(network) !== undefined\n )\n .map(async (network: Network) => {\n return new Promise((resolve, reject) => {\n const instance = instances.get(network);\n instance.request(\n {\n method: 'request_accounts',\n params: [],\n },\n (error: any, accounts: any) => {\n if (error) {\n reject(error);\n return error;\n }\n\n const result = {\n accounts,\n chainId: network,\n };\n\n resolve(result);\n }\n );\n });\n });\n\n const results = await Promise.all(promises);\n\n return results;\n}\n\nexport async function xdefiTransfer(\n blockchain: string,\n ticker: string,\n from: string,\n amount: string,\n decimals: number,\n recipientAddress: string | null,\n provider: any,\n method: string,\n memo: string | null\n): Promise<string> {\n return new Promise(function (resolve, reject) {\n const params = {\n asset: { chain: blockchain, symbol: ticker, ticker: ticker },\n from: from,\n amount: { amount: amount, decimals: decimals },\n memo: memo,\n } as any;\n if (recipientAddress) {\n params.recipient = recipientAddress;\n }\n\n provider.request(\n { method: method, params: [params] },\n (error: any, result: any) => {\n if (error) {\n reject(\n new SignerError(SignerErrorCode.SEND_TX_ERROR, undefined, error)\n );\n } else {\n resolve(result);\n }\n }\n );\n });\n}\n", "import type { CosmosTransaction, GenericSigner } from 'rango-types';\n\nimport { executeCosmosTransaction } from '@rango-dev/signer-cosmos';\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\n/*\n * TODO - replace with real type\n * tslint:disable-next-line: no-any\n */\ntype CosmosExternalProvider = any;\n\nexport class CustomCosmosSigner implements GenericSigner<CosmosTransaction> {\n private provider: CosmosExternalProvider;\n constructor(provider: CosmosExternalProvider) {\n this.provider = provider;\n }\n\n async signMessage(\n msg: string,\n address: string,\n chainId: string | null\n ): Promise<string> {\n try {\n if (!chainId) {\n throw Error('ChainId is required');\n }\n const { signature } = await this.provider.signArbitrary(\n chainId,\n address,\n msg\n );\n return signature;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n async signAndSendTx(tx: CosmosTransaction): Promise<{ hash: string }> {\n if (tx.rawTransfer === null) {\n const cosmosProvider = getNetworkInstance(this.provider, Networks.COSMOS);\n const hash = await executeCosmosTransaction(tx, cosmosProvider);\n return { hash };\n }\n throw Error('raw transfer is not null for cosmos transactions');\n }\n}\n", "import type { Networks } from '@rango-dev/wallets-shared';\nimport type { GenericSigner, Transfer } from 'rango-types';\n\nimport {\n getNetworkInstance,\n XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n} from '@rango-dev/wallets-shared';\nimport { SignerError } from 'rango-types';\n\nimport { xdefiTransfer } from './helpers.js';\n\n/*\n * TODO - replace with real type\n * tslint:disable-next-line: no-any\n */\ntype TransferExternalProvider = any;\n\nexport class CustomTransferSigner implements GenericSigner<Transfer> {\n private provider: TransferExternalProvider;\n constructor(provider: TransferExternalProvider) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: Transfer): Promise<{ hash: string }> {\n const { blockchain } = tx.asset;\n\n // Everything except ETH\n if (\n !XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS.includes(blockchain as Networks)\n ) {\n throw new Error(\n `blockchain: ${blockchain} transfer not implemented yet.`\n );\n }\n const transferProvider = getNetworkInstance(this.provider, blockchain);\n\n const {\n method,\n memo,\n recipientAddress,\n decimals,\n amount,\n fromWalletAddress: from,\n asset,\n } = tx;\n\n const hash = await xdefiTransfer(\n blockchain,\n asset.ticker,\n from,\n amount,\n decimals,\n recipientAddress,\n transferProvider,\n method,\n memo\n );\n return { hash };\n }\n}\n", "import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n chooseInstance,\n getBlockChainNameFromId,\n getCosmosAccounts,\n getEvmAccounts,\n getSolanaAccounts,\n Networks,\n switchNetworkForEvm,\n WalletTypes,\n XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n} from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta, type SignerFactory } from 'rango-types';\nimport { cosmosBlockchains, isCosmosBlockchain } from 'rango-types';\n\nimport { SUPPORTED_COSMOS_CHAINS, SUPPORTED_ETH_CHAINS } from './constants.js';\nimport { getNonEvmAccounts, xdefi as xdefi_instances } from './helpers.js';\nimport signer from './signer.js';\n\nconst DEFAULT_NETWORK = Networks.ETHEREUM;\nconst WALLET = WalletTypes.XDEFI;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: DEFAULT_NETWORK,\n};\n\nexport const getInstance = xdefi_instances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n const solInstance = chooseInstance(instance, meta, Networks.SOLANA);\n const cosmosInstance = chooseInstance(instance, meta, Networks.COSMOS);\n\n const evmResult = await getEvmAccounts(ethInstance);\n const nonEvmResults = await getNonEvmAccounts(instance);\n const solanaAccounts = await getSolanaAccounts({\n instance: solInstance,\n meta,\n });\n\n const cosmosAccounts: ProviderConnectResult[] = [];\n if (cosmosInstance) {\n const cosmosBlockchainMeta = meta.filter(\n (blockchainMeta: BlockchainMeta) =>\n isCosmosBlockchain(blockchainMeta) &&\n SUPPORTED_COSMOS_CHAINS.includes(blockchainMeta.name as Networks)\n );\n const requestedNetwork = Networks.COSMOS;\n\n const cosmosResult = await getCosmosAccounts({\n instance: cosmosInstance,\n meta: cosmosBlockchainMeta,\n network: requestedNetwork,\n });\n if (Array.isArray(cosmosResult)) {\n cosmosAccounts.push(...cosmosResult);\n } else {\n cosmosAccounts.push(cosmosResult);\n }\n }\n\n return [\n evmResult,\n ...nonEvmResults,\n solanaAccounts as ProviderConnectResult,\n ...cosmosAccounts,\n ];\n};\n\nexport const subscribe: Subscribe = ({\n instance,\n meta,\n updateChainId,\n connect,\n}) => {\n const handleChainChanged = (chainId: string) => {\n const network = getBlockChainNameFromId(chainId, meta) || Networks.Unknown;\n /*\n *TODO:\n *We are calling `connect` here because signer can't detect\n *currect network, I guess the bug is in our signer and it\n *gets the wrong network by calling a wrong method or something.\n *Anyways, this works for now, maybe we can reconsider it in future\n *Whenever we refactored the signer code as well.\n */\n\n /*\n * we need to update `network` first, if not, it will goes through\n * the switching network and will open unneccessary pop ups.\n */\n updateChainId(chainId);\n connect(network);\n };\n const eth = chooseInstance(instance, meta, Networks.ETHEREUM);\n eth?.on?.('chainChanged', handleChainChanged);\n\n return () => {\n eth?.off?.('chainChanged', handleChainChanged);\n };\n};\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: any) => Promise<SignerFactory> = signer;\n\nexport const canEagerConnect: CanEagerConnect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n if (evm_instance) {\n return canEagerlyConnectToEvm({ instance: evm_instance, meta });\n }\n return Promise.resolve(false);\n};\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const supportedCosmosChains = cosmosBlockchains(allBlockChains).filter(\n (blockchainMeta: BlockchainMeta) =>\n !!blockchainMeta.info &&\n SUPPORTED_COSMOS_CHAINS.includes(blockchainMeta.name as Networks)\n );\n\n const supportedChains = [\n ...allBlockChains.filter((blockchainMeta) =>\n [\n ...SUPPORTED_ETH_CHAINS,\n ...XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n Networks.SOLANA,\n ].includes(blockchainMeta.name as Networks)\n ),\n ...supportedCosmosChains,\n ];\n return {\n name: 'XDefi',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xdefi/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf',\n DEFAULT: 'https://xdefi.io/',\n },\n color: '#0646c7',\n supportedChains,\n };\n};\n\n// it is required in /examples/queue-manager-demo\nexport { SUPPORTED_ETH_CHAINS } from './constants.js';\n", "import type { SignerFactory } from 'rango-types';\n\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: any\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');\n const { DefaultSolanaSigner } = await import('@rango-dev/signer-solana');\n const { CustomCosmosSigner } = await import('./cosmos-signer.js');\n const { CustomTransferSigner } = await import('./utxo-signer.js');\n\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new DefaultSolanaSigner(solProvider));\n // passed provider for transfer as it comprises several signers\n signers.registerSigner(TxType.COSMOS, new CustomCosmosSigner(provider));\n // passed provider for transfer as it comprises several signers\n signers.registerSigner(TxType.TRANSFER, new CustomTransferSigner(provider));\n return signers;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Networks", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "SUPPORTED_NETWORKS", "SUPPORTED_ETH_CHAINS", "SUPPORTED_COSMOS_CHAINS", "init_constants", "__esmMin", "Networks", "SignerError", "SignerErrorCode", "xdefi", "xfi", "instances", "getNonEvmAccounts", "promises", "SUPPORTED_NETWORKS", "net", "network", "resolve", "reject", "error", "accounts", "xdefiTransfer", "blockchain", "ticker", "from", "amount", "decimals", "recipientAddress", "provider", "method", "memo", "params", "result", "init_helpers", "__esmMin", "init_constants", "__name", "cosmos_signer_exports", "__export", "CustomCosmosSigner", "executeCosmosTransaction", "getNetworkInstance", "Networks", "SignerError", "SignerErrorCode", "init_cosmos_signer", "__esmMin", "__name", "provider", "msg", "address", "chainId", "signature", "error", "tx", "cosmosProvider", "utxo_signer_exports", "__export", "CustomTransferSigner", "getNetworkInstance", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "SignerError", "init_utxo_signer", "__esmMin", "init_helpers", "__name", "provider", "tx", "blockchain", "transferProvider", "method", "memo", "recipientAddress", "decimals", "amount", "from", "asset", "xdefiTransfer", "init_constants", "init_helpers", "canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getBlockChainNameFromId", "getCosmosAccounts", "getEvmAccounts", "getSolanaAccounts", "Networks", "switchNetworkForEvm", "WalletTypes", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "cosmosBlockchains", "isCosmosBlockchain", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "DefaultSolanaSigner", "CustomCosmosSigner", "CustomTransferSigner", "TxType", "__name", "init_constants", "DEFAULT_NETWORK", "Networks", "WALLET", "WalletTypes", "config", "getInstance", "xdefi", "connect", "__name", "instance", "meta", "ethInstance", "chooseInstance", "solInstance", "cosmosInstance", "evmResult", "getEvmAccounts", "nonEvmResults", "getNonEvmAccounts", "solanaAccounts", "getSolanaAccounts", "cosmosAccounts", "cosmosBlockchainMeta", "blockchainMeta", "isCosmosBlockchain", "SUPPORTED_COSMOS_CHAINS", "requestedNetwork", "cosmosResult", "getCosmosAccounts", "subscribe", "updateChainId", "handleChainChanged", "chainId", "network", "getBlockChainNameFromId", "eth", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "evm_instance", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "supportedCosmosChains", "cosmosBlockchains", "supportedChains", "SUPPORTED_ETH_CHAINS", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/constants.ts":{"bytes":568,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true}],"format":"esm"},"src/helpers.ts":{"bytes":3227,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/cosmos-signer.ts":{"bytes":1833,"imports":[{"path":"@rango-dev/signer-cosmos","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utxo-signer.ts":{"bytes":1520,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":1221,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/signer-solana","kind":"dynamic-import","external":true},{"path":"src/cosmos-signer.ts","kind":"dynamic-import","original":"./cosmos-signer.js"},{"path":"src/utxo-signer.ts","kind":"dynamic-import","original":"./utxo-signer.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":4922,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":22845},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-cosmos","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/signer-solana","kind":"dynamic-import","external":true}],"exports":["SUPPORTED_ETH_CHAINS","canEagerConnect","canSwitchNetworkTo","config","connect","getInstance","getSigners","getWalletInfo","subscribe","switchNetwork"],"entryPoint":"src/index.ts","inputs":{"src/constants.ts":{"bytesInOutput":294},"src/helpers.ts":{"bytesInOutput":1145},"src/cosmos-signer.ts":{"bytesInOutput":849},"src/utxo-signer.ts":{"bytesInOutput":666},"src/index.ts":{"bytesInOutput":1716},"src/signer.ts":{"bytesInOutput":641}},"bytes":5721}}}
1
+ {"inputs":{"src/constants.ts":{"bytes":568,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true}],"format":"esm"},"src/helpers.ts":{"bytes":3259,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/cosmos-signer.ts":{"bytes":1403,"imports":[{"path":"@rango-dev/signer-cosmos","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utxo-signer.ts":{"bytes":1520,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":1221,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/signer-solana","kind":"dynamic-import","external":true},{"path":"src/cosmos-signer.ts","kind":"dynamic-import","original":"./cosmos-signer.js"},{"path":"src/utxo-signer.ts","kind":"dynamic-import","original":"./utxo-signer.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":4922,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":22032},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-cosmos","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/signer-solana","kind":"dynamic-import","external":true}],"exports":["SUPPORTED_ETH_CHAINS","canEagerConnect","canSwitchNetworkTo","config","connect","getInstance","getSigners","getWalletInfo","subscribe","switchNetwork"],"entryPoint":"src/index.ts","inputs":{"src/constants.ts":{"bytesInOutput":294},"src/helpers.ts":{"bytesInOutput":1136},"src/cosmos-signer.ts":{"bytesInOutput":720},"src/utxo-signer.ts":{"bytesInOutput":666},"src/index.ts":{"bytesInOutput":1716},"src/signer.ts":{"bytesInOutput":641}},"bytes":5583}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-xdefi",
3
- "version": "0.37.1-next.2",
3
+ "version": "0.37.1-next.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -23,8 +23,8 @@
23
23
  "dependencies": {
24
24
  "@rango-dev/signer-cosmos": "^0.29.0",
25
25
  "@rango-dev/signer-evm": "^0.30.0",
26
- "@rango-dev/signer-solana": "^0.32.0",
27
- "@rango-dev/wallets-shared": "^0.37.1-next.2",
26
+ "@rango-dev/signer-solana": "^0.32.1-next.0",
27
+ "@rango-dev/wallets-shared": "^0.37.1-next.3",
28
28
  "rango-types": "^0.1.69"
29
29
  },
30
30
  "publishConfig": {
@@ -4,8 +4,6 @@ import { executeCosmosTransaction } from '@rango-dev/signer-cosmos';
4
4
  import { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';
5
5
  import { SignerError, SignerErrorCode } from 'rango-types';
6
6
 
7
- import { xdefiTransfer } from './helpers.js';
8
-
9
7
  /*
10
8
  * TODO - replace with real type
11
9
  * tslint:disable-next-line: no-any
@@ -43,23 +41,6 @@ export class CustomCosmosSigner implements GenericSigner<CosmosTransaction> {
43
41
  const hash = await executeCosmosTransaction(tx, cosmosProvider);
44
42
  return { hash };
45
43
  }
46
-
47
- const binanceProvider = getNetworkInstance(this.provider, Networks.BINANCE);
48
-
49
- const from = tx.fromWalletAddress;
50
- const { method, memo, recipient, decimals, amount, asset } = tx.rawTransfer;
51
- const blockchain = tx.blockChain;
52
- const hash = await xdefiTransfer(
53
- blockchain,
54
- asset.ticker,
55
- from,
56
- amount,
57
- decimals,
58
- recipient,
59
- binanceProvider,
60
- method,
61
- memo
62
- );
63
- return { hash };
44
+ throw Error('raw transfer is not null for cosmos transactions');
64
45
  }
65
46
  }
package/src/helpers.ts CHANGED
@@ -27,9 +27,6 @@ export function xdefi() {
27
27
  if (xfi.bitcoincash) {
28
28
  instances.set(Networks.BCH, xfi.bitcoincash);
29
29
  }
30
- if (xfi.binance) {
31
- instances.set(Networks.BINANCE, xfi.binance);
32
- }
33
30
  if (xfi.ethereum) {
34
31
  instances.set(Networks.ETHEREUM, xfi.ethereum);
35
32
  }
@@ -64,8 +61,13 @@ export async function getNonEvmAccounts(
64
61
  const nonEvmNetworks = SUPPORTED_NETWORKS.filter(
65
62
  (net: Network) => net !== Networks.ETHEREUM
66
63
  );
67
- const promises: Promise<ProviderConnectResult>[] = nonEvmNetworks.map(
68
- async (network: Network) => {
64
+ const promises: Promise<ProviderConnectResult>[] = nonEvmNetworks
65
+ .filter(
66
+ (network: Network) =>
67
+ // Ensure the instance is defined
68
+ instances.get(network) !== undefined
69
+ )
70
+ .map(async (network: Network) => {
69
71
  return new Promise((resolve, reject) => {
70
72
  const instance = instances.get(network);
71
73
  instance.request(
@@ -88,8 +90,7 @@ export async function getNonEvmAccounts(
88
90
  }
89
91
  );
90
92
  });
91
- }
92
- );
93
+ });
93
94
 
94
95
  const results = await Promise.all(promises);
95
96
 
@@ -113,7 +114,6 @@ export async function xdefiTransfer(
113
114
  from: from,
114
115
  amount: { amount: amount, decimals: decimals },
115
116
  memo: memo,
116
- // recipient: to,
117
117
  } as any;
118
118
  if (recipientAddress) {
119
119
  params.recipient = recipientAddress;