@rango-dev/provider-okx 0.5.1-next.0 → 0.5.1-next.1

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/dist/helpers.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';
1
+ import { Networks, ProviderConnectResult } from '@rango-dev/wallets-shared';
2
2
  export declare function okx_instance(): Map<any, any> | null;
3
3
  export declare function getSolanaAccounts(instance: any): Promise<ProviderConnectResult[]>;
4
- export declare const OKX_WALLET_SUPPORTED_CHAINS: Network[];
4
+ export declare const OKX_WALLET_SUPPORTED_CHAINS: Networks[];
5
5
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,wBAAgB,YAAY,yBAQ3B;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,GAAG,GACZ,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAelC;AAED,eAAO,MAAM,2BAA2B,WAkBvC,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAE5E,wBAAgB,YAAY,yBAQ3B;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,GAAG,GACZ,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAelC;AAED,eAAO,MAAM,2BAA2B,YAkBvC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import { Network, WalletTypes, CanSwitchNetwork, Connect, Subscribe, SwitchNetwork, WalletInfo } from '@rango-dev/wallets-shared';
1
+ import { WalletTypes, CanSwitchNetwork, Connect, Subscribe, SwitchNetwork, WalletInfo } from '@rango-dev/wallets-shared';
2
2
  import { okx_instance } from './helpers';
3
3
  import { SignerFactory, BlockchainMeta } from 'rango-types';
4
+ import { Networks } from '@rango-dev/wallets-shared';
4
5
  export declare const config: {
5
6
  type: WalletTypes;
6
- defaultNetwork: Network;
7
+ defaultNetwork: Networks;
7
8
  };
8
9
  export declare const getInstance: typeof okx_instance;
9
10
  export declare const connect: Connect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,OAAO,EAEP,SAAS,EACT,aAAa,EAKb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEL,YAAY,EAEb,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAmB,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7E,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,qBAAe,CAAC;AACxC,eAAO,MAAM,OAAO,EAAE,OAerB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAYvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAU3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,aAAsB,CAAC;AAEnE,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAiBhE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,OAAO,EAEP,SAAS,EACT,aAAa,EAKb,UAAU,EACX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEL,YAAY,EAEb,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,aAAa,EAAmB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAIrD,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,qBAAe,CAAC;AACxC,eAAO,MAAM,OAAO,EAAE,OAerB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAYvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAU3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,aAAsB,CAAC;AAEnE,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAiBhE,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var k=Object.defineProperty;var c=(t,o)=>k(t,"name",{value:o,configurable:!0});import{Network as a,WalletTypes as T,canSwitchNetworkToEvm as d,chooseInstance as g,getEvmAccounts as x,switchNetworkForEvm as I}from"@rango-dev/wallets-shared";import{Network as e}from"@rango-dev/wallets-shared";function m(){let{okxwallet:t}=window;if(!t)return null;let o=new Map;return t&&o.set(e.ETHEREUM,t),t.solana&&o.set(e.SOLANA,t.solana),o}c(m,"okx_instance");async function l(t){let o=await t.get(e.SOLANA),n=[];if(o){let s=(await o.connect()).publicKey.toString();n.push({accounts:s?[s]:[],chainId:e.SOLANA})}return n}c(l,"getSolanaAccounts");var h=[e.ETHEREUM,e.BTC,e.BSC,e.TRON,e.SOLANA,e.POLYGON,e.FANTOM,e.ARBITRUM,e.OPTIMISM,e.CRONOS,e.BOBA,e.GNOSIS,e.MOONBEAM,e.MOONRIVER,e.HARMONY,e.LTC,e.AVAX_CCHAIN];import{DefaultEvmSigner as A}from"@rango-dev/signer-evm";import{DefaultSolanaSigner as O}from"@rango-dev/signer-solana";import{Network as S,getNetworkInstance as p}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as R,TransactionType as u}from"rango-types";function w(t){let o=p(t,S.ETHEREUM),n=p(t,S.SOLANA),r=new R;return r.registerSigner(u.EVM,new A(o)),r.registerSigner(u.SOLANA,new O(n)),r}c(w,"getSigners");import{isEvmBlockchain as C}from"rango-types";var M=T.OKX,tt={type:M,defaultNetwork:a.ETHEREUM},et=m,ot=c(async({instance:t,meta:o})=>{let n=[],r=g(t,o,a.ETHEREUM);if(r){let i=await x(r);n.push(i)}let s=await l(t);return n=[...n,...s],n},"connect"),nt=c(({instance:t,updateAccounts:o,meta:n})=>{g(t,n,a.ETHEREUM)?.on("accountsChanged",async s=>{let i=n.filter(C).find(N=>N.name===a.ETHEREUM)?.chainId;o(s,i);let[{accounts:E,chainId:f}]=await l(t);o(E,f)})},"subscribe"),ct=c(async t=>{let o=g(t.instance,t.meta,t.network);return I({...t,instance:o})},"switchNetwork"),rt=d,st=w,at=c(t=>({name:"OKX",img:"https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/okx.png",installLink:{CHROME:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",BRAVE:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",FIREFOX:"https://addons.mozilla.org/en-US/firefox/addon/okexwallet",DEFAULT:"https://www.okx.com/web3"},color:"white",supportedChains:t.filter(o=>h.includes(o.name))}),"getWalletInfo");export{rt as canSwitchNetworkTo,tt as config,ot as connect,et as getInstance,st as getSigners,at as getWalletInfo,nt as subscribe,ct as switchNetwork};
1
+ var k=Object.defineProperty;var c=(t,o)=>k(t,"name",{value:o,configurable:!0});import{WalletTypes as T,canSwitchNetworkToEvm as d,chooseInstance as m,getEvmAccounts as x,switchNetworkForEvm as I}from"@rango-dev/wallets-shared";import{Networks as e}from"@rango-dev/wallets-shared";function g(){let{okxwallet:t}=window;if(!t)return null;let o=new Map;return t&&o.set(e.ETHEREUM,t),t.solana&&o.set(e.SOLANA,t.solana),o}c(g,"okx_instance");async function l(t){let o=await t.get(e.SOLANA),n=[];if(o){let s=(await o.connect()).publicKey.toString();n.push({accounts:s?[s]:[],chainId:e.SOLANA})}return n}c(l,"getSolanaAccounts");var h=[e.ETHEREUM,e.BTC,e.BSC,e.TRON,e.SOLANA,e.POLYGON,e.FANTOM,e.ARBITRUM,e.OPTIMISM,e.CRONOS,e.BOBA,e.GNOSIS,e.MOONBEAM,e.MOONRIVER,e.HARMONY,e.LTC,e.AVAX_CCHAIN];import{DefaultEvmSigner as A}from"@rango-dev/signer-evm";import{DefaultSolanaSigner as O}from"@rango-dev/signer-solana";import{Networks as p,getNetworkInstance as S}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as R,TransactionType as u}from"rango-types";function w(t){let o=S(t,p.ETHEREUM),n=S(t,p.SOLANA),r=new R;return r.registerSigner(u.EVM,new A(o)),r.registerSigner(u.SOLANA,new O(n)),r}c(w,"getSigners");import{isEvmBlockchain as C}from"rango-types";import{Networks as a}from"@rango-dev/wallets-shared";var M=T.OKX,et={type:M,defaultNetwork:a.ETHEREUM},ot=g,nt=c(async({instance:t,meta:o})=>{let n=[],r=m(t,o,a.ETHEREUM);if(r){let i=await x(r);n.push(i)}let s=await l(t);return n=[...n,...s],n},"connect"),ct=c(({instance:t,updateAccounts:o,meta:n})=>{m(t,n,a.ETHEREUM)?.on("accountsChanged",async s=>{let i=n.filter(C).find(N=>N.name===a.ETHEREUM)?.chainId;o(s,i);let[{accounts:E,chainId:f}]=await l(t);o(E,f)})},"subscribe"),rt=c(async t=>{let o=m(t.instance,t.meta,t.network);return I({...t,instance:o})},"switchNetwork"),st=d,at=w,it=c(t=>({name:"OKX",img:"https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/okx.png",installLink:{CHROME:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",BRAVE:"https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",FIREFOX:"https://addons.mozilla.org/en-US/firefox/addon/okexwallet",DEFAULT:"https://www.okx.com/web3"},color:"white",supportedChains:t.filter(o=>h.includes(o.name))}),"getWalletInfo");export{st as canSwitchNetworkTo,et as config,nt as connect,ot as getInstance,at as getSigners,it as getWalletInfo,ct as subscribe,rt 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/helpers.ts", "../src/signer.ts"],
4
- "sourcesContent": ["import {\n Network,\n WalletTypes,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport {\n getSolanaAccounts,\n okx_instance,\n OKX_WALLET_SUPPORTED_CHAINS,\n} from './helpers';\nimport signer from './signer';\nimport { SignerFactory, isEvmBlockchain, BlockchainMeta } from 'rango-types';\n\nconst WALLET = WalletTypes.OKX;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Network.ETHEREUM,\n};\n\nexport const getInstance = okx_instance;\nexport const connect: Connect = async ({ instance, meta }) => {\n let results: ProviderConnectResult[] = [];\n\n const evm_instance = chooseInstance(instance, meta, Network.ETHEREUM);\n\n if (evm_instance) {\n const evm = await getEvmAccounts(evm_instance);\n results.push(evm);\n }\n\n const solanaResults = await getSolanaAccounts(instance);\n\n results = [...results, ...solanaResults];\n\n return results;\n};\n\nexport const subscribe: Subscribe = ({ instance, updateAccounts, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Network.ETHEREUM);\n\n ethInstance?.on('accountsChanged', async (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Network.ETHEREUM)?.chainId;\n\n updateAccounts(addresses, eth_chainId);\n const [{ accounts, chainId }] = await getSolanaAccounts(instance);\n updateAccounts(accounts, chainId);\n });\n};\n\nexport const switchNetwork: SwitchNetwork = async (options) => {\n const instance = chooseInstance(\n options.instance,\n options.meta,\n options.network\n );\n return switchNetworkForEvm({\n ...options,\n instance,\n });\n};\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: any) => SignerFactory = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => ({\n name: 'OKX',\n img: 'https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/okx.png',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n FIREFOX: 'https://addons.mozilla.org/en-US/firefox/addon/okexwallet',\n DEFAULT: 'https://www.okx.com/web3',\n },\n color: 'white',\n supportedChains: allBlockChains.filter((blockchainMeta) =>\n OKX_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network)\n ),\n});\n", "import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function okx_instance() {\n const { okxwallet } = window;\n if (!okxwallet) return null;\n const instances = new Map();\n if (okxwallet) instances.set(Network.ETHEREUM, okxwallet);\n if (okxwallet.solana) instances.set(Network.SOLANA, okxwallet.solana);\n\n return instances;\n}\n\nexport async function getSolanaAccounts(\n instance: any\n): Promise<ProviderConnectResult[]> {\n const solanaInstance = await instance.get(Network.SOLANA);\n const results: ProviderConnectResult[] = [];\n\n if (!!solanaInstance) {\n const solanaResponse = await solanaInstance.connect();\n const account = solanaResponse.publicKey.toString();\n\n results.push({\n accounts: account ? [account] : [],\n chainId: Network.SOLANA,\n });\n }\n\n return results;\n}\n\nexport const OKX_WALLET_SUPPORTED_CHAINS = [\n Network.ETHEREUM,\n Network.BTC,\n Network.BSC,\n Network.TRON,\n Network.SOLANA,\n Network.POLYGON,\n Network.FANTOM,\n Network.ARBITRUM,\n Network.OPTIMISM,\n Network.CRONOS,\n Network.BOBA,\n Network.GNOSIS,\n Network.MOONBEAM,\n Network.MOONRIVER,\n Network.HARMONY,\n Network.LTC,\n Network.AVAX_CCHAIN,\n];\n", "import { DefaultEvmSigner } from '@rango-dev/signer-evm';\nimport { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport { Network, getNetworkInstance } from '@rango-dev/wallets-shared';\nimport {\n DefaultSignerFactory,\n SignerFactory,\n TransactionType as TxType,\n} from 'rango-types';\n\nexport default function getSigners(provider: any): SignerFactory {\n const ethProvider = getNetworkInstance(provider, Network.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Network.SOLANA);\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new DefaultSolanaSigner(solProvider));\n return signers;\n}\n"],
5
- "mappings": "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",
6
- "names": ["Network", "WalletTypes", "canSwitchNetworkToEvm", "chooseInstance", "getEvmAccounts", "switchNetworkForEvm", "Network", "okx_instance", "okxwallet", "instances", "Network", "__name", "getSolanaAccounts", "instance", "solanaInstance", "results", "account", "OKX_WALLET_SUPPORTED_CHAINS", "DefaultEvmSigner", "DefaultSolanaSigner", "Network", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Network", "solProvider", "signers", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "DefaultSolanaSigner", "__name", "isEvmBlockchain", "WALLET", "WalletTypes", "config", "Network", "getInstance", "okx_instance", "connect", "__name", "instance", "meta", "results", "evm_instance", "chooseInstance", "evm", "getEvmAccounts", "solanaResults", "getSolanaAccounts", "subscribe", "updateAccounts", "addresses", "eth_chainId", "isEvmBlockchain", "blockchain", "accounts", "chainId", "switchNetwork", "options", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "getWalletInfo", "allBlockChains", "blockchainMeta", "OKX_WALLET_SUPPORTED_CHAINS"]
4
+ "sourcesContent": ["import {\n WalletTypes,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\n\nimport {\n getSolanaAccounts,\n okx_instance,\n OKX_WALLET_SUPPORTED_CHAINS,\n} from './helpers';\nimport signer from './signer';\nimport { SignerFactory, isEvmBlockchain, BlockchainMeta } from 'rango-types';\nimport { Networks } from '@rango-dev/wallets-shared';\n\nconst WALLET = WalletTypes.OKX;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = okx_instance;\nexport const connect: Connect = async ({ instance, meta }) => {\n let results: ProviderConnectResult[] = [];\n\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n\n if (evm_instance) {\n const evm = await getEvmAccounts(evm_instance);\n results.push(evm);\n }\n\n const solanaResults = await getSolanaAccounts(instance);\n\n results = [...results, ...solanaResults];\n\n return results;\n};\n\nexport const subscribe: Subscribe = ({ instance, updateAccounts, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n\n ethInstance?.on('accountsChanged', async (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Networks.ETHEREUM)?.chainId;\n\n updateAccounts(addresses, eth_chainId);\n const [{ accounts, chainId }] = await getSolanaAccounts(instance);\n updateAccounts(accounts, chainId);\n });\n};\n\nexport const switchNetwork: SwitchNetwork = async (options) => {\n const instance = chooseInstance(\n options.instance,\n options.meta,\n options.network\n );\n return switchNetworkForEvm({\n ...options,\n instance,\n });\n};\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: any) => SignerFactory = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => ({\n name: 'OKX',\n img: 'https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/okx.png',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge',\n FIREFOX: 'https://addons.mozilla.org/en-US/firefox/addon/okexwallet',\n DEFAULT: 'https://www.okx.com/web3',\n },\n color: 'white',\n supportedChains: allBlockChains.filter((blockchainMeta) =>\n OKX_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Networks)\n ),\n});\n", "import { Networks, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function okx_instance() {\n const { okxwallet } = window;\n if (!okxwallet) return null;\n const instances = new Map();\n if (okxwallet) instances.set(Networks.ETHEREUM, okxwallet);\n if (okxwallet.solana) instances.set(Networks.SOLANA, okxwallet.solana);\n\n return instances;\n}\n\nexport async function getSolanaAccounts(\n instance: any\n): Promise<ProviderConnectResult[]> {\n const solanaInstance = await instance.get(Networks.SOLANA);\n const results: ProviderConnectResult[] = [];\n\n if (solanaInstance) {\n const solanaResponse = await solanaInstance.connect();\n const account = solanaResponse.publicKey.toString();\n\n results.push({\n accounts: account ? [account] : [],\n chainId: Networks.SOLANA,\n });\n }\n\n return results;\n}\n\nexport const OKX_WALLET_SUPPORTED_CHAINS = [\n Networks.ETHEREUM,\n Networks.BTC,\n Networks.BSC,\n Networks.TRON,\n Networks.SOLANA,\n Networks.POLYGON,\n Networks.FANTOM,\n Networks.ARBITRUM,\n Networks.OPTIMISM,\n Networks.CRONOS,\n Networks.BOBA,\n Networks.GNOSIS,\n Networks.MOONBEAM,\n Networks.MOONRIVER,\n Networks.HARMONY,\n Networks.LTC,\n Networks.AVAX_CCHAIN,\n];\n", "import { DefaultEvmSigner } from '@rango-dev/signer-evm';\nimport { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport { Networks, getNetworkInstance } from '@rango-dev/wallets-shared';\nimport {\n DefaultSignerFactory,\n SignerFactory,\n TransactionType as TxType,\n} from 'rango-types';\n\nexport default function getSigners(provider: any): SignerFactory {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new DefaultSolanaSigner(solProvider));\n return signers;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["WalletTypes", "canSwitchNetworkToEvm", "chooseInstance", "getEvmAccounts", "switchNetworkForEvm", "Networks", "okx_instance", "okxwallet", "instances", "Networks", "__name", "getSolanaAccounts", "instance", "solanaInstance", "results", "account", "OKX_WALLET_SUPPORTED_CHAINS", "DefaultEvmSigner", "DefaultSolanaSigner", "Networks", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "DefaultSolanaSigner", "__name", "isEvmBlockchain", "Networks", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "okx_instance", "connect", "__name", "instance", "meta", "results", "evm_instance", "chooseInstance", "evm", "getEvmAccounts", "solanaResults", "getSolanaAccounts", "subscribe", "updateAccounts", "addresses", "eth_chainId", "isEvmBlockchain", "blockchain", "accounts", "chainId", "switchNetwork", "options", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "getWalletInfo", "allBlockChains", "blockchainMeta", "OKX_WALLET_SUPPORTED_CHAINS"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-okx",
3
- "version": "0.5.1-next.0",
3
+ "version": "0.5.1-next.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",
@@ -22,7 +22,7 @@
22
22
  "dependencies": {
23
23
  "@rango-dev/signer-evm": "^0.5.1-next.0",
24
24
  "@rango-dev/signer-solana": "^0.5.1-next.0",
25
- "@rango-dev/wallets-shared": "^0.5.0",
25
+ "@rango-dev/wallets-shared": "^0.5.1-next.0",
26
26
  "rango-types": "^0.1.39"
27
27
  },
28
28
  "publishConfig": {
package/src/helpers.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';
1
+ import { Networks, ProviderConnectResult } from '@rango-dev/wallets-shared';
2
2
 
3
3
  export function okx_instance() {
4
4
  const { okxwallet } = window;
5
5
  if (!okxwallet) return null;
6
6
  const instances = new Map();
7
- if (okxwallet) instances.set(Network.ETHEREUM, okxwallet);
8
- if (okxwallet.solana) instances.set(Network.SOLANA, okxwallet.solana);
7
+ if (okxwallet) instances.set(Networks.ETHEREUM, okxwallet);
8
+ if (okxwallet.solana) instances.set(Networks.SOLANA, okxwallet.solana);
9
9
 
10
10
  return instances;
11
11
  }
@@ -13,16 +13,16 @@ export function okx_instance() {
13
13
  export async function getSolanaAccounts(
14
14
  instance: any
15
15
  ): Promise<ProviderConnectResult[]> {
16
- const solanaInstance = await instance.get(Network.SOLANA);
16
+ const solanaInstance = await instance.get(Networks.SOLANA);
17
17
  const results: ProviderConnectResult[] = [];
18
18
 
19
- if (!!solanaInstance) {
19
+ if (solanaInstance) {
20
20
  const solanaResponse = await solanaInstance.connect();
21
21
  const account = solanaResponse.publicKey.toString();
22
22
 
23
23
  results.push({
24
24
  accounts: account ? [account] : [],
25
- chainId: Network.SOLANA,
25
+ chainId: Networks.SOLANA,
26
26
  });
27
27
  }
28
28
 
@@ -30,21 +30,21 @@ export async function getSolanaAccounts(
30
30
  }
31
31
 
32
32
  export const OKX_WALLET_SUPPORTED_CHAINS = [
33
- Network.ETHEREUM,
34
- Network.BTC,
35
- Network.BSC,
36
- Network.TRON,
37
- Network.SOLANA,
38
- Network.POLYGON,
39
- Network.FANTOM,
40
- Network.ARBITRUM,
41
- Network.OPTIMISM,
42
- Network.CRONOS,
43
- Network.BOBA,
44
- Network.GNOSIS,
45
- Network.MOONBEAM,
46
- Network.MOONRIVER,
47
- Network.HARMONY,
48
- Network.LTC,
49
- Network.AVAX_CCHAIN,
33
+ Networks.ETHEREUM,
34
+ Networks.BTC,
35
+ Networks.BSC,
36
+ Networks.TRON,
37
+ Networks.SOLANA,
38
+ Networks.POLYGON,
39
+ Networks.FANTOM,
40
+ Networks.ARBITRUM,
41
+ Networks.OPTIMISM,
42
+ Networks.CRONOS,
43
+ Networks.BOBA,
44
+ Networks.GNOSIS,
45
+ Networks.MOONBEAM,
46
+ Networks.MOONRIVER,
47
+ Networks.HARMONY,
48
+ Networks.LTC,
49
+ Networks.AVAX_CCHAIN,
50
50
  ];
package/src/index.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import {
2
- Network,
3
2
  WalletTypes,
4
3
  CanSwitchNetwork,
5
4
  Connect,
@@ -20,19 +19,20 @@ import {
20
19
  } from './helpers';
21
20
  import signer from './signer';
22
21
  import { SignerFactory, isEvmBlockchain, BlockchainMeta } from 'rango-types';
22
+ import { Networks } from '@rango-dev/wallets-shared';
23
23
 
24
24
  const WALLET = WalletTypes.OKX;
25
25
 
26
26
  export const config = {
27
27
  type: WALLET,
28
- defaultNetwork: Network.ETHEREUM,
28
+ defaultNetwork: Networks.ETHEREUM,
29
29
  };
30
30
 
31
31
  export const getInstance = okx_instance;
32
32
  export const connect: Connect = async ({ instance, meta }) => {
33
33
  let results: ProviderConnectResult[] = [];
34
34
 
35
- const evm_instance = chooseInstance(instance, meta, Network.ETHEREUM);
35
+ const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);
36
36
 
37
37
  if (evm_instance) {
38
38
  const evm = await getEvmAccounts(evm_instance);
@@ -47,12 +47,12 @@ export const connect: Connect = async ({ instance, meta }) => {
47
47
  };
48
48
 
49
49
  export const subscribe: Subscribe = ({ instance, updateAccounts, meta }) => {
50
- const ethInstance = chooseInstance(instance, meta, Network.ETHEREUM);
50
+ const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);
51
51
 
52
52
  ethInstance?.on('accountsChanged', async (addresses: string[]) => {
53
53
  const eth_chainId = meta
54
54
  .filter(isEvmBlockchain)
55
- .find((blockchain) => blockchain.name === Network.ETHEREUM)?.chainId;
55
+ .find((blockchain) => blockchain.name === Networks.ETHEREUM)?.chainId;
56
56
 
57
57
  updateAccounts(addresses, eth_chainId);
58
58
  const [{ accounts, chainId }] = await getSolanaAccounts(instance);
@@ -91,6 +91,6 @@ export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
91
91
  },
92
92
  color: 'white',
93
93
  supportedChains: allBlockChains.filter((blockchainMeta) =>
94
- OKX_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network)
94
+ OKX_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Networks)
95
95
  ),
96
96
  });
package/src/signer.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { DefaultEvmSigner } from '@rango-dev/signer-evm';
2
2
  import { DefaultSolanaSigner } from '@rango-dev/signer-solana';
3
- import { Network, getNetworkInstance } from '@rango-dev/wallets-shared';
3
+ import { Networks, getNetworkInstance } from '@rango-dev/wallets-shared';
4
4
  import {
5
5
  DefaultSignerFactory,
6
6
  SignerFactory,
@@ -8,8 +8,8 @@ import {
8
8
  } from 'rango-types';
9
9
 
10
10
  export default function getSigners(provider: any): SignerFactory {
11
- const ethProvider = getNetworkInstance(provider, Network.ETHEREUM);
12
- const solProvider = getNetworkInstance(provider, Network.SOLANA);
11
+ const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);
12
+ const solProvider = getNetworkInstance(provider, Networks.SOLANA);
13
13
  const signers = new DefaultSignerFactory();
14
14
  signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));
15
15
  signers.registerSigner(TxType.SOLANA, new DefaultSolanaSigner(solProvider));