@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 +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +3 -3
- package/package.json +2 -2
- package/src/index.ts +23 -15
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
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;
|
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,
|
|
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
|
|
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
|
|
5
|
-
"mappings": "+
|
|
6
|
-
"names": ["
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}
|
|
78
|
+
}
|
|
79
|
+
return Promise.resolve(false);
|
|
72
80
|
};
|
|
73
81
|
export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
|
|
74
82
|
allBlockChains
|