@rango-dev/provider-math-wallet 0.25.1-next.0 → 0.26.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/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { Networks, WalletTypes, CanSwitchNetwork, Connect, Subscribe, WalletInfo, CanEagerConnect } from '@rango-dev/wallets-shared';
1
+ import type { CanEagerConnect, CanSwitchNetwork, Connect, Subscribe, WalletInfo } from '@rango-dev/wallets-shared';
2
+ import type { BlockchainMeta, SignerFactory } from 'rango-types';
3
+ import { Networks, WalletTypes } from '@rango-dev/wallets-shared';
2
4
  import { mathWallet as mathWallet_instance } from './helpers';
3
- import { SignerFactory, BlockchainMeta } from 'rango-types';
4
5
  export declare const config: {
5
6
  type: WalletTypes;
6
7
  defaultNetwork: Networks;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,OAAO,EAEP,SAAS,EAIT,UAAU,EACV,eAAe,EAEhB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,UAAU,IAAI,mBAAmB,EAClC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,aAAa,EAGb,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,4BAAsB,CAAC;AAC/C,eAAO,MAAM,OAAO,EAAE,OAcrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAUvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAA8B,CAAC;AAEhE,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,aAAsB,CAAC;AAEnE,eAAO,MAAM,eAAe,EAAE,eAK7B,CAAC;AACF,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,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAIL,QAAQ,EAER,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAEL,UAAU,IAAI,mBAAmB,EAClC,MAAM,WAAW,CAAC;AAKnB,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,4BAAsB,CAAC;AAC/C,eAAO,MAAM,OAAO,EAAE,OAcrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAiBvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,gBAA8B,CAAC;AAEhE,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,UAkBjE,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var E=Object.defineProperty;var o=(t,e)=>E(t,"name",{value:e,configurable:!0});import{Networks as a,WalletTypes as d,chooseInstance as l,getEvmAccounts as b,subscribeToEvm as k,canEagerlyConnectToEvm as A}from"@rango-dev/wallets-shared";import{Networks as s}from"@rango-dev/wallets-shared";function m(){let t=new Map,{solana:e,ethereum:n}=window;return e&&e.isMathWallet&&t.set(s.SOLANA,e),n&&n.isMathWallet&&t.set(s.ETHEREUM,n),t.size===0?null:t}o(m,"mathWallet");async function u(t){let e=t.get(s.SOLANA),n=[];if(e){let c=(await e.connect()).publicKey.toString();n.push({accounts:[c],chainId:s.SOLANA})}return n}o(u,"getNonEvmAccounts");import{DefaultEvmSigner as w}from"@rango-dev/signer-evm";import{DefaultSolanaSigner as S}from"@rango-dev/signer-solana";import{Networks as g,getNetworkInstance as p}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as v,TransactionType as h}from"rango-types";function i(t){let e=p(t,g.ETHEREUM),n=p(t,g.SOLANA),r=new v;return r.registerSigner(h.EVM,new w(e)),r.registerSigner(h.SOLANA,new S(n)),r}o(i,"getSigners");import{evmBlockchains as y,solanaBlockchain as C}from"rango-types";var N=d.MATH,Z={type:N,defaultNetwork:a.ETHEREUM},$=m,tt=o(async({instance:t,meta:e})=>{let n=l(t,e,a.ETHEREUM),r=[];if(n){let f=await b(n);r.push(f)}let c=await u(t);return r=[...r,...c],r},"connect"),et=o(t=>{let e=l(t.instance,t.meta,a.ETHEREUM);e&&k({...t,instance:e})},"subscribe"),nt=o(()=>!1,"canSwitchNetworkTo"),ot=i,rt=o(({instance:t,meta:e})=>{let n=l(t,e,a.ETHEREUM);return n?A({instance:n,meta:e}):Promise.resolve(!1)},"canEagerConnect"),st=o(t=>{let e=y(t),n=C(t);return{name:"Math Wallet",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/math/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc",BRAVE:"https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc",DEFAULT:"https://mathwallet.org/en-us/"},color:"#2b2f25",supportedChains:[...e,...n]}},"getWalletInfo");export{rt as canEagerConnect,nt as canSwitchNetworkTo,Z as config,tt as connect,$ as getInstance,ot as getSigners,st as getWalletInfo,et as subscribe};
1
+ var E=Object.defineProperty;var o=(e,t)=>E(e,"name",{value:t,configurable:!0});import{canEagerlyConnectToEvm as d,chooseInstance as l,getEvmAccounts as y,Networks as a,subscribeToEvm as b,WalletTypes as k}from"@rango-dev/wallets-shared";import{evmBlockchains as A,solanaBlockchain as R}from"rango-types";import{Networks as s}from"@rango-dev/wallets-shared";function m(){let e=new Map,{solana:t,ethereum:n}=window;return t&&t.isMathWallet&&e.set(s.SOLANA,t),n&&n.isMathWallet&&e.set(s.ETHEREUM,n),e.size===0?null:e}o(m,"mathWallet");async function p(e){let t=e.get(s.SOLANA),n=[];if(t){let c=(await t.connect()).publicKey.toString();n.push({accounts:[c],chainId:s.SOLANA})}return n}o(p,"getNonEvmAccounts");import{DefaultEvmSigner as w}from"@rango-dev/signer-evm";import{DefaultSolanaSigner as S}from"@rango-dev/signer-solana";import{Networks as u,getNetworkInstance as g}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as v,TransactionType as f}from"rango-types";function i(e){let t=g(e,u.ETHEREUM),n=g(e,u.SOLANA),r=new v;return r.registerSigner(f.EVM,new w(t)),r.registerSigner(f.SOLANA,new S(n)),r}o(i,"getSigners");var T=k.MATH,z={type:T,defaultNetwork:a.ETHEREUM},K=m,q=o(async({instance:e,meta:t})=>{let n=l(e,t,a.ETHEREUM),r=[];if(n){let h=await y(n);r.push(h)}let c=await p(e);return r=[...r,...c],r},"connect"),G=o(e=>{let t,n=l(e.instance,e.meta,a.ETHEREUM);return n&&(t=b({...e,instance:n})),()=>{t&&t()}},"subscribe"),J=o(()=>!1,"canSwitchNetworkTo"),Q=i,X=o(async({instance:e,meta:t})=>{let n=l(e,t,a.ETHEREUM);return n?d({instance:n,meta:t}):Promise.resolve(!1)},"canEagerConnect"),Y=o(e=>{let t=A(e),n=R(e);return{name:"Math Wallet",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/math/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc",BRAVE:"https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc",DEFAULT:"https://mathwallet.org/en-us/"},color:"#2b2f25",supportedChains:[...t,...n]}},"getWalletInfo");export{X as canEagerConnect,J as canSwitchNetworkTo,z as config,q as connect,K as getInstance,Q as getSigners,Y as getWalletInfo,G as subscribe};
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 Networks,\n WalletTypes,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n chooseInstance,\n getEvmAccounts,\n subscribeToEvm,\n WalletInfo,\n CanEagerConnect,\n canEagerlyConnectToEvm,\n} from '@rango-dev/wallets-shared';\nimport {\n getNonEvmAccounts,\n mathWallet as mathWallet_instance,\n} from './helpers';\nimport signer from './signer';\nimport {\n SignerFactory,\n evmBlockchains,\n solanaBlockchain,\n BlockchainMeta,\n} from 'rango-types';\n\nconst WALLET = WalletTypes.MATH;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = mathWallet_instance;\nexport const connect: Connect = async ({ instance, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n\n let results: ProviderConnectResult[] = [];\n\n if (ethInstance) {\n const evmResult = await getEvmAccounts(ethInstance);\n results.push(evmResult);\n }\n\n const nonEvmResults = await getNonEvmAccounts(instance);\n results = [...results, ...nonEvmResults];\n\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Networks.ETHEREUM\n );\n\n if (ethInstance) {\n subscribeToEvm({ ...options, instance: ethInstance });\n }\n};\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = () => false;\n\nexport const getSigners: (provider: any) => SignerFactory = signer;\n\nexport const canEagerConnect: CanEagerConnect = ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n if (evm_instance) {\n return canEagerlyConnectToEvm({ instance: evm_instance, meta });\n } else return Promise.resolve(false);\n};\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const solana = solanaBlockchain(allBlockChains);\n return {\n name: 'Math Wallet',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/math/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc',\n DEFAULT: 'https://mathwallet.org/en-us/',\n },\n color: '#2b2f25',\n supportedChains: [...evms, ...solana],\n };\n};\n", "import {\n Network,\n Networks,\n ProviderConnectResult,\n} from '@rango-dev/wallets-shared';\n\ntype Provider = Map<Network, any>;\n\nexport function mathWallet() {\n const instances = new Map();\n const { solana, ethereum } = window;\n\n if (!!solana && solana.isMathWallet) instances.set(Networks.SOLANA, solana);\n\n if (ethereum && ethereum.isMathWallet)\n instances.set(Networks.ETHEREUM, ethereum);\n\n if (instances.size === 0) return null;\n\n return instances;\n}\n\nexport async function getNonEvmAccounts(\n instances: Provider\n): Promise<ProviderConnectResult[]> {\n // Getting Solana accounts\n const solanaInstance = instances.get(Networks.SOLANA);\n const results: ProviderConnectResult[] = [];\n\n if (solanaInstance) {\n // Asking for account from wallet.\n const solanaResponse = await solanaInstance.connect();\n\n const solanaAccounts: string = solanaResponse.publicKey.toString();\n\n results.push({\n accounts: [solanaAccounts],\n chainId: Networks.SOLANA,\n });\n }\n\n return results;\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": "+EAAA,OACE,YAAAA,EACA,eAAAC,EAKA,kBAAAC,EACA,kBAAAC,EACA,kBAAAC,EAGA,0BAAAC,MACK,4BCbP,OAEE,YAAAC,MAEK,4BAIA,SAASC,GAAa,CAC3B,IAAMC,EAAY,IAAI,IAChB,CAAE,OAAAC,EAAQ,SAAAC,CAAS,EAAI,OAO7B,OALMD,GAAUA,EAAO,cAAcD,EAAU,IAAIG,EAAS,OAAQF,CAAM,EAEtEC,GAAYA,EAAS,cACvBF,EAAU,IAAIG,EAAS,SAAUD,CAAQ,EAEvCF,EAAU,OAAS,EAAU,KAE1BA,CACT,CAZgBI,EAAAL,EAAA,cAchB,eAAsBM,EACpBL,EACkC,CAElC,IAAMM,EAAiBN,EAAU,IAAIG,EAAS,MAAM,EAC9CI,EAAmC,CAAC,EAE1C,GAAID,EAAgB,CAIlB,IAAME,GAFiB,MAAMF,EAAe,QAAQ,GAEN,UAAU,SAAS,EAEjEC,EAAQ,KAAK,CACX,SAAU,CAACC,CAAc,EACzB,QAASL,EAAS,MACpB,CAAC,EAGH,OAAOI,CACT,CApBsBH,EAAAC,EAAA,qBCtBtB,OAAS,oBAAAI,MAAwB,wBACjC,OAAS,uBAAAC,MAA2B,2BACpC,OAAS,YAAAC,EAAU,sBAAAC,MAA0B,4BAC7C,OACE,wBAAAC,EAEA,mBAAmBC,MACd,cAEQ,SAARC,EAA4BC,EAA8B,CAC/D,IAAMC,EAAcC,EAAmBF,EAAUG,EAAS,QAAQ,EAC5DC,EAAcF,EAAmBF,EAAUG,EAAS,MAAM,EAC1DE,EAAU,IAAIC,EACpB,OAAAD,EAAQ,eAAeE,EAAO,IAAK,IAAIC,EAAiBP,CAAW,CAAC,EACpEI,EAAQ,eAAeE,EAAO,OAAQ,IAAIE,EAAoBL,CAAW,CAAC,EACnEC,CACT,CAPwBK,EAAAX,EAAA,cFUxB,OAEE,kBAAAY,EACA,oBAAAC,MAEK,cAEP,IAAMC,EAASC,EAAY,KAEdC,EAAS,CACpB,KAAMF,EACN,eAAgBG,EAAS,QAC3B,EAEaC,EAAcC,EACdC,GAAmBC,EAAA,MAAO,CAAE,SAAAC,EAAU,KAAAC,CAAK,IAAM,CAC5D,IAAMC,EAAcC,EAAeH,EAAUC,EAAMN,EAAS,QAAQ,EAEhES,EAAmC,CAAC,EAExC,GAAIF,EAAa,CACf,IAAMG,EAAY,MAAMC,EAAeJ,CAAW,EAClDE,EAAQ,KAAKC,CAAS,EAGxB,IAAME,EAAgB,MAAMC,EAAkBR,CAAQ,EACtD,OAAAI,EAAU,CAAC,GAAGA,EAAS,GAAGG,CAAa,EAEhCH,CACT,EAdgC,WAgBnBK,GAAuBV,EAACW,GAAY,CAC/C,IAAMR,EAAcC,EAClBO,EAAQ,SACRA,EAAQ,KACRf,EAAS,QACX,EAEIO,GACFS,EAAe,CAAE,GAAGD,EAAS,SAAUR,CAAY,CAAC,CAExD,EAVoC,aAYvBU,GAAuCb,EAAA,IAAM,GAAN,sBAEvCc,GAA+CA,EAE/CC,GAAmCf,EAAA,CAAC,CAAE,SAAAC,EAAU,KAAAC,CAAK,IAAM,CACtE,IAAMc,EAAeZ,EAAeH,EAAUC,EAAMN,EAAS,QAAQ,EACrE,OAAIoB,EACKC,EAAuB,CAAE,SAAUD,EAAc,KAAAd,CAAK,CAAC,EAClD,QAAQ,QAAQ,EAAK,CACrC,EALgD,mBAMnCgB,GAAkElB,EAC7EmB,GACG,CACH,IAAMC,EAAOC,EAAeF,CAAc,EACpCG,EAASC,EAAiBJ,CAAc,EAC9C,MAAO,CACL,KAAM,cACN,IAAK,qFACL,YAAa,CACX,OACE,yFACF,MACE,yFACF,QAAS,+BACX,EACA,MAAO,UACP,gBAAiB,CAAC,GAAGC,EAAM,GAAGE,CAAM,CACtC,CACF,EAlB+E",
6
- "names": ["Networks", "WalletTypes", "chooseInstance", "getEvmAccounts", "subscribeToEvm", "canEagerlyConnectToEvm", "Networks", "mathWallet", "instances", "solana", "ethereum", "Networks", "__name", "getNonEvmAccounts", "solanaInstance", "results", "solanaAccounts", "DefaultEvmSigner", "DefaultSolanaSigner", "Networks", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "DefaultSolanaSigner", "__name", "evmBlockchains", "solanaBlockchain", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "mathWallet", "connect", "__name", "instance", "meta", "ethInstance", "chooseInstance", "results", "evmResult", "getEvmAccounts", "nonEvmResults", "getNonEvmAccounts", "subscribe", "options", "subscribeToEvm", "canSwitchNetworkTo", "getSigners", "canEagerConnect", "evm_instance", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "solana", "solanaBlockchain"]
4
+ "sourcesContent": ["import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n chooseInstance,\n getEvmAccounts,\n Networks,\n subscribeToEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, solanaBlockchain } from 'rango-types';\n\nimport {\n getNonEvmAccounts,\n mathWallet as mathWallet_instance,\n} from './helpers';\nimport signer from './signer';\n\nconst WALLET = WalletTypes.MATH;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = mathWallet_instance;\nexport const connect: Connect = async ({ instance, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n\n let results: ProviderConnectResult[] = [];\n\n if (ethInstance) {\n const evmResult = await getEvmAccounts(ethInstance);\n results.push(evmResult);\n }\n\n const nonEvmResults = await getNonEvmAccounts(instance);\n results = [...results, ...nonEvmResults];\n\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n let cleanup: ReturnType<Subscribe>;\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Networks.ETHEREUM\n );\n\n if (ethInstance) {\n cleanup = subscribeToEvm({ ...options, instance: ethInstance });\n }\n\n return () => {\n if (cleanup) {\n cleanup();\n }\n };\n};\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = () => false;\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 evms = evmBlockchains(allBlockChains);\n const solana = solanaBlockchain(allBlockChains);\n return {\n name: 'Math Wallet',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/math/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/math-wallet/afbcbjpbpfadlkmhmclhkeeodmamcflc',\n DEFAULT: 'https://mathwallet.org/en-us/',\n },\n color: '#2b2f25',\n supportedChains: [...evms, ...solana],\n };\n};\n", "import {\n Network,\n Networks,\n ProviderConnectResult,\n} from '@rango-dev/wallets-shared';\n\ntype Provider = Map<Network, any>;\n\nexport function mathWallet() {\n const instances = new Map();\n const { solana, ethereum } = window;\n\n if (!!solana && solana.isMathWallet) instances.set(Networks.SOLANA, solana);\n\n if (ethereum && ethereum.isMathWallet)\n instances.set(Networks.ETHEREUM, ethereum);\n\n if (instances.size === 0) return null;\n\n return instances;\n}\n\nexport async function getNonEvmAccounts(\n instances: Provider\n): Promise<ProviderConnectResult[]> {\n // Getting Solana accounts\n const solanaInstance = instances.get(Networks.SOLANA);\n const results: ProviderConnectResult[] = [];\n\n if (solanaInstance) {\n // Asking for account from wallet.\n const solanaResponse = await solanaInstance.connect();\n\n const solanaAccounts: string = solanaResponse.publicKey.toString();\n\n results.push({\n accounts: [solanaAccounts],\n chainId: Networks.SOLANA,\n });\n }\n\n return results;\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": ["canEagerlyConnectToEvm", "chooseInstance", "getEvmAccounts", "Networks", "subscribeToEvm", "WalletTypes", "evmBlockchains", "solanaBlockchain", "Networks", "mathWallet", "instances", "solana", "ethereum", "Networks", "__name", "getNonEvmAccounts", "solanaInstance", "results", "solanaAccounts", "DefaultEvmSigner", "DefaultSolanaSigner", "Networks", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "DefaultSolanaSigner", "__name", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "mathWallet", "connect", "__name", "instance", "meta", "ethInstance", "chooseInstance", "results", "evmResult", "getEvmAccounts", "nonEvmResults", "getNonEvmAccounts", "subscribe", "options", "cleanup", "subscribeToEvm", "canSwitchNetworkTo", "getSigners", "canEagerConnect", "evm_instance", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "solana", "solanaBlockchain"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-math-wallet",
3
- "version": "0.25.1-next.0",
3
+ "version": "0.26.0",
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-solana": "^0.25.0",
26
- "@rango-dev/wallets-shared": "^0.25.1-next.0",
26
+ "@rango-dev/wallets-shared": "^0.26.0",
27
27
  "rango-types": "^0.1.57"
28
28
  },
29
29
  "publishConfig": {
package/src/index.ts CHANGED
@@ -1,28 +1,28 @@
1
- import {
2
- Networks,
3
- WalletTypes,
1
+ import type {
2
+ CanEagerConnect,
4
3
  CanSwitchNetwork,
5
4
  Connect,
6
5
  ProviderConnectResult,
7
6
  Subscribe,
7
+ WalletInfo,
8
+ } from '@rango-dev/wallets-shared';
9
+ import type { BlockchainMeta, SignerFactory } from 'rango-types';
10
+
11
+ import {
12
+ canEagerlyConnectToEvm,
8
13
  chooseInstance,
9
14
  getEvmAccounts,
15
+ Networks,
10
16
  subscribeToEvm,
11
- WalletInfo,
12
- CanEagerConnect,
13
- canEagerlyConnectToEvm,
17
+ WalletTypes,
14
18
  } from '@rango-dev/wallets-shared';
19
+ import { evmBlockchains, solanaBlockchain } from 'rango-types';
20
+
15
21
  import {
16
22
  getNonEvmAccounts,
17
23
  mathWallet as mathWallet_instance,
18
24
  } from './helpers';
19
25
  import signer from './signer';
20
- import {
21
- SignerFactory,
22
- evmBlockchains,
23
- solanaBlockchain,
24
- BlockchainMeta,
25
- } from 'rango-types';
26
26
 
27
27
  const WALLET = WalletTypes.MATH;
28
28
 
@@ -49,6 +49,7 @@ export const connect: Connect = async ({ instance, meta }) => {
49
49
  };
50
50
 
51
51
  export const subscribe: Subscribe = (options) => {
52
+ let cleanup: ReturnType<Subscribe>;
52
53
  const ethInstance = chooseInstance(
53
54
  options.instance,
54
55
  options.meta,
@@ -56,19 +57,26 @@ export const subscribe: Subscribe = (options) => {
56
57
  );
57
58
 
58
59
  if (ethInstance) {
59
- subscribeToEvm({ ...options, instance: ethInstance });
60
+ cleanup = subscribeToEvm({ ...options, instance: ethInstance });
60
61
  }
62
+
63
+ return () => {
64
+ if (cleanup) {
65
+ cleanup();
66
+ }
67
+ };
61
68
  };
62
69
 
63
70
  export const canSwitchNetworkTo: CanSwitchNetwork = () => false;
64
71
 
65
72
  export const getSigners: (provider: any) => SignerFactory = signer;
66
73
 
67
- export const canEagerConnect: CanEagerConnect = ({ instance, meta }) => {
74
+ export const canEagerConnect: CanEagerConnect = async ({ instance, meta }) => {
68
75
  const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);
69
76
  if (evm_instance) {
70
77
  return canEagerlyConnectToEvm({ instance: evm_instance, meta });
71
- } else return Promise.resolve(false);
78
+ }
79
+ return Promise.resolve(false);
72
80
  };
73
81
  export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
74
82
  allBlockChains