@rango-dev/provider-bitget 0.22.0 → 0.22.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/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # [0.22.0](https://github.com/rango-exchange/rango-client/compare/provider-bitget@0.20.0...provider-bitget@0.22.0) (2023-12-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * fix HMR for widget and playground ([8524820](https://github.com/rango-exchange/rango-client/commit/8524820f10cf0b8921f3db0c4f620ff98daa4103))
7
+
8
+
9
+
1
10
  # [0.10.0](https://github.com/rango-exchange/rango-client/compare/provider-bitkeep@0.9.0...provider-bitkeep@0.10.0) (2023-08-03)
2
11
 
3
12
 
@@ -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;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAKL,QAAQ,EAGR,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAK5C,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,wBAAkB,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,OA4BrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAoCvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,eAAe,EAAE,eAM7B,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,aAAsB,CAAC;AAEnE,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAkBjE,CAAC"}
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;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAKL,QAAQ,EAGR,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAK5C,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,wBAAkB,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,OA4BrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SA0CvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,eAAe,EAAE,eAM7B,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,aAAsB,CAAC;AAEnE,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAkBjE,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var T=Object.defineProperty;var s=(e,t)=>T(e,"name",{value:t,configurable:!0});import{canEagerlyConnectToEvm as N,canSwitchNetworkToEvm as S,chooseInstance as g,getEvmAccounts as R,Networks as a,subscribeToEvm as C,switchNetworkForEvm as x,WalletTypes as I}from"@rango-dev/wallets-shared";import{evmBlockchains as M,isEvmBlockchain as B,tronBlockchain as L}from"rango-types";import{Networks as f}from"@rango-dev/wallets-shared";function w(){let e=new Map,{bitkeep:t}=window;return!t||(t.ethereum&&e.set(f.ETHEREUM,t.ethereum),t.tronLink&&e.set(f.TRON,t.tronLink),e.size===0)?null:e}s(w,"bitgetInstances");import{DefaultEvmSigner as y}from"@rango-dev/signer-evm";import{DefaultTronSigner as b}from"@rango-dev/signer-tron";import{getNetworkInstance as d,Networks as h}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as v,TransactionType as u}from"rango-types";function m(e){let t=d(e,h.ETHEREUM),o=d(e,h.TRON),n=new v;return n.registerSigner(u.EVM,new y(t)),n.registerSigner(u.TRON,new b(o)),n}s(m,"getSigners");var P=I.BITGET,K={type:P,defaultNetwork:a.ETHEREUM},Q=w,X=s(async({instance:e,meta:t})=>{let o=g(e,t,a.ETHEREUM),n=g(e,t,a.TRON),c=[];if(o){let r=await R(o);c.push(r)}if(n){let r=await n.request({method:"tron_requestAccounts"});if(!r)throw new Error("Please unlock your TronLink extension first.");if(r?.code&&r.message&&r.code!==200)throw new Error(r.message);let i=n.tronWeb.defaultAddress.base58;c.push({accounts:i?[i]:[],chainId:a.TRON})}return c},"connect"),Y=s(({instance:e,state:t,updateChainId:o,updateAccounts:n,meta:c,connect:r,disconnect:i})=>{let E=e.get(a.ETHEREUM),k=c.filter(B);C({instance:E,state:t,updateChainId:o,updateAccounts:n,meta:k,connect:r,disconnect:i}),window.addEventListener("message",l=>{if(l.data.isTronLink&&l.data.message&&l.data.message.action=="accountsChanged"){let p=l?.data?.message?.data?.address;p?n([p]):i()}})},"subscribe"),Z=x,$=S,ee=s(async({instance:e,meta:t})=>{let o=g(e,t,a.ETHEREUM);return o?N({instance:o,meta:t}):Promise.resolve(!1)},"canEagerConnect"),te=m,oe=s(e=>{let t=M(e),o=L(e);return{name:"Bitget Wallet",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",BRAVE:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",DEFAULT:"https://web3.bitget.com/en/wallet-download?type=1"},color:"#ffffff",supportedChains:[...t,...o]}},"getWalletInfo");export{ee as canEagerConnect,$ as canSwitchNetworkTo,K as config,X as connect,Q as getInstance,te as getSigners,oe as getWalletInfo,Y as subscribe,Z as switchNetwork};
1
+ var y=Object.defineProperty;var s=(e,t)=>y(e,"name",{value:t,configurable:!0});import{canEagerlyConnectToEvm as S,canSwitchNetworkToEvm as R,chooseInstance as g,getEvmAccounts as C,Networks as a,subscribeToEvm as x,switchNetworkForEvm as I,WalletTypes as M}from"@rango-dev/wallets-shared";import{evmBlockchains as B,isEvmBlockchain as L,tronBlockchain as P}from"rango-types";import{Networks as w}from"@rango-dev/wallets-shared";function d(){let e=new Map,{bitkeep:t}=window;return!t||(t.ethereum&&e.set(w.ETHEREUM,t.ethereum),t.tronLink&&e.set(w.TRON,t.tronLink),e.size===0)?null:e}s(d,"bitgetInstances");import{DefaultEvmSigner as b}from"@rango-dev/signer-evm";import{DefaultTronSigner as v}from"@rango-dev/signer-tron";import{getNetworkInstance as u,Networks as h}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as N,TransactionType as E}from"rango-types";function m(e){let t=u(e,h.ETHEREUM),o=u(e,h.TRON),n=new N;return n.registerSigner(E.EVM,new b(t)),n.registerSigner(E.TRON,new v(o)),n}s(m,"getSigners");var F=M.BITGET,Q={type:F,defaultNetwork:a.ETHEREUM},X=d,Y=s(async({instance:e,meta:t})=>{let o=g(e,t,a.ETHEREUM),n=g(e,t,a.TRON),c=[];if(o){let r=await C(o);c.push(r)}if(n){let r=await n.request({method:"tron_requestAccounts"});if(!r)throw new Error("Please unlock your TronLink extension first.");if(r?.code&&r.message&&r.code!==200)throw new Error(r.message);let i=n.tronWeb.defaultAddress.base58;c.push({accounts:i?[i]:[],chainId:a.TRON})}return c},"connect"),Z=s(({instance:e,state:t,updateChainId:o,updateAccounts:n,meta:c,connect:r,disconnect:i})=>{let k=e.get(a.ETHEREUM),T=c.filter(L),p=x({instance:k,state:t,updateChainId:o,updateAccounts:n,meta:T,connect:r,disconnect:i});return window.addEventListener("message",l=>{if(l.data.isTronLink&&l.data.message&&l.data.message.action=="accountsChanged"){let f=l?.data?.message?.data?.address;f?n([f]):i()}}),()=>{p&&p()}},"subscribe"),$=I,ee=R,te=s(async({instance:e,meta:t})=>{let o=g(e,t,a.ETHEREUM);return o?S({instance:o,meta:t}):Promise.resolve(!1)},"canEagerConnect"),oe=m,ne=s(e=>{let t=B(e),o=P(e);return{name:"Bitget Wallet",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",BRAVE:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",DEFAULT:"https://web3.bitget.com/en/wallet-download?type=1"},color:"#ffffff",supportedChains:[...t,...o]}},"getWalletInfo");export{te as canEagerConnect,ee as canSwitchNetworkTo,Q as config,Y as connect,X as getInstance,oe as getSigners,ne as getWalletInfo,Z as subscribe,$ 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 type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n Networks,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, isEvmBlockchain, tronBlockchain } from 'rango-types';\n\nimport { bitgetInstances } from './helpers';\nimport signer from './signer';\n\nconst WALLET = WalletTypes.BITGET;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = bitgetInstances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n const tronInstance = chooseInstance(instance, meta, Networks.TRON);\n\n const results: ProviderConnectResult[] = [];\n\n if (ethInstance) {\n const evmResult = await getEvmAccounts(ethInstance);\n results.push(evmResult);\n }\n\n if (tronInstance) {\n const res = await tronInstance.request({ method: 'tron_requestAccounts' });\n if (!res) {\n throw new Error('Please unlock your TronLink extension first.');\n }\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n if (!!res?.code && !!res.message && res.code !== 200) {\n throw new Error(res.message);\n }\n const address = tronInstance.tronWeb.defaultAddress.base58;\n results.push({\n accounts: address ? [address] : [],\n chainId: Networks.TRON,\n });\n }\n\n return results;\n};\n\nexport const subscribe: Subscribe = ({\n instance,\n state,\n updateChainId,\n updateAccounts,\n meta,\n connect,\n disconnect,\n}) => {\n const ethInstance = instance.get(Networks.ETHEREUM);\n const evmBlockchainMeta = meta.filter(isEvmBlockchain);\n\n subscribeToEvm({\n instance: ethInstance,\n state,\n updateChainId,\n updateAccounts,\n meta: evmBlockchainMeta,\n connect,\n disconnect,\n });\n\n window.addEventListener('message', (e) => {\n if (\n e.data.isTronLink &&\n e.data.message &&\n e.data.message.action == 'accountsChanged'\n ) {\n const account = e?.data?.message?.data?.address;\n if (account) {\n updateAccounts([account]);\n } else {\n disconnect();\n }\n }\n });\n};\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\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 getSigners: (provider: any) => SignerFactory = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const tron = tronBlockchain(allBlockChains);\n return {\n name: 'Bitget Wallet',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n DEFAULT: 'https://web3.bitget.com/en/wallet-download?type=1',\n },\n color: '#ffffff',\n supportedChains: [...evms, ...tron],\n };\n};\n", "import type { Network } from '@rango-dev/wallets-shared';\n\nimport { Networks } from '@rango-dev/wallets-shared';\n\ntype Provider = Map<Network, any>;\n\nexport function bitgetInstances(): Provider | null {\n const instances: Provider = new Map();\n const { bitkeep } = window;\n\n if (!bitkeep) {\n return null;\n }\n\n if (bitkeep.ethereum) {\n instances.set(Networks.ETHEREUM, bitkeep.ethereum);\n }\n\n if (bitkeep.tronLink) {\n instances.set(Networks.TRON, bitkeep.tronLink);\n }\n\n if (instances.size === 0) {\n return null;\n }\n\n return instances;\n}\n", "import type { SignerFactory } from 'rango-types';\n\nimport { DefaultEvmSigner } from '@rango-dev/signer-evm';\nimport { DefaultTronSigner } from '@rango-dev/signer-tron';\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default function getSigners(provider: any): SignerFactory {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const tronProvider = getNetworkInstance(provider, Networks.TRON);\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.TRON, new DefaultTronSigner(tronProvider));\n return signers;\n}\n"],
5
- "mappings": "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",
6
- "names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getEvmAccounts", "Networks", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "isEvmBlockchain", "tronBlockchain", "Networks", "bitgetInstances", "instances", "bitkeep", "Networks", "__name", "DefaultEvmSigner", "DefaultTronSigner", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "tronProvider", "signers", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "DefaultTronSigner", "__name", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "bitgetInstances", "connect", "__name", "instance", "meta", "ethInstance", "chooseInstance", "tronInstance", "results", "evmResult", "getEvmAccounts", "res", "address", "subscribe", "state", "updateChainId", "updateAccounts", "disconnect", "evmBlockchainMeta", "isEvmBlockchain", "subscribeToEvm", "e", "account", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "canEagerConnect", "evm_instance", "canEagerlyConnectToEvm", "getSigners", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "tron", "tronBlockchain"]
4
+ "sourcesContent": ["import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n Networks,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, isEvmBlockchain, tronBlockchain } from 'rango-types';\n\nimport { bitgetInstances } from './helpers';\nimport signer from './signer';\n\nconst WALLET = WalletTypes.BITGET;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = bitgetInstances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n const tronInstance = chooseInstance(instance, meta, Networks.TRON);\n\n const results: ProviderConnectResult[] = [];\n\n if (ethInstance) {\n const evmResult = await getEvmAccounts(ethInstance);\n results.push(evmResult);\n }\n\n if (tronInstance) {\n const res = await tronInstance.request({ method: 'tron_requestAccounts' });\n if (!res) {\n throw new Error('Please unlock your TronLink extension first.');\n }\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n if (!!res?.code && !!res.message && res.code !== 200) {\n throw new Error(res.message);\n }\n const address = tronInstance.tronWeb.defaultAddress.base58;\n results.push({\n accounts: address ? [address] : [],\n chainId: Networks.TRON,\n });\n }\n\n return results;\n};\n\nexport const subscribe: Subscribe = ({\n instance,\n state,\n updateChainId,\n updateAccounts,\n meta,\n connect,\n disconnect,\n}) => {\n const ethInstance = instance.get(Networks.ETHEREUM);\n const evmBlockchainMeta = meta.filter(isEvmBlockchain);\n\n const cleanup = subscribeToEvm({\n instance: ethInstance,\n state,\n updateChainId,\n updateAccounts,\n meta: evmBlockchainMeta,\n connect,\n disconnect,\n });\n\n window.addEventListener('message', (e) => {\n if (\n e.data.isTronLink &&\n e.data.message &&\n e.data.message.action == 'accountsChanged'\n ) {\n const account = e?.data?.message?.data?.address;\n if (account) {\n updateAccounts([account]);\n } else {\n disconnect();\n }\n }\n });\n\n return () => {\n if (cleanup) {\n cleanup();\n }\n };\n};\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\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 getSigners: (provider: any) => SignerFactory = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const tron = tronBlockchain(allBlockChains);\n return {\n name: 'Bitget Wallet',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n DEFAULT: 'https://web3.bitget.com/en/wallet-download?type=1',\n },\n color: '#ffffff',\n supportedChains: [...evms, ...tron],\n };\n};\n", "import type { Network } from '@rango-dev/wallets-shared';\n\nimport { Networks } from '@rango-dev/wallets-shared';\n\ntype Provider = Map<Network, any>;\n\nexport function bitgetInstances(): Provider | null {\n const instances: Provider = new Map();\n const { bitkeep } = window;\n\n if (!bitkeep) {\n return null;\n }\n\n if (bitkeep.ethereum) {\n instances.set(Networks.ETHEREUM, bitkeep.ethereum);\n }\n\n if (bitkeep.tronLink) {\n instances.set(Networks.TRON, bitkeep.tronLink);\n }\n\n if (instances.size === 0) {\n return null;\n }\n\n return instances;\n}\n", "import type { SignerFactory } from 'rango-types';\n\nimport { DefaultEvmSigner } from '@rango-dev/signer-evm';\nimport { DefaultTronSigner } from '@rango-dev/signer-tron';\nimport { getNetworkInstance, Networks } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default function getSigners(provider: any): SignerFactory {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const tronProvider = getNetworkInstance(provider, Networks.TRON);\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.TRON, new DefaultTronSigner(tronProvider));\n return signers;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getEvmAccounts", "Networks", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "isEvmBlockchain", "tronBlockchain", "Networks", "bitgetInstances", "instances", "bitkeep", "Networks", "__name", "DefaultEvmSigner", "DefaultTronSigner", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "tronProvider", "signers", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "DefaultTronSigner", "__name", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "bitgetInstances", "connect", "__name", "instance", "meta", "ethInstance", "chooseInstance", "tronInstance", "results", "evmResult", "getEvmAccounts", "res", "address", "subscribe", "state", "updateChainId", "updateAccounts", "disconnect", "evmBlockchainMeta", "isEvmBlockchain", "cleanup", "subscribeToEvm", "e", "account", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "canEagerConnect", "evm_instance", "canEagerlyConnectToEvm", "getSigners", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "tron", "tronBlockchain"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-bitget",
3
- "version": "0.22.0",
3
+ "version": "0.22.1-next.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@rango-dev/signer-evm": "^0.25.0",
25
25
  "@rango-dev/signer-tron": "^0.25.0",
26
- "@rango-dev/wallets-shared": "^0.25.0",
26
+ "@rango-dev/wallets-shared": "^0.25.1-next.1",
27
27
  "rango-types": "^0.1.57"
28
28
  },
29
29
  "publishConfig": {
package/src/index.ts CHANGED
@@ -75,7 +75,7 @@ export const subscribe: Subscribe = ({
75
75
  const ethInstance = instance.get(Networks.ETHEREUM);
76
76
  const evmBlockchainMeta = meta.filter(isEvmBlockchain);
77
77
 
78
- subscribeToEvm({
78
+ const cleanup = subscribeToEvm({
79
79
  instance: ethInstance,
80
80
  state,
81
81
  updateChainId,
@@ -99,6 +99,12 @@ export const subscribe: Subscribe = ({
99
99
  }
100
100
  }
101
101
  });
102
+
103
+ return () => {
104
+ if (cleanup) {
105
+ cleanup();
106
+ }
107
+ };
102
108
  };
103
109
 
104
110
  export const switchNetwork: SwitchNetwork = switchNetworkForEvm;