@rango-dev/provider-exodus 0.1.11-next.75 → 0.1.11-next.76
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/provider-exodus.cjs.development.js +11 -8
- package/dist/provider-exodus.cjs.development.js.map +1 -1
- package/dist/provider-exodus.cjs.production.min.js +1 -1
- package/dist/provider-exodus.cjs.production.min.js.map +1 -1
- package/dist/provider-exodus.esm.js +10 -7
- package/dist/provider-exodus.esm.js.map +1 -1
- package/dist/signer.d.ts +2 -2
- package/package.json +6 -6
- package/src/index.ts +7 -5
- package/src/signer.ts +11 -12
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Network, WalletType, CanSwitchNetwork, Connect, Subscribe, SwitchNetwork,
|
|
1
|
+
import { Network, WalletType, CanSwitchNetwork, Connect, Subscribe, SwitchNetwork, WalletInfo } from '@rango-dev/wallets-shared';
|
|
2
2
|
import { exodus_instances } from './helpers';
|
|
3
|
+
import { SignerFactory, BlockchainMeta } from 'rango-types';
|
|
3
4
|
export declare const config: {
|
|
4
5
|
type: WalletType;
|
|
5
6
|
defaultNetwork: Network;
|
|
@@ -9,5 +10,5 @@ export declare const connect: Connect;
|
|
|
9
10
|
export declare const subscribe: Subscribe;
|
|
10
11
|
export declare const switchNetwork: SwitchNetwork;
|
|
11
12
|
export declare const canSwitchNetworkTo: CanSwitchNetwork;
|
|
12
|
-
export declare const getSigners: (provider: any) =>
|
|
13
|
+
export declare const getSigners: (provider: any) => SignerFactory;
|
|
13
14
|
export declare const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo;
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var walletsShared = require('@rango-dev/wallets-shared');
|
|
6
|
+
var signerEvm = require('@rango-dev/signer-evm');
|
|
7
|
+
var signerSolana = require('@rango-dev/signer-solana');
|
|
8
|
+
var rangoTypes = require('rango-types');
|
|
6
9
|
|
|
7
10
|
function _regeneratorRuntime() {
|
|
8
11
|
_regeneratorRuntime = function () {
|
|
@@ -399,12 +402,12 @@ function _getSolanaAccounts() {
|
|
|
399
402
|
var EXODUS_WALLET_SUPPORTED_CHAINS = [walletsShared.Network.SOLANA, walletsShared.Network.ETHEREUM, walletsShared.Network.BSC, walletsShared.Network.POLYGON, walletsShared.Network.AVAX_CCHAIN, walletsShared.Network.BINANCE];
|
|
400
403
|
|
|
401
404
|
function getSigners(provider) {
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
405
|
+
var ethProvider = walletsShared.getNetworkInstance(provider, walletsShared.Network.ETHEREUM);
|
|
406
|
+
var solProvider = walletsShared.getNetworkInstance(provider, walletsShared.Network.SOLANA);
|
|
407
|
+
var signers = new rangoTypes.SignerFactory();
|
|
408
|
+
signers.registerSigner(rangoTypes.TransactionType.EVM, new signerEvm.DefaultEvmSigner(ethProvider));
|
|
409
|
+
signers.registerSigner(rangoTypes.TransactionType.COSMOS, new signerSolana.DefaultSolanaSigner(solProvider));
|
|
410
|
+
return signers;
|
|
408
411
|
}
|
|
409
412
|
|
|
410
413
|
var WALLET = walletsShared.WalletType.EXODUS;
|
|
@@ -459,7 +462,7 @@ var subscribe = function subscribe(options) {
|
|
|
459
462
|
meta = options.meta;
|
|
460
463
|
ethInstance == null ? void 0 : ethInstance.on('accountsChanged', function (addresses) {
|
|
461
464
|
var _meta$filter$find;
|
|
462
|
-
var eth_chainId = (_meta$filter$find = meta.filter(
|
|
465
|
+
var eth_chainId = (_meta$filter$find = meta.filter(rangoTypes.isEvmBlockchain).find(function (blockchain) {
|
|
463
466
|
return blockchain.name === walletsShared.Network.ETHEREUM;
|
|
464
467
|
})) == null ? void 0 : _meta$filter$find.chainId;
|
|
465
468
|
if (state.connected) {
|
|
@@ -473,7 +476,7 @@ var subscribe = function subscribe(options) {
|
|
|
473
476
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
474
477
|
while (1) switch (_context2.prev = _context2.next) {
|
|
475
478
|
case 0:
|
|
476
|
-
if (state.network != walletsShared.Network.SOLANA) updateChainId(meta.filter(
|
|
479
|
+
if (state.network != walletsShared.Network.SOLANA) updateChainId(meta.filter(rangoTypes.isSolanaBlockchain)[0].chainId);
|
|
477
480
|
network = walletsShared.Network.SOLANA;
|
|
478
481
|
if (publicKey) {
|
|
479
482
|
account = publicKey.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-exodus.cjs.development.js","sources":["../src/helpers.ts","../src/signer.ts","../src/index.ts"],"sourcesContent":["import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function exodus_instances() {\n const { exodus } = window;\n\n if (!exodus) return null;\n\n const instances = new Map();\n if (exodus.ethereum) instances.set(Network.ETHEREUM, exodus.ethereum);\n if (exodus.solana) instances.set(Network.SOLANA, exodus.solana);\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 EXODUS_WALLET_SUPPORTED_CHAINS = [\n Network.SOLANA,\n Network.ETHEREUM,\n Network.BSC,\n Network.POLYGON,\n Network.AVAX_CCHAIN,\n Network.BINANCE,\n];\n","import {\n WalletType,\n WalletSigners,\n defaultSigners,\n} from '@rango-dev/wallets-shared';\n\nexport default function getSigners(provider: any): WalletSigners {\n return defaultSigners({\n provider,\n walletType: WalletType.EXODUS,\n supportEvm: true,\n supportSolana: true,\n });\n}\n","import {\n Network,\n WalletType,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletSigners,\n isEvmBlockchain,\n isSolanaBlockchain,\n BlockchainMeta,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport {\n exodus_instances,\n EXODUS_WALLET_SUPPORTED_CHAINS,\n getSolanaAccounts,\n} from './helpers';\nimport signer from './signer';\n\nconst WALLET = WalletType.EXODUS;\n\nexport const config = {\n type: WALLET,\n // TODO: Get from evm networks\n defaultNetwork: Network.ETHEREUM,\n};\nexport const getInstance = exodus_instances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Network.ETHEREUM);\n let results: ProviderConnectResult[] = [];\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 results = [...results, ...solanaResults];\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.ETHEREUM\n );\n const solanaInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.SOLANA\n );\n const { connect, updateAccounts, state, updateChainId, meta } = options;\n ethInstance?.on('accountsChanged', (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Network.ETHEREUM)?.chainId;\n if (state.connected) {\n if (state.network != Network.ETHEREUM && eth_chainId)\n updateChainId(eth_chainId);\n updateAccounts(addresses);\n }\n });\n\n solanaInstance?.on('accountChanged', async (publicKey: string) => {\n if (state.network != Network.SOLANA)\n updateChainId(meta.filter(isSolanaBlockchain)[0].chainId);\n const network = Network.SOLANA;\n if (publicKey) {\n const account = publicKey.toString();\n updateAccounts([account]);\n } else {\n connect(network);\n }\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) => WalletSigners = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => ({\n name: 'Exodus',\n img: 'https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/exodus.png',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n DEFAULT: 'https://www.exodus.com/',\n },\n color: '#8f70fa',\n supportedChains: allBlockChains.filter((blockchainMeta) =>\n EXODUS_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network)\n ),\n});\n"],"names":["exodus_instances","window","exodus","instances","Map","ethereum","set","Network","ETHEREUM","solana","SOLANA","getSolanaAccounts","instance","get","solanaInstance","results","connect","solanaResponse","account","publicKey","toString","push","accounts","chainId","EXODUS_WALLET_SUPPORTED_CHAINS","BSC","POLYGON","AVAX_CCHAIN","BINANCE","getSigners","provider","defaultSigners","walletType","WalletType","EXODUS","supportEvm","supportSolana","WALLET","config","type","defaultNetwork","getInstance","meta","evm_instance","chooseInstance","getEvmAccounts","evm","solanaResults","subscribe","options","ethInstance","updateAccounts","state","updateChainId","on","addresses","eth_chainId","filter","isEvmBlockchain","find","blockchain","name","connected","network","isSolanaBlockchain","switchNetwork","switchNetworkForEvm","canSwitchNetworkTo","canSwitchNetworkToEvm","signer","getWalletInfo","allBlockChains","img","installLink","CHROME","BRAVE","DEFAULT","color","supportedChains","blockchainMeta","includes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-exodus.cjs.development.js","sources":["../src/helpers.ts","../src/signer.ts","../src/index.ts"],"sourcesContent":["import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function exodus_instances() {\n const { exodus } = window;\n\n if (!exodus) return null;\n\n const instances = new Map();\n if (exodus.ethereum) instances.set(Network.ETHEREUM, exodus.ethereum);\n if (exodus.solana) instances.set(Network.SOLANA, exodus.solana);\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 EXODUS_WALLET_SUPPORTED_CHAINS = [\n Network.SOLANA,\n Network.ETHEREUM,\n Network.BSC,\n Network.POLYGON,\n Network.AVAX_CCHAIN,\n Network.BINANCE,\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 { SignerFactory, TransactionType as TxType } 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 SignerFactory();\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.COSMOS, new DefaultSolanaSigner(solProvider));\n return signers;\n}\n","import {\n Network,\n WalletType,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport {\n exodus_instances,\n EXODUS_WALLET_SUPPORTED_CHAINS,\n getSolanaAccounts,\n} from './helpers';\nimport signer from './signer';\nimport {\n SignerFactory,\n isEvmBlockchain,\n isSolanaBlockchain,\n BlockchainMeta,\n} from 'rango-types';\n\nconst WALLET = WalletType.EXODUS;\n\nexport const config = {\n type: WALLET,\n // TODO: Get from evm networks\n defaultNetwork: Network.ETHEREUM,\n};\nexport const getInstance = exodus_instances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Network.ETHEREUM);\n let results: ProviderConnectResult[] = [];\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 results = [...results, ...solanaResults];\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.ETHEREUM\n );\n const solanaInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.SOLANA\n );\n const { connect, updateAccounts, state, updateChainId, meta } = options;\n ethInstance?.on('accountsChanged', (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Network.ETHEREUM)?.chainId;\n if (state.connected) {\n if (state.network != Network.ETHEREUM && eth_chainId)\n updateChainId(eth_chainId);\n updateAccounts(addresses);\n }\n });\n\n solanaInstance?.on('accountChanged', async (publicKey: string) => {\n if (state.network != Network.SOLANA)\n updateChainId(meta.filter(isSolanaBlockchain)[0].chainId);\n const network = Network.SOLANA;\n if (publicKey) {\n const account = publicKey.toString();\n updateAccounts([account]);\n } else {\n connect(network);\n }\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: 'Exodus',\n img: 'https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/exodus.png',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n DEFAULT: 'https://www.exodus.com/',\n },\n color: '#8f70fa',\n supportedChains: allBlockChains.filter((blockchainMeta) =>\n EXODUS_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network)\n ),\n});\n"],"names":["exodus_instances","_window","window","exodus","instances","Map","ethereum","set","Network","ETHEREUM","solana","SOLANA","getSolanaAccounts","_x","_getSolanaAccounts","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","instance","solanaInstance","results","solanaResponse","account","wrap","_callee$","_context","prev","next","get","sent","connect","publicKey","toString","push","accounts","chainId","abrupt","stop","EXODUS_WALLET_SUPPORTED_CHAINS","BSC","POLYGON","AVAX_CCHAIN","BINANCE","getSigners","provider","ethProvider","getNetworkInstance","solProvider","signers","SignerFactory","registerSigner","TxType","EVM","DefaultEvmSigner","COSMOS","DefaultSolanaSigner","WALLET","WalletType","EXODUS","config","type","defaultNetwork","getInstance","_ref2","_ref","meta","evm_instance","evm","solanaResults","chooseInstance","getEvmAccounts","concat","subscribe","options","ethInstance","updateAccounts","state","updateChainId","on","addresses","eth_chainId","_meta$filter$find","filter","isEvmBlockchain","find","blockchain","name","connected","network","_ref3","_callee2","_callee2$","_context2","isSolanaBlockchain","_x2","switchNetwork","_ref4","_callee3","_callee3$","_context3","switchNetworkForEvm","_extends","_x3","canSwitchNetworkTo","canSwitchNetworkToEvm","signer","getWalletInfo","allBlockChains","img","installLink","CHROME","BRAVE","DEFAULT","color","supportedChains","blockchainMeta","includes"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@rango-dev/wallets-shared");function e(){e=function(){return t};var t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=Object.create((e&&e.prototype instanceof p?e:p).prototype),a=new O(n||[]);return o(i,"_invoke",{value:b(t,r,a)}),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var h={};function p(){}function v(){}function d(){}var w={};s(w,a,(function(){return this}));var y=Object.getPrototypeOf,g=y&&y(y(j([])));g&&g!==r&&n.call(g,a)&&(w=g);var m=d.prototype=p.prototype=Object.create(w);function E(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){var r;o(this,"_invoke",{value:function(o,i){function a(){return new e((function(r,a){!function r(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return r("throw",t,a,c)}))}c(u.arg)}(o,i,r,a)}))}return r=r?r.then(a,a):a()}})}function b(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=k(a,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function k(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,k(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,h;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function N(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(N,this),this.reset(!0)}function j(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:S}}function S(){return{value:void 0,done:!0}}return v.prototype=d,o(m,"constructor",{value:d,configurable:!0}),o(d,"constructor",{value:v,configurable:!0}),v.displayName=s(d,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,u,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},E(x.prototype),s(x.prototype,c,(function(){return this})),t.AsyncIterator=x,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new x(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},E(m),s(m,u,"Generator"),s(m,a,(function(){return this})),s(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=j,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(L),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:j(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}function r(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function n(t){return function(){var e=this,n=arguments;return new Promise((function(o,i){var a=t.apply(e,n);function c(t){r(a,o,i,c,u,"next",t)}function u(t){r(a,o,i,c,u,"throw",t)}c(void 0)}))}}function o(){return(o=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function i(t){return a.apply(this,arguments)}function a(){return(a=n(e().mark((function r(n){var o,i,a;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.get(t.Network.SOLANA);case 2:if(i=[],!(o=e.sent)){e.next=10;break}return e.next=7,o.connect();case 7:a=e.sent.publicKey.toString(),i.push({accounts:a?[a]:[],chainId:t.Network.SOLANA});case 10:return e.abrupt("return",i);case 11:case"end":return e.stop()}}),r)})))).apply(this,arguments)}var c=[t.Network.SOLANA,t.Network.ETHEREUM,t.Network.BSC,t.Network.POLYGON,t.Network.AVAX_CCHAIN,t.Network.BINANCE],u={type:t.WalletType.EXODUS,defaultNetwork:t.Network.ETHEREUM},s=function(){var r=n(e().mark((function r(n){var o,a,c;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.chooseInstance(o=n.instance,n.meta,t.Network.ETHEREUM),c=[],!a){e.next=8;break}return e.next=6,t.getEvmAccounts(a);case 6:c.push(e.sent);case 8:return e.next=10,i(o);case 10:return c=[].concat(c,e.sent),e.abrupt("return",c);case 13:case"end":return e.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}(),l=function(){var r=n(e().mark((function r(n){var i;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.chooseInstance(n.instance,n.meta,n.network),e.abrupt("return",t.switchNetworkForEvm(o({},n,{instance:i})));case 2:case"end":return e.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}();exports.canSwitchNetworkTo=t.canSwitchNetworkToEvm,exports.config=u,exports.connect=s,exports.getInstance=function(){var e=window.exodus;if(!e)return null;var r=new Map;return e.ethereum&&r.set(t.Network.ETHEREUM,e.ethereum),e.solana&&r.set(t.Network.SOLANA,e.solana),r},exports.getSigners=function(e){return t.defaultSigners({provider:e,walletType:t.WalletType.EXODUS,supportEvm:!0,supportSolana:!0})},exports.getWalletInfo=function(t){return{name:"Exodus",img:"https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/exodus.png",installLink:{CHROME:"https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno",BRAVE:"https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno",DEFAULT:"https://www.exodus.com/"},color:"#8f70fa",supportedChains:t.filter((function(t){return c.includes(t.name)}))}},exports.subscribe=function(r){var o=t.chooseInstance(r.instance,r.meta,t.Network.ETHEREUM),i=t.chooseInstance(r.instance,r.meta,t.Network.SOLANA),a=r.connect,c=r.updateAccounts,u=r.state,s=r.updateChainId,l=r.meta;null==o||o.on("accountsChanged",(function(e){var r,n=null==(r=l.filter(t.isEvmBlockchain).find((function(e){return e.name===t.Network.ETHEREUM})))?void 0:r.chainId;u.connected&&(u.network!=t.Network.ETHEREUM&&n&&s(n),c(e))})),null==i||i.on("accountChanged",function(){var r=n(e().mark((function r(n){var o,i;return e().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:u.network!=t.Network.SOLANA&&s(l.filter(t.isSolanaBlockchain)[0].chainId),o=t.Network.SOLANA,n?(i=n.toString(),c([i])):a(o);case 3:case"end":return e.stop()}}),r)})));return function(t){return r.apply(this,arguments)}}())},exports.switchNetwork=l;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@rango-dev/wallets-shared"),e=require("@rango-dev/signer-evm"),r=require("@rango-dev/signer-solana"),n=require("rango-types");function o(){o=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=Object.create((e&&e.prototype instanceof p?e:p).prototype),a=new O(o||[]);return n(i,"_invoke",{value:k(t,r,a)}),i}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var h={};function p(){}function v(){}function d(){}var w={};s(w,a,(function(){return this}));var g=Object.getPrototypeOf,y=g&&g(g(S([])));y&&y!==e&&r.call(y,a)&&(w=y);var m=d.prototype=p.prototype=Object.create(w);function E(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){var o;n(this,"_invoke",{value:function(n,i){function a(){return new e((function(o,a){!function n(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,a,c)}),(function(t){n("throw",t,a,c)})):e.resolve(l).then((function(t){s.value=t,a(s)}),(function(t){return n("throw",t,a,c)}))}c(u.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}})}function k(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=N(a,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=f(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===h)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function N(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,N(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var o=f(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,h;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,h):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,h)}function b(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function L(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function O(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(b,this),this.reset(!0)}function S(t){if(t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:A}}function A(){return{value:void 0,done:!0}}return v.prototype=d,n(m,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:v,configurable:!0}),v.displayName=s(d,u,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===v||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,u,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},E(x.prototype),s(x.prototype,c,(function(){return this})),t.AsyncIterator=x,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new x(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},E(m),s(m,u,"Generator"),s(m,a,(function(){return this})),s(m,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(L),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),h},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),L(r),h}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;L(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},t}function i(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function c(t){i(a,n,o,c,u,"next",t)}function u(t){i(a,n,o,c,u,"throw",t)}c(void 0)}))}}function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}function u(t){return s.apply(this,arguments)}function s(){return(s=a(o().mark((function e(r){var n,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.get(t.Network.SOLANA);case 2:if(i=[],!(n=e.sent)){e.next=10;break}return e.next=7,n.connect();case 7:a=e.sent.publicKey.toString(),i.push({accounts:a?[a]:[],chainId:t.Network.SOLANA});case 10:return e.abrupt("return",i);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var l=[t.Network.SOLANA,t.Network.ETHEREUM,t.Network.BSC,t.Network.POLYGON,t.Network.AVAX_CCHAIN,t.Network.BINANCE],f={type:t.WalletType.EXODUS,defaultNetwork:t.Network.ETHEREUM},h=function(){var e=a(o().mark((function e(r){var n,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.chooseInstance(n=r.instance,r.meta,t.Network.ETHEREUM),a=[],!i){e.next=8;break}return e.next=6,t.getEvmAccounts(i);case 6:a.push(e.sent);case 8:return e.next=10,u(n);case 10:return a=[].concat(a,e.sent),e.abrupt("return",a);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),p=function(){var e=a(o().mark((function e(r){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.chooseInstance(r.instance,r.meta,r.network),e.abrupt("return",t.switchNetworkForEvm(c({},r,{instance:n})));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();exports.canSwitchNetworkTo=t.canSwitchNetworkToEvm,exports.config=f,exports.connect=h,exports.getInstance=function(){var e=window.exodus;if(!e)return null;var r=new Map;return e.ethereum&&r.set(t.Network.ETHEREUM,e.ethereum),e.solana&&r.set(t.Network.SOLANA,e.solana),r},exports.getSigners=function(o){var i=t.getNetworkInstance(o,t.Network.ETHEREUM),a=t.getNetworkInstance(o,t.Network.SOLANA),c=new n.SignerFactory;return c.registerSigner(n.TransactionType.EVM,new e.DefaultEvmSigner(i)),c.registerSigner(n.TransactionType.COSMOS,new r.DefaultSolanaSigner(a)),c},exports.getWalletInfo=function(t){return{name:"Exodus",img:"https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/exodus.png",installLink:{CHROME:"https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno",BRAVE:"https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno",DEFAULT:"https://www.exodus.com/"},color:"#8f70fa",supportedChains:t.filter((function(t){return l.includes(t.name)}))}},exports.subscribe=function(e){var r=t.chooseInstance(e.instance,e.meta,t.Network.ETHEREUM),i=t.chooseInstance(e.instance,e.meta,t.Network.SOLANA),c=e.connect,u=e.updateAccounts,s=e.state,l=e.updateChainId,f=e.meta;null==r||r.on("accountsChanged",(function(e){var r,o=null==(r=f.filter(n.isEvmBlockchain).find((function(e){return e.name===t.Network.ETHEREUM})))?void 0:r.chainId;s.connected&&(s.network!=t.Network.ETHEREUM&&o&&l(o),u(e))})),null==i||i.on("accountChanged",function(){var e=a(o().mark((function e(r){var i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:s.network!=t.Network.SOLANA&&l(f.filter(n.isSolanaBlockchain)[0].chainId),i=t.Network.SOLANA,r?(a=r.toString(),u([a])):c(i);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())},exports.switchNetwork=p;
|
|
2
2
|
//# sourceMappingURL=provider-exodus.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-exodus.cjs.production.min.js","sources":["../src/helpers.ts","../src/index.ts","../src/signer.ts"],"sourcesContent":["import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function exodus_instances() {\n const { exodus } = window;\n\n if (!exodus) return null;\n\n const instances = new Map();\n if (exodus.ethereum) instances.set(Network.ETHEREUM, exodus.ethereum);\n if (exodus.solana) instances.set(Network.SOLANA, exodus.solana);\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 EXODUS_WALLET_SUPPORTED_CHAINS = [\n Network.SOLANA,\n Network.ETHEREUM,\n Network.BSC,\n Network.POLYGON,\n Network.AVAX_CCHAIN,\n Network.BINANCE,\n];\n","import {\n Network,\n WalletType,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n
|
|
1
|
+
{"version":3,"file":"provider-exodus.cjs.production.min.js","sources":["../src/helpers.ts","../src/index.ts","../src/signer.ts"],"sourcesContent":["import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function exodus_instances() {\n const { exodus } = window;\n\n if (!exodus) return null;\n\n const instances = new Map();\n if (exodus.ethereum) instances.set(Network.ETHEREUM, exodus.ethereum);\n if (exodus.solana) instances.set(Network.SOLANA, exodus.solana);\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 EXODUS_WALLET_SUPPORTED_CHAINS = [\n Network.SOLANA,\n Network.ETHEREUM,\n Network.BSC,\n Network.POLYGON,\n Network.AVAX_CCHAIN,\n Network.BINANCE,\n];\n","import {\n Network,\n WalletType,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport {\n exodus_instances,\n EXODUS_WALLET_SUPPORTED_CHAINS,\n getSolanaAccounts,\n} from './helpers';\nimport signer from './signer';\nimport {\n SignerFactory,\n isEvmBlockchain,\n isSolanaBlockchain,\n BlockchainMeta,\n} from 'rango-types';\n\nconst WALLET = WalletType.EXODUS;\n\nexport const config = {\n type: WALLET,\n // TODO: Get from evm networks\n defaultNetwork: Network.ETHEREUM,\n};\nexport const getInstance = exodus_instances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Network.ETHEREUM);\n let results: ProviderConnectResult[] = [];\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 results = [...results, ...solanaResults];\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.ETHEREUM\n );\n const solanaInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.SOLANA\n );\n const { connect, updateAccounts, state, updateChainId, meta } = options;\n ethInstance?.on('accountsChanged', (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Network.ETHEREUM)?.chainId;\n if (state.connected) {\n if (state.network != Network.ETHEREUM && eth_chainId)\n updateChainId(eth_chainId);\n updateAccounts(addresses);\n }\n });\n\n solanaInstance?.on('accountChanged', async (publicKey: string) => {\n if (state.network != Network.SOLANA)\n updateChainId(meta.filter(isSolanaBlockchain)[0].chainId);\n const network = Network.SOLANA;\n if (publicKey) {\n const account = publicKey.toString();\n updateAccounts([account]);\n } else {\n connect(network);\n }\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: 'Exodus',\n img: 'https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/exodus.png',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n DEFAULT: 'https://www.exodus.com/',\n },\n color: '#8f70fa',\n supportedChains: allBlockChains.filter((blockchainMeta) =>\n EXODUS_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network)\n ),\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 { SignerFactory, TransactionType as TxType } 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 SignerFactory();\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.COSMOS, new DefaultSolanaSigner(solProvider));\n return signers;\n}\n"],"names":["getSolanaAccounts","_x","_getSolanaAccounts","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","instance","solanaInstance","results","account","wrap","_context","prev","next","get","Network","SOLANA","sent","connect","publicKey","toString","push","accounts","chainId","abrupt","stop","EXODUS_WALLET_SUPPORTED_CHAINS","ETHEREUM","BSC","POLYGON","AVAX_CCHAIN","BINANCE","config","type","WalletType","EXODUS","defaultNetwork","_ref2","_ref","evm_instance","chooseInstance","meta","getEvmAccounts","concat","switchNetwork","_ref4","_callee3","options","_context3","network","switchNetworkForEvm","_extends","_x3","canSwitchNetworkToEvm","exodus","window","instances","Map","ethereum","set","solana","provider","ethProvider","getNetworkInstance","solProvider","signers","SignerFactory","registerSigner","TxType","EVM","DefaultEvmSigner","COSMOS","DefaultSolanaSigner","allBlockChains","name","img","installLink","CHROME","BRAVE","DEFAULT","color","supportedChains","filter","blockchainMeta","includes","ethInstance","updateAccounts","state","updateChainId","on","addresses","eth_chainId","_meta$filter$find","isEvmBlockchain","find","blockchain","connected","_ref3","_callee2","_context2","isSolanaBlockchain","_x2"],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import { Network,
|
|
1
|
+
import { Network, getNetworkInstance, chooseInstance, canSwitchNetworkToEvm, WalletType, switchNetworkForEvm, getEvmAccounts } from '@rango-dev/wallets-shared';
|
|
2
|
+
import { DefaultEvmSigner } from '@rango-dev/signer-evm';
|
|
3
|
+
import { DefaultSolanaSigner } from '@rango-dev/signer-solana';
|
|
4
|
+
import { SignerFactory, TransactionType, isEvmBlockchain, isSolanaBlockchain } from 'rango-types';
|
|
2
5
|
|
|
3
6
|
function _regeneratorRuntime() {
|
|
4
7
|
_regeneratorRuntime = function () {
|
|
@@ -395,12 +398,12 @@ function _getSolanaAccounts() {
|
|
|
395
398
|
var EXODUS_WALLET_SUPPORTED_CHAINS = [Network.SOLANA, Network.ETHEREUM, Network.BSC, Network.POLYGON, Network.AVAX_CCHAIN, Network.BINANCE];
|
|
396
399
|
|
|
397
400
|
function getSigners(provider) {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
401
|
+
var ethProvider = getNetworkInstance(provider, Network.ETHEREUM);
|
|
402
|
+
var solProvider = getNetworkInstance(provider, Network.SOLANA);
|
|
403
|
+
var signers = new SignerFactory();
|
|
404
|
+
signers.registerSigner(TransactionType.EVM, new DefaultEvmSigner(ethProvider));
|
|
405
|
+
signers.registerSigner(TransactionType.COSMOS, new DefaultSolanaSigner(solProvider));
|
|
406
|
+
return signers;
|
|
404
407
|
}
|
|
405
408
|
|
|
406
409
|
var WALLET = WalletType.EXODUS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-exodus.esm.js","sources":["../src/helpers.ts","../src/signer.ts","../src/index.ts"],"sourcesContent":["import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function exodus_instances() {\n const { exodus } = window;\n\n if (!exodus) return null;\n\n const instances = new Map();\n if (exodus.ethereum) instances.set(Network.ETHEREUM, exodus.ethereum);\n if (exodus.solana) instances.set(Network.SOLANA, exodus.solana);\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 EXODUS_WALLET_SUPPORTED_CHAINS = [\n Network.SOLANA,\n Network.ETHEREUM,\n Network.BSC,\n Network.POLYGON,\n Network.AVAX_CCHAIN,\n Network.BINANCE,\n];\n","import {\n WalletType,\n WalletSigners,\n defaultSigners,\n} from '@rango-dev/wallets-shared';\n\nexport default function getSigners(provider: any): WalletSigners {\n return defaultSigners({\n provider,\n walletType: WalletType.EXODUS,\n supportEvm: true,\n supportSolana: true,\n });\n}\n","import {\n Network,\n WalletType,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletSigners,\n isEvmBlockchain,\n isSolanaBlockchain,\n BlockchainMeta,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport {\n exodus_instances,\n EXODUS_WALLET_SUPPORTED_CHAINS,\n getSolanaAccounts,\n} from './helpers';\nimport signer from './signer';\n\nconst WALLET = WalletType.EXODUS;\n\nexport const config = {\n type: WALLET,\n // TODO: Get from evm networks\n defaultNetwork: Network.ETHEREUM,\n};\nexport const getInstance = exodus_instances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Network.ETHEREUM);\n let results: ProviderConnectResult[] = [];\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 results = [...results, ...solanaResults];\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.ETHEREUM\n );\n const solanaInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.SOLANA\n );\n const { connect, updateAccounts, state, updateChainId, meta } = options;\n ethInstance?.on('accountsChanged', (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Network.ETHEREUM)?.chainId;\n if (state.connected) {\n if (state.network != Network.ETHEREUM && eth_chainId)\n updateChainId(eth_chainId);\n updateAccounts(addresses);\n }\n });\n\n solanaInstance?.on('accountChanged', async (publicKey: string) => {\n if (state.network != Network.SOLANA)\n updateChainId(meta.filter(isSolanaBlockchain)[0].chainId);\n const network = Network.SOLANA;\n if (publicKey) {\n const account = publicKey.toString();\n updateAccounts([account]);\n } else {\n connect(network);\n }\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) => WalletSigners = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => ({\n name: 'Exodus',\n img: 'https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/exodus.png',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n DEFAULT: 'https://www.exodus.com/',\n },\n color: '#8f70fa',\n supportedChains: allBlockChains.filter((blockchainMeta) =>\n EXODUS_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network)\n ),\n});\n"],"names":["exodus_instances","window","exodus","instances","Map","ethereum","set","Network","ETHEREUM","solana","SOLANA","getSolanaAccounts","instance","get","solanaInstance","results","connect","solanaResponse","account","publicKey","toString","push","accounts","chainId","EXODUS_WALLET_SUPPORTED_CHAINS","BSC","POLYGON","AVAX_CCHAIN","BINANCE","getSigners","provider","defaultSigners","walletType","WalletType","EXODUS","supportEvm","supportSolana","WALLET","config","type","defaultNetwork","getInstance","meta","evm_instance","chooseInstance","getEvmAccounts","evm","solanaResults","subscribe","options","ethInstance","updateAccounts","state","updateChainId","on","addresses","eth_chainId","filter","isEvmBlockchain","find","blockchain","name","connected","network","isSolanaBlockchain","switchNetwork","switchNetworkForEvm","canSwitchNetworkTo","canSwitchNetworkToEvm","signer","getWalletInfo","allBlockChains","img","installLink","CHROME","BRAVE","DEFAULT","color","supportedChains","blockchainMeta","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAEgBA,gBAAgB;EAC9B,cAAmBC,MAAM;IAAjBC,MAAM,WAANA,MAAM;EAEd,IAAI,CAACA,MAAM,EAAE,OAAO,IAAI;EAExB,IAAMC,SAAS,GAAG,IAAIC,GAAG,EAAE;EAC3B,IAAIF,MAAM,CAACG,QAAQ,EAAEF,SAAS,CAACG,GAAG,CAACC,OAAO,CAACC,QAAQ,EAAEN,MAAM,CAACG,QAAQ,CAAC;EACrE,IAAIH,MAAM,CAACO,MAAM,EAAEN,SAAS,CAACG,GAAG,CAACC,OAAO,CAACG,MAAM,EAAER,MAAM,CAACO,MAAM,CAAC;EAC/D,OAAON,SAAS;AAClB;SAEsBQ,iBAAiB;EAAA;AAAA;AAiBtC;EAAA,gFAjBM,iBACLC,QAAa;IAAA;IAAA;MAAA;QAAA;UAAA;UAAA,OAEgBA,QAAQ,CAACC,GAAG,CAACN,OAAO,CAACG,MAAM,CAAC;QAAA;UAAnDI,cAAc;UACdC,OAAO,GAA4B,EAAE;UAAA,IAEtC,CAACD,cAAc;YAAA;YAAA;;UAAA;UAAA,OACWA,cAAc,CAACE,OAAO,EAAE;QAAA;UAA/CC,cAAc;UACdC,OAAO,GAAGD,cAAc,CAACE,SAAS,CAACC,QAAQ,EAAE;UAEnDL,OAAO,CAACM,IAAI,CAAC;YACXC,QAAQ,EAAEJ,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;YAClCK,OAAO,EAAEhB,OAAO,CAACG;WAClB,CAAC;QAAC;UAAA,iCAGEK,OAAO;QAAA;QAAA;UAAA;;;GACf;EAAA;AAAA;AAEM,IAAMS,8BAA8B,GAAG,CAC5CjB,OAAO,CAACG,MAAM,EACdH,OAAO,CAACC,QAAQ,EAChBD,OAAO,CAACkB,GAAG,EACXlB,OAAO,CAACmB,OAAO,EACfnB,OAAO,CAACoB,WAAW,EACnBpB,OAAO,CAACqB,OAAO,CAChB;;SCjCuBC,UAAU,CAACC,QAAa;EAC9C,OAAOC,cAAc,CAAC;IACpBD,QAAQ,EAARA,QAAQ;IACRE,UAAU,EAAEC,UAAU,CAACC,MAAM;IAC7BC,UAAU,EAAE,IAAI;IAChBC,aAAa,EAAE;GAChB,CAAC;AACJ;;ACYA,IAAMC,MAAM,GAAGJ,UAAU,CAACC,MAAM;AAEhC,IAAaI,MAAM,GAAG;EACpBC,IAAI,EAAEF,MAAM;;EAEZG,cAAc,EAAEjC,OAAO,CAACC;CACzB;AACD,IAAaiC,WAAW,GAAGzC,gBAAgB;AAE3C,IAAagB,OAAO;EAAA,oFAAY;IAAA;IAAA;MAAA;QAAA;UAASJ,QAAQ,QAARA,QAAQ,EAAE8B,IAAI,QAAJA,IAAI;UAC/CC,YAAY,GAAGC,cAAc,CAAChC,QAAQ,EAAE8B,IAAI,EAAEnC,OAAO,CAACC,QAAQ,CAAC;UACjEO,OAAO,GAA4B,EAAE;UAAA,KAErC4B,YAAY;YAAA;YAAA;;UAAA;UAAA,OACIE,cAAc,CAACF,YAAY,CAAC;QAAA;UAAxCG,GAAG;UACT/B,OAAO,CAACM,IAAI,CAACyB,GAAG,CAAC;QAAC;UAAA;UAAA,OAGQnC,iBAAiB,CAACC,QAAQ,CAAC;QAAA;UAAjDmC,aAAa;UACnBhC,OAAO,aAAOA,OAAO,EAAKgC,aAAa,CAAC;UAAC,iCAClChC,OAAO;QAAA;QAAA;UAAA;;;GACf;EAAA,gBAZYC,OAAO;IAAA;;AAAA,GAYnB;AAED,IAAagC,SAAS,GAAc,SAAvBA,SAAS,CAAeC,OAAO;EAC1C,IAAMC,WAAW,GAAGN,cAAc,CAChCK,OAAO,CAACrC,QAAQ,EAChBqC,OAAO,CAACP,IAAI,EACZnC,OAAO,CAACC,QAAQ,CACjB;EACD,IAAMM,cAAc,GAAG8B,cAAc,CACnCK,OAAO,CAACrC,QAAQ,EAChBqC,OAAO,CAACP,IAAI,EACZnC,OAAO,CAACG,MAAM,CACf;EACD,IAAQM,OAAO,GAAiDiC,OAAO,CAA/DjC,OAAO;IAAEmC,cAAc,GAAiCF,OAAO,CAAtDE,cAAc;IAAEC,KAAK,GAA0BH,OAAO,CAAtCG,KAAK;IAAEC,aAAa,GAAWJ,OAAO,CAA/BI,aAAa;IAAEX,IAAI,GAAKO,OAAO,CAAhBP,IAAI;EAC3DQ,WAAW,oBAAXA,WAAW,CAAEI,EAAE,CAAC,iBAAiB,EAAE,UAACC,SAAmB;;IACrD,IAAMC,WAAW,wBAAGd,IAAI,CACrBe,MAAM,CAACC,eAAe,CAAC,CACvBC,IAAI,CAAC,UAACC,UAAU;MAAA,OAAKA,UAAU,CAACC,IAAI,KAAKtD,OAAO,CAACC,QAAQ;MAAC,qBAFzC,kBAE2Ce,OAAO;IACtE,IAAI6B,KAAK,CAACU,SAAS,EAAE;MACnB,IAAIV,KAAK,CAACW,OAAO,IAAIxD,OAAO,CAACC,QAAQ,IAAIgD,WAAW,EAClDH,aAAa,CAACG,WAAW,CAAC;MAC5BL,cAAc,CAACI,SAAS,CAAC;;GAE5B,CAAC;EAEFzC,cAAc,oBAAdA,cAAc,CAAEwC,EAAE,CAAC,gBAAgB;IAAA,uEAAE,kBAAOnC,SAAiB;MAAA;MAAA;QAAA;UAAA;YAC3D,IAAIiC,KAAK,CAACW,OAAO,IAAIxD,OAAO,CAACG,MAAM,EACjC2C,aAAa,CAACX,IAAI,CAACe,MAAM,CAACO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAACzC,OAAO,CAAC;YACrDwC,OAAO,GAAGxD,OAAO,CAACG,MAAM;YAC9B,IAAIS,SAAS,EAAE;cACPD,OAAO,GAAGC,SAAS,CAACC,QAAQ,EAAE;cACpC+B,cAAc,CAAC,CAACjC,OAAO,CAAC,CAAC;aAC1B,MAAM;cACLF,OAAO,CAAC+C,OAAO,CAAC;;UACjB;UAAA;YAAA;;;KACF;IAAA;MAAA;;MAAC;AACJ,CAAC;AAED,IAAaE,aAAa;EAAA,oFAAkB,kBAAOhB,OAAO;IAAA;IAAA;MAAA;QAAA;UAClDrC,QAAQ,GAAGgC,cAAc,CAC7BK,OAAO,CAACrC,QAAQ,EAChBqC,OAAO,CAACP,IAAI,EACZO,OAAO,CAACc,OAAO,CAChB;UAAA,kCACMG,mBAAmB,cACrBjB,OAAO;YACVrC,QAAQ,EAARA;aACA;QAAA;QAAA;UAAA;;;GACH;EAAA,gBAVYqD,aAAa;IAAA;;AAAA,GAUzB;AAED,IAAaE,kBAAkB,GAAqBC,qBAAqB;AAEzE,IAAavC,YAAU,GAAqCwC;AAE5D,IAAaC,aAAa,GAAqD,SAAlEA,aAAa,CACxBC,cAAc;EAAA,OACV;IACJV,IAAI,EAAE,QAAQ;IACdW,GAAG,EAAE,mGAAmG;IACxGC,WAAW,EAAE;MACXC,MAAM,EACJ,+FAA+F;MACjGC,KAAK,EACH,+FAA+F;MACjGC,OAAO,EAAE;KACV;IACDC,KAAK,EAAE,SAAS;IAChBC,eAAe,EAAEP,cAAc,CAACd,MAAM,CAAC,UAACsB,cAAc;MAAA,OACpDvD,8BAA8B,CAACwD,QAAQ,CAACD,cAAc,CAAClB,IAAe,CAAC;;GAE1E;AAAA,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"provider-exodus.esm.js","sources":["../src/helpers.ts","../src/signer.ts","../src/index.ts"],"sourcesContent":["import { Network, ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nexport function exodus_instances() {\n const { exodus } = window;\n\n if (!exodus) return null;\n\n const instances = new Map();\n if (exodus.ethereum) instances.set(Network.ETHEREUM, exodus.ethereum);\n if (exodus.solana) instances.set(Network.SOLANA, exodus.solana);\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 EXODUS_WALLET_SUPPORTED_CHAINS = [\n Network.SOLANA,\n Network.ETHEREUM,\n Network.BSC,\n Network.POLYGON,\n Network.AVAX_CCHAIN,\n Network.BINANCE,\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 { SignerFactory, TransactionType as TxType } 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 SignerFactory();\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.COSMOS, new DefaultSolanaSigner(solProvider));\n return signers;\n}\n","import {\n Network,\n WalletType,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport {\n exodus_instances,\n EXODUS_WALLET_SUPPORTED_CHAINS,\n getSolanaAccounts,\n} from './helpers';\nimport signer from './signer';\nimport {\n SignerFactory,\n isEvmBlockchain,\n isSolanaBlockchain,\n BlockchainMeta,\n} from 'rango-types';\n\nconst WALLET = WalletType.EXODUS;\n\nexport const config = {\n type: WALLET,\n // TODO: Get from evm networks\n defaultNetwork: Network.ETHEREUM,\n};\nexport const getInstance = exodus_instances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Network.ETHEREUM);\n let results: ProviderConnectResult[] = [];\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 results = [...results, ...solanaResults];\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.ETHEREUM\n );\n const solanaInstance = chooseInstance(\n options.instance,\n options.meta,\n Network.SOLANA\n );\n const { connect, updateAccounts, state, updateChainId, meta } = options;\n ethInstance?.on('accountsChanged', (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Network.ETHEREUM)?.chainId;\n if (state.connected) {\n if (state.network != Network.ETHEREUM && eth_chainId)\n updateChainId(eth_chainId);\n updateAccounts(addresses);\n }\n });\n\n solanaInstance?.on('accountChanged', async (publicKey: string) => {\n if (state.network != Network.SOLANA)\n updateChainId(meta.filter(isSolanaBlockchain)[0].chainId);\n const network = Network.SOLANA;\n if (publicKey) {\n const account = publicKey.toString();\n updateAccounts([account]);\n } else {\n connect(network);\n }\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: 'Exodus',\n img: 'https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/icons/wallets/exodus.png',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/exodus-web3-wallet/aholpfdialjgjfhomihkjbmgjidlcdno',\n DEFAULT: 'https://www.exodus.com/',\n },\n color: '#8f70fa',\n supportedChains: allBlockChains.filter((blockchainMeta) =>\n EXODUS_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network)\n ),\n});\n"],"names":["exodus_instances","_window","window","exodus","instances","Map","ethereum","set","Network","ETHEREUM","solana","SOLANA","getSolanaAccounts","_x","_getSolanaAccounts","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","instance","solanaInstance","results","solanaResponse","account","wrap","_callee$","_context","prev","next","get","sent","connect","publicKey","toString","push","accounts","chainId","abrupt","stop","EXODUS_WALLET_SUPPORTED_CHAINS","BSC","POLYGON","AVAX_CCHAIN","BINANCE","getSigners","provider","ethProvider","getNetworkInstance","solProvider","signers","SignerFactory","registerSigner","TxType","EVM","DefaultEvmSigner","COSMOS","DefaultSolanaSigner","WALLET","WalletType","EXODUS","config","type","defaultNetwork","getInstance","_ref2","_ref","meta","evm_instance","evm","solanaResults","chooseInstance","getEvmAccounts","concat","subscribe","options","ethInstance","updateAccounts","state","updateChainId","on","addresses","eth_chainId","_meta$filter$find","filter","isEvmBlockchain","find","blockchain","name","connected","network","_ref3","_callee2","_callee2$","_context2","isSolanaBlockchain","_x2","switchNetwork","_ref4","_callee3","_callee3$","_context3","switchNetworkForEvm","_extends","_x3","canSwitchNetworkTo","canSwitchNetworkToEvm","signer","getWalletInfo","allBlockChains","img","installLink","CHROME","BRAVE","DEFAULT","color","supportedChains","blockchainMeta","includes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAEgBA,gBAAgBA;EAC9B,IAAAC,OAAA,GAAmBC,MAAM;IAAjBC,MAAM,GAAAF,OAAA,CAANE,MAAM;EAEd,IAAI,CAACA,MAAM,EAAE,OAAO,IAAI;EAExB,IAAMC,SAAS,GAAG,IAAIC,GAAG,EAAE;EAC3B,IAAIF,MAAM,CAACG,QAAQ,EAAEF,SAAS,CAACG,GAAG,CAACC,OAAO,CAACC,QAAQ,EAAEN,MAAM,CAACG,QAAQ,CAAC;EACrE,IAAIH,MAAM,CAACO,MAAM,EAAEN,SAAS,CAACG,GAAG,CAACC,OAAO,CAACG,MAAM,EAAER,MAAM,CAACO,MAAM,CAAC;EAC/D,OAAON,SAAS;AAClB;SAEsBQ,iBAAiBA,CAAAC,EAAA;EAAA,OAAAC,kBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAiBtC,SAAAF;EAAAA,kBAAA,GAAAG,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAjBM,SAAAC,QACLC,QAAa;IAAA,IAAAC,cAAA,EAAAC,OAAA,EAAAC,cAAA,EAAAC,OAAA;IAAA,OAAAP,mBAAA,GAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAEgBT,QAAQ,CAACU,GAAG,CAACvB,OAAO,CAACG,MAAM,CAAC;QAAA;UAAnDW,cAAc,GAAAM,QAAA,CAAAI,IAAA;UACdT,OAAO,GAA4B,EAAE;UAAA,IAEtC,CAACD,cAAc;YAAAM,QAAA,CAAAE,IAAA;YAAA;;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACWR,cAAc,CAACW,OAAO,EAAE;QAAA;UAA/CT,cAAc,GAAAI,QAAA,CAAAI,IAAA;UACdP,OAAO,GAAGD,cAAc,CAACU,SAAS,CAACC,QAAQ,EAAE;UAEnDZ,OAAO,CAACa,IAAI,CAAC;YACXC,QAAQ,EAAEZ,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;YAClCa,OAAO,EAAE9B,OAAO,CAACG;WAClB,CAAC;QAAC;UAAA,OAAAiB,QAAA,CAAAW,MAAA,WAGEhB,OAAO;QAAA;QAAA;UAAA,OAAAK,QAAA,CAAAY,IAAA;;OAAApB,OAAA;GACf;EAAA,OAAAN,kBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAEM,IAAMyB,8BAA8B,GAAG,CAC5CjC,OAAO,CAACG,MAAM,EACdH,OAAO,CAACC,QAAQ,EAChBD,OAAO,CAACkC,GAAG,EACXlC,OAAO,CAACmC,OAAO,EACfnC,OAAO,CAACoC,WAAW,EACnBpC,OAAO,CAACqC,OAAO,CAChB;;SClCuBC,UAAUA,CAACC,QAAa;EAC9C,IAAMC,WAAW,GAAGC,kBAAkB,CAACF,QAAQ,EAAEvC,OAAO,CAACC,QAAQ,CAAC;EAClE,IAAMyC,WAAW,GAAGD,kBAAkB,CAACF,QAAQ,EAAEvC,OAAO,CAACG,MAAM,CAAC;EAChE,IAAMwC,OAAO,GAAG,IAAIC,aAAa,EAAE;EACnCD,OAAO,CAACE,cAAc,CAACC,eAAM,CAACC,GAAG,EAAE,IAAIC,gBAAgB,CAACR,WAAW,CAAC,CAAC;EACrEG,OAAO,CAACE,cAAc,CAACC,eAAM,CAACG,MAAM,EAAE,IAAIC,mBAAmB,CAACR,WAAW,CAAC,CAAC;EAC3E,OAAOC,OAAO;AAChB;;ACeA,IAAMQ,MAAM,GAAGC,UAAU,CAACC,MAAM;AAEhC,IAAaC,MAAM,GAAG;EACpBC,IAAI,EAAEJ,MAAM;;EAEZK,cAAc,EAAExD,OAAO,CAACC;CACzB;AACD,IAAawD,WAAW,GAAGjE,gBAAgB;AAE3C,IAAaiC,OAAO;EAAA,IAAAiC,KAAA,gBAAAjD,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAY,SAAAC,QAAA+C,IAAA;IAAA,IAAA9C,QAAA,EAAA+C,IAAA,EAAAC,YAAA,EAAA9C,OAAA,EAAA+C,GAAA,EAAAC,aAAA;IAAA,OAAArD,mBAAA,GAAAQ,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAST,QAAQ,GAAA8C,IAAA,CAAR9C,QAAQ,EAAE+C,IAAI,GAAAD,IAAA,CAAJC,IAAI;UAC/CC,YAAY,GAAGG,cAAc,CAACnD,QAAQ,EAAE+C,IAAI,EAAE5D,OAAO,CAACC,QAAQ,CAAC;UACjEc,OAAO,GAA4B,EAAE;UAAA,KAErC8C,YAAY;YAAAzC,QAAA,CAAAE,IAAA;YAAA;;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACI2C,cAAc,CAACJ,YAAY,CAAC;QAAA;UAAxCC,GAAG,GAAA1C,QAAA,CAAAI,IAAA;UACTT,OAAO,CAACa,IAAI,CAACkC,GAAG,CAAC;QAAC;UAAA1C,QAAA,CAAAE,IAAA;UAAA,OAGQlB,iBAAiB,CAACS,QAAQ,CAAC;QAAA;UAAjDkD,aAAa,GAAA3C,QAAA,CAAAI,IAAA;UACnBT,OAAO,MAAAmD,MAAA,CAAOnD,OAAO,EAAKgD,aAAa,CAAC;UAAC,OAAA3C,QAAA,CAAAW,MAAA,WAClChB,OAAO;QAAA;QAAA;UAAA,OAAAK,QAAA,CAAAY,IAAA;;OAAApB,OAAA;GACf;EAAA,gBAZYa,OAAOA,CAAApB,EAAA;IAAA,OAAAqD,KAAA,CAAAnD,KAAA,OAAAC,SAAA;;AAAA,GAYnB;AAED,IAAa2D,SAAS,GAAc,SAAvBA,SAASA,CAAeC,OAAO;EAC1C,IAAMC,WAAW,GAAGL,cAAc,CAChCI,OAAO,CAACvD,QAAQ,EAChBuD,OAAO,CAACR,IAAI,EACZ5D,OAAO,CAACC,QAAQ,CACjB;EACD,IAAMa,cAAc,GAAGkD,cAAc,CACnCI,OAAO,CAACvD,QAAQ,EAChBuD,OAAO,CAACR,IAAI,EACZ5D,OAAO,CAACG,MAAM,CACf;EACD,IAAQsB,OAAO,GAAiD2C,OAAO,CAA/D3C,OAAO;IAAE6C,cAAc,GAAiCF,OAAO,CAAtDE,cAAc;IAAEC,KAAK,GAA0BH,OAAO,CAAtCG,KAAK;IAAEC,aAAa,GAAWJ,OAAO,CAA/BI,aAAa;IAAEZ,IAAI,GAAKQ,OAAO,CAAhBR,IAAI;EAC3DS,WAAW,oBAAXA,WAAW,CAAEI,EAAE,CAAC,iBAAiB,EAAE,UAACC,SAAmB;;IACrD,IAAMC,WAAW,IAAAC,iBAAA,GAAGhB,IAAI,CACrBiB,MAAM,CAACC,eAAe,CAAC,CACvBC,IAAI,CAAC,UAACC,UAAU;MAAA,OAAKA,UAAU,CAACC,IAAI,KAAKjF,OAAO,CAACC,QAAQ;MAAC,qBAFzC2E,iBAAA,CAE2C9C,OAAO;IACtE,IAAIyC,KAAK,CAACW,SAAS,EAAE;MACnB,IAAIX,KAAK,CAACY,OAAO,IAAInF,OAAO,CAACC,QAAQ,IAAI0E,WAAW,EAClDH,aAAa,CAACG,WAAW,CAAC;MAC5BL,cAAc,CAACI,SAAS,CAAC;;GAE5B,CAAC;EAEF5D,cAAc,oBAAdA,cAAc,CAAE2D,EAAE,CAAC,gBAAgB;IAAA,IAAAW,KAAA,GAAA3E,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAE,SAAA0E,SAAO3D,SAAiB;MAAA,IAAAyD,OAAA,EAAAlE,OAAA;MAAA,OAAAP,mBAAA,GAAAQ,IAAA,UAAAoE,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAlE,IAAA,GAAAkE,SAAA,CAAAjE,IAAA;UAAA;YAC3D,IAAIiD,KAAK,CAACY,OAAO,IAAInF,OAAO,CAACG,MAAM,EACjCqE,aAAa,CAACZ,IAAI,CAACiB,MAAM,CAACW,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC1D,OAAO,CAAC;YACrDqD,OAAO,GAAGnF,OAAO,CAACG,MAAM;YAC9B,IAAIuB,SAAS,EAAE;cACPT,OAAO,GAAGS,SAAS,CAACC,QAAQ,EAAE;cACpC2C,cAAc,CAAC,CAACrD,OAAO,CAAC,CAAC;aAC1B,MAAM;cACLQ,OAAO,CAAC0D,OAAO,CAAC;;UACjB;UAAA;YAAA,OAAAI,SAAA,CAAAvD,IAAA;;SAAAqD,QAAA;KACF;IAAA,iBAAAI,GAAA;MAAA,OAAAL,KAAA,CAAA7E,KAAA,OAAAC,SAAA;;MAAC;AACJ,CAAC;AAED,IAAakF,aAAa;EAAA,IAAAC,KAAA,gBAAAlF,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAkB,SAAAiF,SAAOxB,OAAO;IAAA,IAAAvD,QAAA;IAAA,OAAAH,mBAAA,GAAAQ,IAAA,UAAA2E,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAzE,IAAA,GAAAyE,SAAA,CAAAxE,IAAA;QAAA;UAClDT,QAAQ,GAAGmD,cAAc,CAC7BI,OAAO,CAACvD,QAAQ,EAChBuD,OAAO,CAACR,IAAI,EACZQ,OAAO,CAACe,OAAO,CAChB;UAAA,OAAAW,SAAA,CAAA/D,MAAA,WACMgE,mBAAmB,CAAAC,QAAA,KACrB5B,OAAO;YACVvD,QAAQ,EAARA;aACA;QAAA;QAAA;UAAA,OAAAiF,SAAA,CAAA9D,IAAA;;OAAA4D,QAAA;GACH;EAAA,gBAVYF,aAAaA,CAAAO,GAAA;IAAA,OAAAN,KAAA,CAAApF,KAAA,OAAAC,SAAA;;AAAA,GAUzB;AAED,IAAa0F,kBAAkB,GAAqBC,qBAAqB;AAEzE,IAAa7D,YAAU,GAAqC8D;AAE5D,IAAaC,aAAa,GAAqD,SAAlEA,aAAaA,CACxBC,cAAc;EAAA,OACV;IACJrB,IAAI,EAAE,QAAQ;IACdsB,GAAG,EAAE,mGAAmG;IACxGC,WAAW,EAAE;MACXC,MAAM,EACJ,+FAA+F;MACjGC,KAAK,EACH,+FAA+F;MACjGC,OAAO,EAAE;KACV;IACDC,KAAK,EAAE,SAAS;IAChBC,eAAe,EAAEP,cAAc,CAACzB,MAAM,CAAC,UAACiC,cAAc;MAAA,OACpD7E,8BAA8B,CAAC8E,QAAQ,CAACD,cAAc,CAAC7B,IAAe,CAAC;;GAE1E;AAAA,CAAC;;;;"}
|
package/dist/signer.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default function getSigners(provider: any):
|
|
1
|
+
import { SignerFactory } from 'rango-types';
|
|
2
|
+
export default function getSigners(provider: any): SignerFactory;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/provider-exodus",
|
|
3
|
-
"version": "0.1.11-next.
|
|
3
|
+
"version": "0.1.11-next.76",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"module": "dist/provider-exodus.esm.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -11,15 +11,12 @@
|
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
13
|
"start": "tsdx watch",
|
|
14
|
-
"build": "tsdx build",
|
|
14
|
+
"build": "tsdx build --tsconfig ./tsconfig.json",
|
|
15
15
|
"test": "tsdx test --passWithNoTests",
|
|
16
16
|
"lint": "tsdx lint",
|
|
17
17
|
"size": "size-limit",
|
|
18
18
|
"analyze": "size-limit --why"
|
|
19
19
|
},
|
|
20
|
-
"peerDependencies": {
|
|
21
|
-
"react": ">=16"
|
|
22
|
-
},
|
|
23
20
|
"husky": {
|
|
24
21
|
"hooks": {
|
|
25
22
|
"pre-commit": "tsdx lint"
|
|
@@ -42,7 +39,10 @@
|
|
|
42
39
|
}
|
|
43
40
|
],
|
|
44
41
|
"dependencies": {
|
|
45
|
-
"@rango-dev/
|
|
42
|
+
"@rango-dev/signer-evm": "^0.1.11-next.76",
|
|
43
|
+
"@rango-dev/signer-solana": "^0.1.11-next.76",
|
|
44
|
+
"@rango-dev/wallets-shared": "^0.1.11-next.73",
|
|
45
|
+
"rango-types": "^0.1.21"
|
|
46
46
|
},
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|
package/src/index.ts
CHANGED
|
@@ -10,10 +10,6 @@ import {
|
|
|
10
10
|
ProviderConnectResult,
|
|
11
11
|
Subscribe,
|
|
12
12
|
SwitchNetwork,
|
|
13
|
-
WalletSigners,
|
|
14
|
-
isEvmBlockchain,
|
|
15
|
-
isSolanaBlockchain,
|
|
16
|
-
BlockchainMeta,
|
|
17
13
|
WalletInfo,
|
|
18
14
|
} from '@rango-dev/wallets-shared';
|
|
19
15
|
import {
|
|
@@ -22,6 +18,12 @@ import {
|
|
|
22
18
|
getSolanaAccounts,
|
|
23
19
|
} from './helpers';
|
|
24
20
|
import signer from './signer';
|
|
21
|
+
import {
|
|
22
|
+
SignerFactory,
|
|
23
|
+
isEvmBlockchain,
|
|
24
|
+
isSolanaBlockchain,
|
|
25
|
+
BlockchainMeta,
|
|
26
|
+
} from 'rango-types';
|
|
25
27
|
|
|
26
28
|
const WALLET = WalletType.EXODUS;
|
|
27
29
|
|
|
@@ -96,7 +98,7 @@ export const switchNetwork: SwitchNetwork = async (options) => {
|
|
|
96
98
|
|
|
97
99
|
export const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;
|
|
98
100
|
|
|
99
|
-
export const getSigners: (provider: any) =>
|
|
101
|
+
export const getSigners: (provider: any) => SignerFactory = signer;
|
|
100
102
|
|
|
101
103
|
export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
|
|
102
104
|
allBlockChains
|
package/src/signer.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from '@rango-dev/wallets-shared';
|
|
1
|
+
import { DefaultEvmSigner } from '@rango-dev/signer-evm';
|
|
2
|
+
import { DefaultSolanaSigner } from '@rango-dev/signer-solana';
|
|
3
|
+
import { Network, getNetworkInstance } from '@rango-dev/wallets-shared';
|
|
4
|
+
import { SignerFactory, TransactionType as TxType } from 'rango-types';
|
|
6
5
|
|
|
7
|
-
export default function getSigners(provider: any):
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
export default function getSigners(provider: any): SignerFactory {
|
|
7
|
+
const ethProvider = getNetworkInstance(provider, Network.ETHEREUM);
|
|
8
|
+
const solProvider = getNetworkInstance(provider, Network.SOLANA);
|
|
9
|
+
const signers = new SignerFactory();
|
|
10
|
+
signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));
|
|
11
|
+
signers.registerSigner(TxType.COSMOS, new DefaultSolanaSigner(solProvider));
|
|
12
|
+
return signers;
|
|
14
13
|
}
|