@rango-dev/provider-xdefi 0.35.2-next.4 → 0.36.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +3 -3
- package/dist/provider-xdefi.build.json +1 -1
- package/dist/utxo-signer.d.ts +1 -1
- package/dist/utxo-signer.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/cosmos-signer.ts +1 -1
- package/src/helpers.ts +1 -1
- package/src/index.ts +4 -4
- package/src/signer.ts +2 -2
- package/src/utxo-signer.ts +15 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
# [0.36.0](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.35.1...provider-xdefi@0.36.0) (2024-08-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* implement sign message method for providers with a custom signer ([cf9515f](https://github.com/rango-exchange/rango-client/commit/cf9515feb5d3754aac9c228fe83315daf1350c85))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
1
10
|
## [0.35.1](https://github.com/rango-exchange/rango-client/compare/provider-xdefi@0.35.0...provider-xdefi@0.35.1) (2024-07-14)
|
|
2
11
|
|
|
3
12
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CanEagerConnect, CanSwitchNetwork, Connect, Subscribe, SwitchNetwork, WalletInfo } from '@rango-dev/wallets-shared';
|
|
2
2
|
import { Networks, WalletTypes } from '@rango-dev/wallets-shared';
|
|
3
3
|
import { type BlockchainMeta, type SignerFactory } from 'rango-types';
|
|
4
|
-
import { xdefi as xdefi_instances } from './helpers';
|
|
4
|
+
import { xdefi as xdefi_instances } from './helpers.js';
|
|
5
5
|
export declare const config: {
|
|
6
6
|
type: WalletTypes;
|
|
7
7
|
defaultNetwork: Networks;
|
|
@@ -14,5 +14,5 @@ export declare const canSwitchNetworkTo: CanSwitchNetwork;
|
|
|
14
14
|
export declare const getSigners: (provider: any) => SignerFactory;
|
|
15
15
|
export declare const canEagerConnect: CanEagerConnect;
|
|
16
16
|
export declare const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo;
|
|
17
|
-
export { SUPPORTED_ETH_CHAINS } from './constants';
|
|
17
|
+
export { SUPPORTED_ETH_CHAINS } from './constants.js';
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,OAAO,EAEP,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAQL,QAAQ,EAER,WAAW,EAEZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAqB,KAAK,IAAI,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,OAAO,EAEP,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAQL,QAAQ,EAER,WAAW,EAEZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAItE,OAAO,EAAqB,KAAK,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAM3E,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,wBAAkB,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,OAuCrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SA8BvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,aAAsB,CAAC;AAEnE,eAAO,MAAM,eAAe,EAAE,eAM7B,CAAC;AACF,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAgCjE,CAAC;AAGF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var M=Object.defineProperty;var s=(r,e)=>M(r,"name",{value:e,configurable:!0});import{canEagerlyConnectToEvm as K,canSwitchNetworkToEvm as Y,chooseInstance as
|
|
1
|
+
var M=Object.defineProperty;var s=(r,e)=>M(r,"name",{value:e,configurable:!0});import{canEagerlyConnectToEvm as K,canSwitchNetworkToEvm as Y,chooseInstance as d,getBlockChainNameFromId as J,getCosmosAccounts as Z,getEvmAccounts as $,getSolanaAccounts as j,Networks as E,switchNetworkForEvm as z,WalletTypes as Q,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as ee}from"@rango-dev/wallets-shared";import"rango-types";import{cosmosBlockchains as re,isCosmosBlockchain as te}from"rango-types";import{Networks as i,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as H}from"@rango-dev/wallets-shared";var R=H,S=[i.POLYGON,i.ETHEREUM,i.BSC,i.AVAX_CCHAIN,i.FANTOM,i.ARBITRUM],A=[i.COSMOS,i.AKASH,i.AXELAR,i.CRYPTO_ORG,i.JUNO,i.KUJIRA,i.MARS,i.OSMOSIS,i.STARGAZE,i.STRIDE];import{Networks as l}from"@rango-dev/wallets-shared";import{SignerError as b,SignerErrorCode as U}from"rango-types";function k(){let{xfi:r}=window;if(!r)return null;let e=new Map;return r.bitcoin&&e.set(l.BTC,r.bitcoin),r.litecoin&&e.set(l.LTC,r.litecoin),r.thorchain&&e.set(l.THORCHAIN,r.thorchain),r.bitcoincash&&e.set(l.BCH,r.bitcoincash),r.binance&&e.set(l.BINANCE,r.binance),r.ethereum&&e.set(l.ETHEREUM,r.ethereum),r.dogecoin&&e.set(l.DOGE,r.dogecoin),r.solana&&e.set(l.SOLANA,r.solana),r.mayachain&&e.set(l.MAYA,r.mayachain),r.keplr&&e.set(l.COSMOS,r.keplr),e}s(k,"xdefi");async function O(r){let n=R.filter(o=>o!==l.ETHEREUM).map(async o=>new Promise((a,m)=>{r.get(o).request({method:"request_accounts",params:[]},(c,p)=>{if(c)return m(c),c;a({accounts:p,chainId:o})})}));return await Promise.all(n)}s(O,"getNonEvmAccounts");async function w(r,e,n,t,o,a,m,f,c){return new Promise(function(p,g){let u={asset:{chain:r,symbol:e,ticker:e},from:n,amount:{amount:t,decimals:o},memo:c};a&&(u.recipient=a),m.request({method:f,params:[u]},(h,y)=>{h?g(new b(U.SEND_TX_ERROR,void 0,h)):p(y)})})}s(w,"xdefiTransfer");import{DefaultEvmSigner as X}from"@rango-dev/signer-evm";import{DefaultSolanaSigner as V}from"@rango-dev/signer-solana";import{getNetworkInstance as x,Networks as _}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as q,TransactionType as C}from"rango-types";import{executeCosmosTransaction as D}from"@rango-dev/signer-cosmos";import{getNetworkInstance as v,Networks as I}from"@rango-dev/wallets-shared";import{SignerError as L,SignerErrorCode as B}from"rango-types";var T=class{static{s(this,"CustomCosmosSigner")}provider;constructor(e){this.provider=e}async signMessage(e,n,t){try{if(!t)throw Error("ChainId is required");let{signature:o}=await this.provider.signArbitrary(t,n,e);return o}catch(o){throw new L(B.SIGN_TX_ERROR,void 0,o)}}async signAndSendTx(e){if(e.rawTransfer===null){let h=v(this.provider,I.COSMOS);return{hash:await D(e,h)}}let n=v(this.provider,I.BINANCE),t=e.fromWalletAddress,{method:o,memo:a,recipient:m,decimals:f,amount:c,asset:p}=e.rawTransfer,g=e.blockChain;return{hash:await w(g,p.ticker,t,c,f,m,n,o,a)}}};import{getNetworkInstance as F,XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS as W}from"@rango-dev/wallets-shared";import{SignerError as G}from"rango-types";var N=class{static{s(this,"CustomTransferSigner")}provider;constructor(e){this.provider=e}async signMessage(){throw G.UnimplementedError("signMessage")}async signAndSendTx(e){let{blockchain:n}=e.asset;if(!W.includes(n))throw new Error(`blockchain: ${n} transfer not implemented yet.`);let t=F(this.provider,n),{method:o,memo:a,recipientAddress:m,decimals:f,amount:c,fromWalletAddress:p,asset:g}=e;return{hash:await w(n,g.ticker,p,c,f,m,t,o,a)}}};function P(r){let e=x(r,_.ETHEREUM),n=x(r,_.SOLANA),t=new q;return t.registerSigner(C.EVM,new X(e)),t.registerSigner(C.SOLANA,new V(n)),t.registerSigner(C.COSMOS,new T(r)),t.registerSigner(C.TRANSFER,new N(r)),t}s(P,"getSigners");var ne=E.ETHEREUM,oe=Q.XDEFI,Le={type:oe,defaultNetwork:ne},Be=k,Fe=s(async({instance:r,meta:e})=>{let n=d(r,e,E.ETHEREUM),t=d(r,e,E.SOLANA),o=d(r,e,E.COSMOS),a=await $(n),m=await O(r),f=await j({instance:t,meta:e}),c=[];if(o){let p=e.filter(h=>te(h)&&A.includes(h.name)),g=E.COSMOS,u=await Z({instance:o,meta:p,network:g});Array.isArray(u)?c.push(...u):c.push(u)}return[a,...m,f,...c]},"connect"),We=s(({instance:r,meta:e,updateChainId:n,connect:t})=>{let o=s(m=>{let f=J(m,e)||E.Unknown;n(m),t(f)},"handleChainChanged"),a=d(r,e,E.ETHEREUM);return a?.on?.("chainChanged",o),()=>{a?.off?.("chainChanged",o)}},"subscribe"),Ge=z,Xe=Y,Ve=P,qe=s(async({instance:r,meta:e})=>{let n=d(r,e,E.ETHEREUM);return n?K({instance:n,meta:e}):Promise.resolve(!1)},"canEagerConnect"),Ke=s(r=>{let e=re(r).filter(t=>!!t.info&&A.includes(t.name)),n=[...r.filter(t=>[...S,...ee,E.SOLANA].includes(t.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:n}},"getWalletInfo");export{S 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};
|
|
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/index.ts", "../src/constants.ts", "../src/helpers.ts", "../src/signer.ts", "../src/cosmos-signer.ts", "../src/utxo-signer.ts"],
|
|
4
|
-
"sourcesContent": ["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';\nimport { getNonEvmAccounts, xdefi as xdefi_instances } from './helpers';\nimport signer from './signer';\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) => 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';\n", "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';\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 { SignerFactory } from 'rango-types';\n\nimport { DefaultEvmSigner } from '@rango-dev/signer-evm';\nimport { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { CustomCosmosSigner } from './cosmos-signer';\nimport { CustomTransferSigner } from './utxo-signer';\n\nexport default function getSigners(provider: any): SignerFactory {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\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", "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';\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 { GenericSigner, SignerError, Transfer } from 'rango-types';\nimport { xdefiTransfer } from './helpers';\nimport {\n XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,\n getNetworkInstance,\n} from '@rango-dev/wallets-shared';\nimport { Networks } from '@rango-dev/wallets-shared';\n\n// TODO - replace with real type\n// tslint:disable-next-line: no-any\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 (!XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS.includes(blockchain as Networks))\n throw new Error(\n `blockchain: ${blockchain} transfer not implemented yet.`\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"],
|
|
5
|
-
"mappings": "+EAUA,OACE,0BAAAA,EACA,yBAAAC,EACA,kBAAAC,EACA,2BAAAC,EACA,qBAAAC,EACA,kBAAAC,EACA,qBAAAC,EACA,YAAAC,EACA,uBAAAC,EACA,eAAAC,EACA,wCAAAC,OACK,
|
|
6
|
-
"names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getBlockChainNameFromId", "getCosmosAccounts", "getEvmAccounts", "getSolanaAccounts", "Networks", "switchNetworkForEvm", "WalletTypes", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "cosmosBlockchains", "isCosmosBlockchain", "Networks", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "SUPPORTED_NETWORKS", "SUPPORTED_ETH_CHAINS", "SUPPORTED_COSMOS_CHAINS", "Networks", "SignerError", "SignerErrorCode", "xdefi", "xfi", "instances", "Networks", "__name", "getNonEvmAccounts", "instances", "promises", "SUPPORTED_NETWORKS", "net", "Networks", "network", "resolve", "reject", "error", "accounts", "__name", "xdefiTransfer", "blockchain", "ticker", "from", "amount", "decimals", "recipientAddress", "provider", "method", "memo", "params", "result", "SignerError", "SignerErrorCode", "DefaultEvmSigner", "DefaultSolanaSigner", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "executeCosmosTransaction", "getNetworkInstance", "Networks", "SignerError", "SignerErrorCode", "CustomCosmosSigner", "__name", "provider", "msg", "address", "chainId", "signature", "error", "SignerError", "SignerErrorCode", "tx", "cosmosProvider", "getNetworkInstance", "Networks", "executeCosmosTransaction", "binanceProvider", "from", "method", "memo", "recipient", "decimals", "amount", "asset", "blockchain", "xdefiTransfer", "
|
|
4
|
+
"sourcesContent": ["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) => 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 {\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 { SignerFactory } from 'rango-types';\n\nimport { DefaultEvmSigner } from '@rango-dev/signer-evm';\nimport { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { CustomCosmosSigner } from './cosmos-signer.js';\nimport { CustomTransferSigner } from './utxo-signer.js';\n\nexport default function getSigners(provider: any): SignerFactory {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\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", "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"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getBlockChainNameFromId", "getCosmosAccounts", "getEvmAccounts", "getSolanaAccounts", "Networks", "switchNetworkForEvm", "WalletTypes", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "cosmosBlockchains", "isCosmosBlockchain", "Networks", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "SUPPORTED_NETWORKS", "SUPPORTED_ETH_CHAINS", "SUPPORTED_COSMOS_CHAINS", "Networks", "SignerError", "SignerErrorCode", "xdefi", "xfi", "instances", "Networks", "__name", "getNonEvmAccounts", "instances", "promises", "SUPPORTED_NETWORKS", "net", "Networks", "network", "resolve", "reject", "error", "accounts", "__name", "xdefiTransfer", "blockchain", "ticker", "from", "amount", "decimals", "recipientAddress", "provider", "method", "memo", "params", "result", "SignerError", "SignerErrorCode", "DefaultEvmSigner", "DefaultSolanaSigner", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "executeCosmosTransaction", "getNetworkInstance", "Networks", "SignerError", "SignerErrorCode", "CustomCosmosSigner", "__name", "provider", "msg", "address", "chainId", "signature", "error", "SignerError", "SignerErrorCode", "tx", "cosmosProvider", "getNetworkInstance", "Networks", "executeCosmosTransaction", "binanceProvider", "from", "method", "memo", "recipient", "decimals", "amount", "asset", "blockchain", "xdefiTransfer", "getNetworkInstance", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "SignerError", "CustomTransferSigner", "__name", "provider", "SignerError", "tx", "blockchain", "XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS", "transferProvider", "getNetworkInstance", "method", "memo", "recipientAddress", "decimals", "amount", "from", "asset", "xdefiTransfer", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "DefaultSolanaSigner", "CustomCosmosSigner", "CustomTransferSigner", "__name", "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":
|
|
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":1154,"imports":[{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","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/cosmos-signer.ts","kind":"import-statement","original":"./cosmos-signer.js"},{"path":"src/utxo-signer.ts","kind":"import-statement","original":"./utxo-signer.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":4913,"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":22430},"dist/index.js":{"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":"@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-evm","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","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}],"exports":["SUPPORTED_ETH_CHAINS","canEagerConnect","canSwitchNetworkTo","config","connect","getInstance","getSigners","getWalletInfo","subscribe","switchNetwork"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":1692},"src/constants.ts":{"bytesInOutput":264},"src/helpers.ts":{"bytesInOutput":1113},"src/signer.ts":{"bytesInOutput":499},"src/cosmos-signer.ts":{"bytesInOutput":778},"src/utxo-signer.ts":{"bytesInOutput":593}},"bytes":5252}}}
|
package/dist/utxo-signer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utxo-signer.d.ts","sourceRoot":"","sources":["../src/utxo-signer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utxo-signer.d.ts","sourceRoot":"","sources":["../src/utxo-signer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAc3D,KAAK,wBAAwB,GAAG,GAAG,CAAC;AAEpC,qBAAa,oBAAqB,YAAW,aAAa,CAAC,QAAQ,CAAC;IAClE,OAAO,CAAC,QAAQ,CAA2B;gBAC/B,QAAQ,EAAE,wBAAwB;IAIxC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAoC7D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/provider-xdefi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.1-next.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"source": "./src/index.ts",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"lint": "eslint \"**/*.{ts,tsx}\" --ignore-path ../../.eslintignore"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@rango-dev/signer-cosmos": "^0.
|
|
25
|
-
"@rango-dev/signer-evm": "^0.
|
|
26
|
-
"@rango-dev/signer-solana": "^0.
|
|
27
|
-
"@rango-dev/wallets-shared": "^0.
|
|
24
|
+
"@rango-dev/signer-cosmos": "^0.28.1-next.0",
|
|
25
|
+
"@rango-dev/signer-evm": "^0.29.1-next.0",
|
|
26
|
+
"@rango-dev/signer-solana": "^0.31.1-next.0",
|
|
27
|
+
"@rango-dev/wallets-shared": "^0.36.0",
|
|
28
28
|
"rango-types": "^0.1.69"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|
package/src/cosmos-signer.ts
CHANGED
|
@@ -4,7 +4,7 @@ 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';
|
|
7
|
+
import { xdefiTransfer } from './helpers.js';
|
|
8
8
|
|
|
9
9
|
/*
|
|
10
10
|
* TODO - replace with real type
|
package/src/helpers.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';
|
|
|
3
3
|
import { Networks } from '@rango-dev/wallets-shared';
|
|
4
4
|
import { SignerError, SignerErrorCode } from 'rango-types';
|
|
5
5
|
|
|
6
|
-
import { SUPPORTED_ETH_CHAINS, SUPPORTED_NETWORKS } from './constants';
|
|
6
|
+
import { SUPPORTED_ETH_CHAINS, SUPPORTED_NETWORKS } from './constants.js';
|
|
7
7
|
|
|
8
8
|
type Provider = Map<Network, any>;
|
|
9
9
|
|
package/src/index.ts
CHANGED
|
@@ -24,9 +24,9 @@ import {
|
|
|
24
24
|
import { type BlockchainMeta, type SignerFactory } from 'rango-types';
|
|
25
25
|
import { cosmosBlockchains, isCosmosBlockchain } from 'rango-types';
|
|
26
26
|
|
|
27
|
-
import { SUPPORTED_COSMOS_CHAINS, SUPPORTED_ETH_CHAINS } from './constants';
|
|
28
|
-
import { getNonEvmAccounts, xdefi as xdefi_instances } from './helpers';
|
|
29
|
-
import signer from './signer';
|
|
27
|
+
import { SUPPORTED_COSMOS_CHAINS, SUPPORTED_ETH_CHAINS } from './constants.js';
|
|
28
|
+
import { getNonEvmAccounts, xdefi as xdefi_instances } from './helpers.js';
|
|
29
|
+
import signer from './signer.js';
|
|
30
30
|
|
|
31
31
|
const DEFAULT_NETWORK = Networks.ETHEREUM;
|
|
32
32
|
const WALLET = WalletTypes.XDEFI;
|
|
@@ -159,4 +159,4 @@ export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
|
|
|
159
159
|
};
|
|
160
160
|
|
|
161
161
|
// it is required in /examples/queue-manager-demo
|
|
162
|
-
export { SUPPORTED_ETH_CHAINS } from './constants';
|
|
162
|
+
export { SUPPORTED_ETH_CHAINS } from './constants.js';
|
package/src/signer.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { DefaultSolanaSigner } from '@rango-dev/signer-solana';
|
|
|
5
5
|
import { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';
|
|
6
6
|
import { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';
|
|
7
7
|
|
|
8
|
-
import { CustomCosmosSigner } from './cosmos-signer';
|
|
9
|
-
import { CustomTransferSigner } from './utxo-signer';
|
|
8
|
+
import { CustomCosmosSigner } from './cosmos-signer.js';
|
|
9
|
+
import { CustomTransferSigner } from './utxo-signer.js';
|
|
10
10
|
|
|
11
11
|
export default function getSigners(provider: any): SignerFactory {
|
|
12
12
|
const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);
|
package/src/utxo-signer.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { Networks } from '@rango-dev/wallets-shared';
|
|
2
|
+
import type { GenericSigner, Transfer } from 'rango-types';
|
|
3
|
+
|
|
3
4
|
import {
|
|
4
|
-
XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,
|
|
5
5
|
getNetworkInstance,
|
|
6
|
+
XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS,
|
|
6
7
|
} from '@rango-dev/wallets-shared';
|
|
7
|
-
import {
|
|
8
|
+
import { SignerError } from 'rango-types';
|
|
9
|
+
|
|
10
|
+
import { xdefiTransfer } from './helpers.js';
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
/*
|
|
13
|
+
* TODO - replace with real type
|
|
14
|
+
* tslint:disable-next-line: no-any
|
|
15
|
+
*/
|
|
11
16
|
type TransferExternalProvider = any;
|
|
12
17
|
|
|
13
18
|
export class CustomTransferSigner implements GenericSigner<Transfer> {
|
|
@@ -24,10 +29,13 @@ export class CustomTransferSigner implements GenericSigner<Transfer> {
|
|
|
24
29
|
const { blockchain } = tx.asset;
|
|
25
30
|
|
|
26
31
|
// Everything except ETH
|
|
27
|
-
if (
|
|
32
|
+
if (
|
|
33
|
+
!XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS.includes(blockchain as Networks)
|
|
34
|
+
) {
|
|
28
35
|
throw new Error(
|
|
29
36
|
`blockchain: ${blockchain} transfer not implemented yet.`
|
|
30
37
|
);
|
|
38
|
+
}
|
|
31
39
|
const transferProvider = getNetworkInstance(this.provider, blockchain);
|
|
32
40
|
|
|
33
41
|
const {
|