@rango-dev/provider-bitget 0.51.2-next.3 → 0.52.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/actions/tron.d.ts +4 -0
- package/dist/actions/tron.d.ts.map +1 -0
- package/dist/builders/tron.d.ts +8 -0
- package/dist/builders/tron.d.ts.map +1 -0
- package/dist/constants.d.ts +5 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/mod.d.ts +3 -0
- package/dist/mod.d.ts.map +1 -0
- package/dist/mod.js +2 -0
- package/dist/mod.js.map +7 -0
- package/dist/namespaces/evm.d.ts +4 -0
- package/dist/namespaces/evm.d.ts.map +1 -0
- package/dist/namespaces/tron.d.ts +4 -0
- package/dist/namespaces/tron.d.ts.map +1 -0
- package/dist/provider-bitget.build.json +1 -1
- package/dist/provider.d.ts +3 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/signer.d.ts +1 -1
- package/dist/signer.d.ts.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +8 -8
- package/readme.md +30 -1
- package/src/actions/tron.ts +36 -0
- package/src/builders/tron.ts +35 -0
- package/src/constants.ts +51 -0
- package/src/mod.ts +8 -0
- package/src/namespaces/evm.ts +55 -0
- package/src/namespaces/tron.ts +62 -0
- package/src/provider.ts +24 -0
- package/src/signer.ts +9 -5
- package/src/types.ts +20 -0
- package/src/utils.ts +65 -0
- package/dist/helpers.d.ts +0 -5
- package/dist/helpers.d.ts.map +0 -1
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -7
- package/src/helpers.ts +0 -28
- package/src/index.ts +0 -141
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../src/actions/tron.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,WAAW;;CAA4B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TronChangeAccountEvent } from '../types.js';
|
|
2
|
+
import { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';
|
|
3
|
+
import { type ProviderAPI, type TronActions } from '@rango-dev/wallets-core/namespaces/tron';
|
|
4
|
+
export declare const changeAccountSubscriber: (getInstance: () => ProviderAPI) => ChangeAccountSubscriberBuilder<MessageEvent<TronChangeAccountEvent>, ProviderAPI, TronActions>;
|
|
5
|
+
export declare const tronBuilders: {
|
|
6
|
+
changeAccountSubscriber: (getInstance: () => ProviderAPI) => ChangeAccountSubscriberBuilder<MessageEvent<TronChangeAccountEvent>, ProviderAPI, TronActions>;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=tron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../src/builders/tron.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,yCAAyC,CAAC;AAEjD,eAAO,MAAM,uBAAuB,gBAAiB,MAAM,WAAW,mGAuBhE,CAAC;AAEP,eAAO,MAAM,YAAY;2CAzB4B,MAAM,WAAW;CAyBf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAUhE,eAAO,MAAM,SAAS,WAAW,CAAC;AAClC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,QAAQ,EAAE,gBAsCtB,CAAC"}
|
package/dist/mod.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,kEAC8C,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/mod.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var L=Object.defineProperty;var o=(e,t)=>L(e,"name",{value:t,configurable:!0});import{defineVersions as nt}from"@rango-dev/wallets-core/utils";import{ProviderBuilder as ot}from"@rango-dev/wallets-core";import"@rango-dev/wallets-core";import{evmBlockchains as M,tronBlockchain as N}from"rango-types";import{LegacyNetworks as u}from"@rango-dev/wallets-core/legacy";import{dynamicImportWithRefinedError as g,getNetworkInstance as f}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as x,TransactionType as w}from"rango-types";async function p(e){let t=f(e,u.ETHEREUM),n=f(e,u.TRON),l=new x,{DefaultEvmSigner:S}=await g(async()=>await import("@rango-dev/signer-evm")),{DefaultTronSigner:C}=await g(async()=>await import("@rango-dev/signer-tron"));return l.registerSigner(w.EVM,new S(t)),l.registerSigner(w.TRON,new C(n)),l}o(p,"getSigners");import{LegacyNetworks as s}from"@rango-dev/wallets-core/legacy";function c(){let e=new Map,{bitkeep:t}=window;return!t||(t.ethereum&&e.set(s.ETHEREUM,t.ethereum),t.tronLink&&e.set(s.TRON,t.tronLink),e.size===0)?null:e}o(c,"bitget");function h(){let e=c();if(!e)throw new Error("Bitget is not injected. Please check your wallet.");return e}o(h,"getInstanceOrThrow");function r(){let t=c()?.get(s.ETHEREUM);if(!t)throw new Error("Bitget not injected or EVM not enabled. Please check your wallet.");return t}o(r,"evmBitget");function a(){let t=c()?.get(s.TRON);if(!t)throw new Error("Bitget not injected or Tron not enabled. Please check your wallet.");return t}o(a,"tronBitget");var i="bitget",b=200,v={name:"Bitget",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",brave:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",homepage:"https://web3.bitget.com/en/wallet-download?type=1"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:e=>M(e)},{label:"Tron",value:"Tron",id:"TRON",getSupportedChains:e=>N(e)}]}},{name:"signers",value:{getSigners:async()=>p(h())}}]};import{NamespaceBuilder as R}from"@rango-dev/wallets-core";import{builders as j,standardizeAndThrowError as O}from"@rango-dev/wallets-core/namespaces/common";import{actions as m,builders as d,hooks as _}from"@rango-dev/wallets-core/namespaces/evm";var[D,E]=_.changeAccountSubscriber(r),V=d.connect().action(m.connect(r)).before(D).or(E).or(O).build(),W=j.disconnect().after(E).build(),q=d.canSwitchNetwork().action(m.canSwitchNetwork()).build(),H=d.canEagerConnect().action(m.canEagerConnect(r)).build(),z=d.getChainId().action(m.getChainId(r)).build(),y=new R("EVM",i).action(V).action(W).action(z).action(H).action(q).build();import{NamespaceBuilder as J}from"@rango-dev/wallets-core";import{builders as Q,standardizeAndThrowError as X}from"@rango-dev/wallets-core/namespaces/common";import{utils as Y}from"@rango-dev/wallets-core/namespaces/tron";import{builders as P}from"@rango-dev/wallets-core/namespaces/tron";var F=o(async()=>{let e=r();if(!a())throw new Error("Trying to eagerly connect to your wallet, but seems its tron instance is not available.");if(!e)throw new Error("Trying to eagerly connect to your EVM wallet, but seems its instance is not available.");try{return!!(await e.request({method:"eth_accounts"})).length}catch{return!1}},"canEagerConnectAction"),A={canEagerConnectAction:F};import{ChangeAccountSubscriberBuilder as U}from"@rango-dev/wallets-core/namespaces/common";import{utils as K}from"@rango-dev/wallets-core/namespaces/tron";var G=o(e=>new U().getInstance(e).onSwitchAccount((t,n)=>{(!t.payload.data.isTronLink||!t.payload.data.message)&&(t.preventDefault(),t.payload.data.message.action=="accountsChanged"&&n.action("disconnect"))}).format(async(t,n)=>K.formatAccountsToCAIP([n.data.message.address])).addEventListener((t,n)=>{window.addEventListener("message",n)}).removeEventListener((t,n)=>{window.removeEventListener("message",n)}),"changeAccountSubscriber"),T={changeAccountSubscriber:G};var[Z,k]=T.changeAccountSubscriber(a).build(),$=P.connect().action(async()=>{let e=a(),t=await e.request({method:"tron_requestAccounts"});if(!t)throw new Error("Please unlock your Bitget extension first.");if(t?.code&&t.message&&t.code!==b)throw new Error(t.message);return Y.formatAccountsToCAIP([e.tronWeb.defaultAddress.base58])}).before(Z).or(X).or(k).build(),tt=Q.disconnect().after(k).build(),et=P.canEagerConnect().action(A.canEagerConnectAction).build(),B=new J("Tron",i).action($).action(tt).action(et).build();var I=o(()=>new ot(i).init(function(e){let[,t]=e.state();c()&&(t("installed",!0),console.debug("[bitget] instance detected.",e))}).config("metadata",v).add("tron",B).add("evm",y).build(),"buildProvider");var Qt=o(()=>nt().version("1.0.0",I()).build(),"versions");export{Qt as versions};
|
|
2
|
+
//# sourceMappingURL=mod.js.map
|
package/dist/mod.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/mod.ts", "../src/provider.ts", "../src/constants.ts", "../src/signer.ts", "../src/utils.ts", "../src/namespaces/evm.ts", "../src/namespaces/tron.ts", "../src/actions/tron.ts", "../src/builders/tron.ts"],
|
|
4
|
+
"sourcesContent": ["import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { tron } from './namespaces/tron.js';\nimport { bitget } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (bitget()) {\n setState('installed', true);\n console.debug('[bitget] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('tron', tron)\n .add('evm', evm)\n\n .build();\n\nexport { buildProvider };\n", "import { type ProviderMetadata } from '@rango-dev/wallets-core';\nimport {\n type BlockchainMeta,\n evmBlockchains,\n tronBlockchain,\n} from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'bitget';\nexport const TronOKRequestCode = 200;\nexport const metadata: ProviderMetadata = {\n name: 'Bitget',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n brave:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n homepage: 'https://web3.bitget.com/en/wallet-download?type=1',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Tron',\n value: 'Tron',\n id: 'TRON',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n tronBlockchain(allBlockchains),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { SignerFactory } from 'rango-types';\n\nimport {\n type LegacyNetworkProviderMap,\n LegacyNetworks,\n} from '@rango-dev/wallets-core/legacy';\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: LegacyNetworkProviderMap\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, LegacyNetworks.ETHEREUM);\n const tronProvider = getNetworkInstance(provider, LegacyNetworks.TRON);\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-evm')\n );\n const { DefaultTronSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-tron')\n );\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.TRON, new DefaultTronSigner(tronProvider));\n return signers;\n}\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';\nimport type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n\nexport function bitget(): Provider | null {\n const instances: Provider = new Map();\n const { bitkeep } = window;\n\n if (!bitkeep) {\n return null;\n }\n\n if (bitkeep.ethereum) {\n instances.set(LegacyNetworks.ETHEREUM, bitkeep.ethereum);\n }\n\n if (bitkeep.tronLink) {\n instances.set(LegacyNetworks.TRON, bitkeep.tronLink);\n }\n\n if (instances.size === 0) {\n return null;\n }\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = bitget();\n\n if (!instances) {\n throw new Error('Bitget is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmBitget(): EvmProviderApi {\n const instances = bitget();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'Bitget not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function tronBitget(): TronProviderApi {\n const instance = bitget();\n const tronInstance = instance?.get(LegacyNetworks.TRON);\n\n if (!tronInstance) {\n throw new Error(\n 'Bitget not injected or Tron not enabled. Please check your wallet.'\n );\n }\n\n return tronInstance;\n}\n", "import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n actions,\n builders,\n hooks,\n} from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmBitget } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.changeAccountSubscriber(evmBitget);\nconst connect = builders\n .connect()\n .action(actions.connect(evmBitget))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmBitget))\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmBitget))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(getChainId)\n .action(canEagerConnect)\n .action(canSwitchNetwork)\n .build();\n\nexport { evm };\n", "import { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n type TronActions,\n utils,\n} from '@rango-dev/wallets-core/namespaces/tron';\nimport { builders } from '@rango-dev/wallets-core/namespaces/tron';\n\nimport { tronActions } from '../actions/tron.js';\nimport { tronBuilders } from '../builders/tron.js';\nimport { TronOKRequestCode, WALLET_ID } from '../constants.js';\nimport { tronBitget } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = tronBuilders\n .changeAccountSubscriber(tronBitget)\n .build();\n\nconst connect = builders\n .connect()\n .action(async () => {\n const instance = tronBitget();\n const accountsResult = await instance.request({\n method: 'tron_requestAccounts',\n });\n if (!accountsResult) {\n throw new Error('Please unlock your Bitget extension first.');\n }\n\n if (\n !!accountsResult?.code &&\n !!accountsResult.message &&\n accountsResult.code !== TronOKRequestCode\n ) {\n throw new Error(accountsResult.message);\n }\n return utils.formatAccountsToCAIP([instance.tronWeb.defaultAddress.base58]);\n })\n .before(changeAccountSubscriber)\n .or(standardizeAndThrowError)\n .or(changeAccountCleanup)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<TronActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(tronActions.canEagerConnectAction)\n .build();\n\nconst tron = new NamespaceBuilder<TronActions>('Tron', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { tron };\n", "import { evmBitget, tronBitget } from '../utils.js';\n\n/*\n * Bitget does not provide an eager connection mechanism for its Tron wallet.\n * The only workaround is to use the EVM-based eager connect approach.\n * However, this will only work if the EVM namespace has been connected at least once before.\n * If either wallet instance is unavailable, we throw an error.\n */\nconst canEagerConnectAction = async () => {\n const evmInstance = evmBitget();\n const tronInstance = tronBitget();\n // Making sure that the Tron instance is available first to prevent errors.\n if (!tronInstance) {\n throw new Error(\n 'Trying to eagerly connect to your wallet, but seems its tron instance is not available.'\n );\n }\n if (!evmInstance) {\n throw new Error(\n 'Trying to eagerly connect to your EVM wallet, but seems its instance is not available.'\n );\n }\n\n try {\n const accounts: string[] = await evmInstance.request({\n method: 'eth_accounts',\n });\n if (accounts.length) {\n return true;\n }\n return false;\n } catch {\n return false;\n }\n};\nexport const tronActions = { canEagerConnectAction };\n", "import type { TronChangeAccountEvent } from '../types.js';\n\nimport { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';\nimport {\n type ProviderAPI,\n type TronActions,\n utils,\n} from '@rango-dev/wallets-core/namespaces/tron';\n\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<\n MessageEvent<TronChangeAccountEvent>,\n ProviderAPI,\n TronActions\n >()\n .getInstance(getInstance)\n .onSwitchAccount((event, context) => {\n if (!event.payload.data.isTronLink || !event.payload.data.message) {\n event.preventDefault();\n if (event.payload.data.message.action == 'accountsChanged') {\n context.action('disconnect');\n }\n }\n })\n .format(async (_, accounts) =>\n utils.formatAccountsToCAIP([accounts.data.message.address])\n )\n .addEventListener((_, callback) => {\n window.addEventListener('message', callback);\n })\n .removeEventListener((_, callback) => {\n window.removeEventListener('message', callback);\n });\n\nexport const tronBuilders = { changeAccountSubscriber };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defineVersions", "ProviderBuilder", "evmBlockchains", "tronBlockchain", "LegacyNetworks", "dynamicImportWithRefinedError", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "LegacyNetworks", "tronProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "DefaultTronSigner", "TxType", "__name", "LegacyNetworks", "bitget", "instances", "bitkeep", "LegacyNetworks", "__name", "getInstanceOrThrow", "evmBitget", "evmInstance", "tronBitget", "tronInstance", "WALLET_ID", "TronOKRequestCode", "metadata", "allBlockchains", "evmBlockchains", "tronBlockchain", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "actions", "builders", "hooks", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "evmBitget", "connect", "builders", "actions", "standardizeAndThrowError", "disconnect", "commonBuilders", "canSwitchNetwork", "canEagerConnect", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "utils", "builders", "canEagerConnectAction", "__name", "evmInstance", "evmBitget", "tronBitget", "tronActions", "ChangeAccountSubscriberBuilder", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "_", "accounts", "utils", "callback", "tronBuilders", "changeAccountSubscriber", "changeAccountCleanup", "tronBuilders", "tronBitget", "connect", "builders", "instance", "accountsResult", "TronOKRequestCode", "utils", "standardizeAndThrowError", "disconnect", "commonBuilders", "canEagerConnect", "tronActions", "tron", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "bitget", "metadata", "tron", "evm", "versions", "__name", "defineVersions", "buildProvider"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AA8CzE,QAAA,MAAM,GAAG,gEAMC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron.d.ts","sourceRoot":"","sources":["../../src/namespaces/tron.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,WAAW,EAEjB,MAAM,yCAAyC,CAAC;AA+CjD,QAAA,MAAM,IAAI,iEAIA,CAAC;AAEX,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/
|
|
1
|
+
{"inputs":{"src/signer.ts":{"bytes":1061,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/signer-tron","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":1520,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1497,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":1350,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/evm","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/actions/tron.ts":{"bytes":1129,"imports":[{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/builders/tron.ts":{"bytes":1142,"imports":[{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/tron","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/tron.ts":{"bytes":1725,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/tron","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/tron","kind":"import-statement","external":true},{"path":"src/actions/tron.ts","kind":"import-statement","original":"../actions/tron.js"},{"path":"src/builders/tron.ts","kind":"import-statement","original":"../builders/tron.js"},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/provider.ts":{"bytes":634,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/evm.ts","kind":"import-statement","original":"./namespaces/evm.js"},{"path":"src/namespaces/tron.ts","kind":"import-statement","original":"./namespaces/tron.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":220,"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17099},"dist/mod.js":{"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/signer-tron","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/evm","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/tron","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/tron","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/tron","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":123},"src/provider.ts":{"bytesInOutput":263},"src/constants.ts":{"bytesInOutput":769},"src/signer.ts":{"bytesInOutput":548},"src/utils.ts":{"bytesInOutput":677},"src/namespaces/evm.ts":{"bytesInOutput":628},"src/namespaces/tron.ts":{"bytesInOutput":809},"src/actions/tron.ts":{"bytesInOutput":387},"src/builders/tron.ts":{"bytesInOutput":624}},"bytes":4963}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,kDAcP,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/signer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';
|
|
2
1
|
import type { SignerFactory } from 'rango-types';
|
|
2
|
+
import { type LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';
|
|
3
3
|
export default function getSigners(provider: LegacyNetworkProviderMap): Promise<SignerFactory>;
|
|
4
4
|
//# sourceMappingURL=signer.d.ts.map
|
package/dist/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,gCAAgC,CAAC;AAOxC,wBAA8B,UAAU,CACtC,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAAC,aAAa,CAAC,CAaxB"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
2
|
+
import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
|
|
3
|
+
import type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';
|
|
4
|
+
export type ProviderObject = {
|
|
5
|
+
[LegacyNetworks.ETHEREUM]: EvmProviderApi;
|
|
6
|
+
[LegacyNetworks.TRON]: TronProviderApi;
|
|
7
|
+
};
|
|
8
|
+
export type Provider = Map<keyof ProviderObject, ProviderObject[keyof ProviderObject]>;
|
|
9
|
+
export type TronChangeAccountEvent = {
|
|
10
|
+
isTronLink: boolean;
|
|
11
|
+
message: {
|
|
12
|
+
action: string;
|
|
13
|
+
address: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE9F,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1C,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;CACxC,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,GAAG,CACxB,MAAM,cAAc,EACpB,cAAc,CAAC,MAAM,cAAc,CAAC,CACrC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Provider } from './types.js';
|
|
2
|
+
import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
|
|
3
|
+
import type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';
|
|
4
|
+
export declare function bitget(): Provider | null;
|
|
5
|
+
export declare function getInstanceOrThrow(): Provider;
|
|
6
|
+
export declare function evmBitget(): EvmProviderApi;
|
|
7
|
+
export declare function tronBitget(): TronProviderApi;
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAI9F,wBAAgB,MAAM,IAAI,QAAQ,GAAG,IAAI,CAqBxC;AAED,wBAAgB,kBAAkB,IAAI,QAAQ,CAQ7C;AAED,wBAAgB,SAAS,IAAI,cAAc,CAY1C;AAED,wBAAgB,UAAU,IAAI,eAAe,CAW5C"}
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/provider-bitget",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.52.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"source": "./src/
|
|
7
|
-
"main": "./dist/
|
|
6
|
+
"source": "./src/mod.ts",
|
|
7
|
+
"main": "./dist/mod.js",
|
|
8
8
|
"exports": {
|
|
9
|
-
".": "./dist/
|
|
9
|
+
".": "./dist/mod.js"
|
|
10
10
|
},
|
|
11
|
-
"typings": "dist/
|
|
11
|
+
"typings": "dist/mod.d.ts",
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
14
14
|
"src"
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "node ../../scripts/build/command.mjs --path wallets/provider-bitget",
|
|
17
|
+
"build": "node ../../scripts/build/command.mjs --path wallets/provider-bitget --inputs src/mod.ts",
|
|
18
18
|
"ts-check": "tsc --declaration --emitDeclarationOnly -p ./tsconfig.json",
|
|
19
19
|
"clean": "rimraf dist",
|
|
20
20
|
"format": "prettier --write '{.,src}/**/*.{ts,tsx}'",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@rango-dev/signer-evm": "^0.40.0",
|
|
25
25
|
"@rango-dev/signer-tron": "^0.39.0",
|
|
26
|
-
"@rango-dev/wallets-core": "^0.
|
|
27
|
-
"@rango-dev/wallets-shared": "^0.
|
|
26
|
+
"@rango-dev/wallets-core": "^0.54.0",
|
|
27
|
+
"@rango-dev/wallets-shared": "^0.55.0",
|
|
28
28
|
"rango-types": "^0.1.89"
|
|
29
29
|
},
|
|
30
30
|
"publishConfig": {
|
package/readme.md
CHANGED
|
@@ -1 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Bitget
|
|
2
|
+
Bitget Wallet integration for hub.
|
|
3
|
+
[Homepage](https://web3.bitget.com/) | [Docs](https://web3.bitget.com/en/wallet/developer)
|
|
4
|
+
|
|
5
|
+
More about implementation status can be found [here](../readme.md).
|
|
6
|
+
|
|
7
|
+
## Implementation notes/limitations
|
|
8
|
+
|
|
9
|
+
### Feature
|
|
10
|
+
|
|
11
|
+
#### ⚠️ Connect (Tron)
|
|
12
|
+
Tron connection attempts can fail unpredictably, often returning an error on the **first or second try**.
|
|
13
|
+
Users may need to **retry the connection** to successfully establish a Tron session.
|
|
14
|
+
|
|
15
|
+
#### ⚠️ Switch Account
|
|
16
|
+
Switching accounts in the Bitget Wallet triggers a **full page refresh**.
|
|
17
|
+
Switch account would break if a single namespace account is connected.
|
|
18
|
+
Switch account would disconnect wallet if the switched one has not connected yet.
|
|
19
|
+
|
|
20
|
+
#### ⚠️ Auto Connect
|
|
21
|
+
- **Tron auto-connect only works if EVM was previously connected.**
|
|
22
|
+
- Tron does **not support silent connection**, so the integration relies on EVM eager-connect when available.
|
|
23
|
+
- If only Tron is selected, **auto-connect will not work**.
|
|
24
|
+
|
|
25
|
+
#### ⚠️ Cross Browser
|
|
26
|
+
Bitget Wallet is supported **only on Chromium-based browsers** (e.g., Chrome, Brave).
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
More wallet information can be found in [readme.md](../readme.md).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { evmBitget, tronBitget } from '../utils.js';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Bitget does not provide an eager connection mechanism for its Tron wallet.
|
|
5
|
+
* The only workaround is to use the EVM-based eager connect approach.
|
|
6
|
+
* However, this will only work if the EVM namespace has been connected at least once before.
|
|
7
|
+
* If either wallet instance is unavailable, we throw an error.
|
|
8
|
+
*/
|
|
9
|
+
const canEagerConnectAction = async () => {
|
|
10
|
+
const evmInstance = evmBitget();
|
|
11
|
+
const tronInstance = tronBitget();
|
|
12
|
+
// Making sure that the Tron instance is available first to prevent errors.
|
|
13
|
+
if (!tronInstance) {
|
|
14
|
+
throw new Error(
|
|
15
|
+
'Trying to eagerly connect to your wallet, but seems its tron instance is not available.'
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
if (!evmInstance) {
|
|
19
|
+
throw new Error(
|
|
20
|
+
'Trying to eagerly connect to your EVM wallet, but seems its instance is not available.'
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
try {
|
|
25
|
+
const accounts: string[] = await evmInstance.request({
|
|
26
|
+
method: 'eth_accounts',
|
|
27
|
+
});
|
|
28
|
+
if (accounts.length) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
} catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export const tronActions = { canEagerConnectAction };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { TronChangeAccountEvent } from '../types.js';
|
|
2
|
+
|
|
3
|
+
import { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';
|
|
4
|
+
import {
|
|
5
|
+
type ProviderAPI,
|
|
6
|
+
type TronActions,
|
|
7
|
+
utils,
|
|
8
|
+
} from '@rango-dev/wallets-core/namespaces/tron';
|
|
9
|
+
|
|
10
|
+
export const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>
|
|
11
|
+
new ChangeAccountSubscriberBuilder<
|
|
12
|
+
MessageEvent<TronChangeAccountEvent>,
|
|
13
|
+
ProviderAPI,
|
|
14
|
+
TronActions
|
|
15
|
+
>()
|
|
16
|
+
.getInstance(getInstance)
|
|
17
|
+
.onSwitchAccount((event, context) => {
|
|
18
|
+
if (!event.payload.data.isTronLink || !event.payload.data.message) {
|
|
19
|
+
event.preventDefault();
|
|
20
|
+
if (event.payload.data.message.action == 'accountsChanged') {
|
|
21
|
+
context.action('disconnect');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
.format(async (_, accounts) =>
|
|
26
|
+
utils.formatAccountsToCAIP([accounts.data.message.address])
|
|
27
|
+
)
|
|
28
|
+
.addEventListener((_, callback) => {
|
|
29
|
+
window.addEventListener('message', callback);
|
|
30
|
+
})
|
|
31
|
+
.removeEventListener((_, callback) => {
|
|
32
|
+
window.removeEventListener('message', callback);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
export const tronBuilders = { changeAccountSubscriber };
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type ProviderMetadata } from '@rango-dev/wallets-core';
|
|
2
|
+
import {
|
|
3
|
+
type BlockchainMeta,
|
|
4
|
+
evmBlockchains,
|
|
5
|
+
tronBlockchain,
|
|
6
|
+
} from 'rango-types';
|
|
7
|
+
|
|
8
|
+
import getSigners from './signer.js';
|
|
9
|
+
import { getInstanceOrThrow } from './utils.js';
|
|
10
|
+
|
|
11
|
+
export const WALLET_ID = 'bitget';
|
|
12
|
+
export const TronOKRequestCode = 200;
|
|
13
|
+
export const metadata: ProviderMetadata = {
|
|
14
|
+
name: 'Bitget',
|
|
15
|
+
icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg',
|
|
16
|
+
extensions: {
|
|
17
|
+
chrome:
|
|
18
|
+
'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',
|
|
19
|
+
brave:
|
|
20
|
+
'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',
|
|
21
|
+
homepage: 'https://web3.bitget.com/en/wallet-download?type=1',
|
|
22
|
+
},
|
|
23
|
+
properties: [
|
|
24
|
+
{
|
|
25
|
+
name: 'namespaces',
|
|
26
|
+
value: {
|
|
27
|
+
selection: 'multiple',
|
|
28
|
+
data: [
|
|
29
|
+
{
|
|
30
|
+
label: 'EVM',
|
|
31
|
+
value: 'EVM',
|
|
32
|
+
id: 'ETH',
|
|
33
|
+
getSupportedChains: (allBlockchains: BlockchainMeta[]) =>
|
|
34
|
+
evmBlockchains(allBlockchains),
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: 'Tron',
|
|
38
|
+
value: 'Tron',
|
|
39
|
+
id: 'TRON',
|
|
40
|
+
getSupportedChains: (allBlockchains: BlockchainMeta[]) =>
|
|
41
|
+
tronBlockchain(allBlockchains),
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'signers',
|
|
48
|
+
value: { getSigners: async () => getSigners(getInstanceOrThrow()) },
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
};
|
package/src/mod.ts
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';
|
|
2
|
+
|
|
3
|
+
import { NamespaceBuilder } from '@rango-dev/wallets-core';
|
|
4
|
+
import {
|
|
5
|
+
builders as commonBuilders,
|
|
6
|
+
standardizeAndThrowError,
|
|
7
|
+
} from '@rango-dev/wallets-core/namespaces/common';
|
|
8
|
+
import {
|
|
9
|
+
actions,
|
|
10
|
+
builders,
|
|
11
|
+
hooks,
|
|
12
|
+
} from '@rango-dev/wallets-core/namespaces/evm';
|
|
13
|
+
|
|
14
|
+
import { WALLET_ID } from '../constants.js';
|
|
15
|
+
import { evmBitget } from '../utils.js';
|
|
16
|
+
|
|
17
|
+
const [changeAccountSubscriber, changeAccountCleanup] =
|
|
18
|
+
hooks.changeAccountSubscriber(evmBitget);
|
|
19
|
+
const connect = builders
|
|
20
|
+
.connect()
|
|
21
|
+
.action(actions.connect(evmBitget))
|
|
22
|
+
.before(changeAccountSubscriber)
|
|
23
|
+
.or(changeAccountCleanup)
|
|
24
|
+
.or(standardizeAndThrowError)
|
|
25
|
+
.build();
|
|
26
|
+
|
|
27
|
+
const disconnect = commonBuilders
|
|
28
|
+
.disconnect<EvmActions>()
|
|
29
|
+
.after(changeAccountCleanup)
|
|
30
|
+
.build();
|
|
31
|
+
|
|
32
|
+
const canSwitchNetwork = builders
|
|
33
|
+
.canSwitchNetwork()
|
|
34
|
+
.action(actions.canSwitchNetwork())
|
|
35
|
+
.build();
|
|
36
|
+
|
|
37
|
+
const canEagerConnect = builders
|
|
38
|
+
.canEagerConnect()
|
|
39
|
+
.action(actions.canEagerConnect(evmBitget))
|
|
40
|
+
.build();
|
|
41
|
+
|
|
42
|
+
const getChainId = builders
|
|
43
|
+
.getChainId()
|
|
44
|
+
.action(actions.getChainId(evmBitget))
|
|
45
|
+
.build();
|
|
46
|
+
|
|
47
|
+
const evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)
|
|
48
|
+
.action(connect)
|
|
49
|
+
.action(disconnect)
|
|
50
|
+
.action(getChainId)
|
|
51
|
+
.action(canEagerConnect)
|
|
52
|
+
.action(canSwitchNetwork)
|
|
53
|
+
.build();
|
|
54
|
+
|
|
55
|
+
export { evm };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { NamespaceBuilder } from '@rango-dev/wallets-core';
|
|
2
|
+
import {
|
|
3
|
+
builders as commonBuilders,
|
|
4
|
+
standardizeAndThrowError,
|
|
5
|
+
} from '@rango-dev/wallets-core/namespaces/common';
|
|
6
|
+
import {
|
|
7
|
+
type TronActions,
|
|
8
|
+
utils,
|
|
9
|
+
} from '@rango-dev/wallets-core/namespaces/tron';
|
|
10
|
+
import { builders } from '@rango-dev/wallets-core/namespaces/tron';
|
|
11
|
+
|
|
12
|
+
import { tronActions } from '../actions/tron.js';
|
|
13
|
+
import { tronBuilders } from '../builders/tron.js';
|
|
14
|
+
import { TronOKRequestCode, WALLET_ID } from '../constants.js';
|
|
15
|
+
import { tronBitget } from '../utils.js';
|
|
16
|
+
|
|
17
|
+
const [changeAccountSubscriber, changeAccountCleanup] = tronBuilders
|
|
18
|
+
.changeAccountSubscriber(tronBitget)
|
|
19
|
+
.build();
|
|
20
|
+
|
|
21
|
+
const connect = builders
|
|
22
|
+
.connect()
|
|
23
|
+
.action(async () => {
|
|
24
|
+
const instance = tronBitget();
|
|
25
|
+
const accountsResult = await instance.request({
|
|
26
|
+
method: 'tron_requestAccounts',
|
|
27
|
+
});
|
|
28
|
+
if (!accountsResult) {
|
|
29
|
+
throw new Error('Please unlock your Bitget extension first.');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (
|
|
33
|
+
!!accountsResult?.code &&
|
|
34
|
+
!!accountsResult.message &&
|
|
35
|
+
accountsResult.code !== TronOKRequestCode
|
|
36
|
+
) {
|
|
37
|
+
throw new Error(accountsResult.message);
|
|
38
|
+
}
|
|
39
|
+
return utils.formatAccountsToCAIP([instance.tronWeb.defaultAddress.base58]);
|
|
40
|
+
})
|
|
41
|
+
.before(changeAccountSubscriber)
|
|
42
|
+
.or(standardizeAndThrowError)
|
|
43
|
+
.or(changeAccountCleanup)
|
|
44
|
+
.build();
|
|
45
|
+
|
|
46
|
+
const disconnect = commonBuilders
|
|
47
|
+
.disconnect<TronActions>()
|
|
48
|
+
.after(changeAccountCleanup)
|
|
49
|
+
.build();
|
|
50
|
+
|
|
51
|
+
const canEagerConnect = builders
|
|
52
|
+
.canEagerConnect()
|
|
53
|
+
.action(tronActions.canEagerConnectAction)
|
|
54
|
+
.build();
|
|
55
|
+
|
|
56
|
+
const tron = new NamespaceBuilder<TronActions>('Tron', WALLET_ID)
|
|
57
|
+
.action(connect)
|
|
58
|
+
.action(disconnect)
|
|
59
|
+
.action(canEagerConnect)
|
|
60
|
+
.build();
|
|
61
|
+
|
|
62
|
+
export { tron };
|
package/src/provider.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ProviderBuilder } from '@rango-dev/wallets-core';
|
|
2
|
+
|
|
3
|
+
import { metadata, WALLET_ID } from './constants.js';
|
|
4
|
+
import { evm } from './namespaces/evm.js';
|
|
5
|
+
import { tron } from './namespaces/tron.js';
|
|
6
|
+
import { bitget } from './utils.js';
|
|
7
|
+
|
|
8
|
+
const buildProvider = () =>
|
|
9
|
+
new ProviderBuilder(WALLET_ID)
|
|
10
|
+
.init(function (context) {
|
|
11
|
+
const [, setState] = context.state();
|
|
12
|
+
|
|
13
|
+
if (bitget()) {
|
|
14
|
+
setState('installed', true);
|
|
15
|
+
console.debug('[bitget] instance detected.', context);
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
.config('metadata', metadata)
|
|
19
|
+
.add('tron', tron)
|
|
20
|
+
.add('evm', evm)
|
|
21
|
+
|
|
22
|
+
.build();
|
|
23
|
+
|
|
24
|
+
export { buildProvider };
|
package/src/signer.ts
CHANGED
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
import type { LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';
|
|
2
1
|
import type { SignerFactory } from 'rango-types';
|
|
3
2
|
|
|
4
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
type LegacyNetworkProviderMap,
|
|
5
|
+
LegacyNetworks,
|
|
6
|
+
} from '@rango-dev/wallets-core/legacy';
|
|
5
7
|
import {
|
|
6
8
|
dynamicImportWithRefinedError,
|
|
7
9
|
getNetworkInstance,
|
|
8
|
-
Networks,
|
|
9
10
|
} from '@rango-dev/wallets-shared';
|
|
10
11
|
import { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';
|
|
11
12
|
|
|
12
13
|
export default async function getSigners(
|
|
13
14
|
provider: LegacyNetworkProviderMap
|
|
14
15
|
): Promise<SignerFactory> {
|
|
15
|
-
const ethProvider = getNetworkInstance(provider,
|
|
16
|
-
const tronProvider = getNetworkInstance(provider,
|
|
16
|
+
const ethProvider = getNetworkInstance(provider, LegacyNetworks.ETHEREUM);
|
|
17
|
+
const tronProvider = getNetworkInstance(provider, LegacyNetworks.TRON);
|
|
17
18
|
const signers = new DefaultSignerFactory();
|
|
18
19
|
const { DefaultEvmSigner } = await dynamicImportWithRefinedError(
|
|
19
20
|
async () => await import('@rango-dev/signer-evm')
|
|
20
21
|
);
|
|
22
|
+
const { DefaultTronSigner } = await dynamicImportWithRefinedError(
|
|
23
|
+
async () => await import('@rango-dev/signer-tron')
|
|
24
|
+
);
|
|
21
25
|
signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));
|
|
22
26
|
signers.registerSigner(TxType.TRON, new DefaultTronSigner(tronProvider));
|
|
23
27
|
return signers;
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
2
|
+
import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
|
|
3
|
+
import type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';
|
|
4
|
+
|
|
5
|
+
export type ProviderObject = {
|
|
6
|
+
[LegacyNetworks.ETHEREUM]: EvmProviderApi;
|
|
7
|
+
[LegacyNetworks.TRON]: TronProviderApi;
|
|
8
|
+
};
|
|
9
|
+
export type Provider = Map<
|
|
10
|
+
keyof ProviderObject,
|
|
11
|
+
ProviderObject[keyof ProviderObject]
|
|
12
|
+
>;
|
|
13
|
+
|
|
14
|
+
export type TronChangeAccountEvent = {
|
|
15
|
+
isTronLink: boolean;
|
|
16
|
+
message: {
|
|
17
|
+
action: string;
|
|
18
|
+
address: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
package/src/utils.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { Provider } from './types.js';
|
|
2
|
+
import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
|
|
3
|
+
import type { ProviderAPI as TronProviderApi } from '@rango-dev/wallets-core/namespaces/tron';
|
|
4
|
+
|
|
5
|
+
import { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
6
|
+
|
|
7
|
+
export function bitget(): Provider | null {
|
|
8
|
+
const instances: Provider = new Map();
|
|
9
|
+
const { bitkeep } = window;
|
|
10
|
+
|
|
11
|
+
if (!bitkeep) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (bitkeep.ethereum) {
|
|
16
|
+
instances.set(LegacyNetworks.ETHEREUM, bitkeep.ethereum);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (bitkeep.tronLink) {
|
|
20
|
+
instances.set(LegacyNetworks.TRON, bitkeep.tronLink);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (instances.size === 0) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return instances;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function getInstanceOrThrow(): Provider {
|
|
31
|
+
const instances = bitget();
|
|
32
|
+
|
|
33
|
+
if (!instances) {
|
|
34
|
+
throw new Error('Bitget is not injected. Please check your wallet.');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return instances;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function evmBitget(): EvmProviderApi {
|
|
41
|
+
const instances = bitget();
|
|
42
|
+
|
|
43
|
+
const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);
|
|
44
|
+
|
|
45
|
+
if (!evmInstance) {
|
|
46
|
+
throw new Error(
|
|
47
|
+
'Bitget not injected or EVM not enabled. Please check your wallet.'
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return evmInstance as EvmProviderApi;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export function tronBitget(): TronProviderApi {
|
|
55
|
+
const instance = bitget();
|
|
56
|
+
const tronInstance = instance?.get(LegacyNetworks.TRON);
|
|
57
|
+
|
|
58
|
+
if (!tronInstance) {
|
|
59
|
+
throw new Error(
|
|
60
|
+
'Bitget not injected or Tron not enabled. Please check your wallet.'
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return tronInstance;
|
|
65
|
+
}
|
package/dist/helpers.d.ts
DELETED
package/dist/helpers.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAIzD,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAElC,wBAAgB,eAAe,IAAI,QAAQ,GAAG,IAAI,CAqBjD"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { CanEagerConnect, CanSwitchNetwork, Connect, Subscribe, SwitchNetwork, WalletInfo } from '@rango-dev/wallets-shared';
|
|
2
|
-
import type { BlockchainMeta, SignerFactory } from 'rango-types';
|
|
3
|
-
import { Networks, WalletTypes } from '@rango-dev/wallets-shared';
|
|
4
|
-
import { bitgetInstances } from './helpers.js';
|
|
5
|
-
export declare const config: {
|
|
6
|
-
type: WalletTypes;
|
|
7
|
-
defaultNetwork: Networks;
|
|
8
|
-
};
|
|
9
|
-
export declare const getInstance: typeof bitgetInstances;
|
|
10
|
-
export declare const connect: Connect;
|
|
11
|
-
export declare const subscribe: Subscribe;
|
|
12
|
-
export declare const switchNetwork: SwitchNetwork;
|
|
13
|
-
export declare const canSwitchNetworkTo: CanSwitchNetwork;
|
|
14
|
-
export declare const canEagerConnect: CanEagerConnect;
|
|
15
|
-
export declare const getSigners: (provider: any) => Promise<SignerFactory>;
|
|
16
|
-
export declare const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo;
|
|
17
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,OAAO,EAEP,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAKL,QAAQ,EAGR,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAK/C,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,wBAAkB,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,OA4BrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SA0CvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,eAAe,EAAE,eAM7B,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,aAAa,CAAU,CAAC;AAE5E,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAkBjE,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var v=Object.defineProperty;var s=(e,t)=>v(e,"name",{value:t,configurable:!0});import{canEagerlyConnectToEvm as S,canSwitchNetworkToEvm as R,chooseInstance as g,getEvmAccounts as C,Networks as i,subscribeToEvm as M,switchNetworkForEvm as x,WalletTypes as I}from"@rango-dev/wallets-shared";import{evmBlockchains as P,isEvmBlockchain as B,tronBlockchain as L}from"rango-types";import{Networks as w}from"@rango-dev/wallets-shared";function d(){let e=new Map,{bitkeep:t}=window;return!t||(t.ethereum&&e.set(w.ETHEREUM,t.ethereum),t.tronLink&&e.set(w.TRON,t.tronLink),e.size===0)?null:e}s(d,"bitgetInstances");import{DefaultTronSigner as T}from"@rango-dev/signer-tron";import{dynamicImportWithRefinedError as b,getNetworkInstance as h,Networks as u}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as N,TransactionType as E}from"rango-types";async function m(e){let t=h(e,u.ETHEREUM),o=h(e,u.TRON),r=new N,{DefaultEvmSigner:a}=await b(async()=>await import("@rango-dev/signer-evm"));return r.registerSigner(E.EVM,new a(t)),r.registerSigner(E.TRON,new T(o)),r}s(m,"getSigners");var W=I.BITGET,K={type:W,defaultNetwork:i.ETHEREUM},Q=d,X=s(async({instance:e,meta:t})=>{let o=g(e,t,i.ETHEREUM),r=g(e,t,i.TRON),a=[];if(o){let n=await C(o);a.push(n)}if(r){let n=await r.request({method:"tron_requestAccounts"});if(!n)throw new Error("Please unlock your Bitget extension first.");if(n?.code&&n.message&&n.code!==200)throw new Error(n.message);let c=r.tronWeb.defaultAddress.base58;a.push({accounts:c?[c]:[],chainId:i.TRON})}return a},"connect"),Y=s(({instance:e,state:t,updateChainId:o,updateAccounts:r,meta:a,connect:n,disconnect:c})=>{let k=e.get(i.ETHEREUM),y=a.filter(B),p=M({instance:k,state:t,updateChainId:o,updateAccounts:r,meta:y,connect:n,disconnect:c});return window.addEventListener("message",l=>{if(l.data.isTronLink&&l.data.message&&l.data.message.action=="accountsChanged"){let f=l?.data?.message?.data?.address;f?r([f]):c()}}),()=>{p&&p()}},"subscribe"),Z=x,$=R,ee=s(async({instance:e,meta:t})=>{let o=g(e,t,i.ETHEREUM);return o?S({instance:o,meta:t}):Promise.resolve(!1)},"canEagerConnect"),te=m,oe=s(e=>{let t=P(e),o=L(e);return{name:"Bitget Wallet",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",BRAVE:"https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak",DEFAULT:"https://web3.bitget.com/en/wallet-download?type=1"},color:"#ffffff",supportedChains:[...t,...o]}},"getWalletInfo");export{ee as canEagerConnect,$ as canSwitchNetworkTo,K as config,X as connect,Q as getInstance,te as getSigners,oe as getWalletInfo,Y as subscribe,Z as switchNetwork};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/helpers.ts", "../src/signer.ts"],
|
|
4
|
-
"sourcesContent": ["import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n Networks,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, isEvmBlockchain, tronBlockchain } from 'rango-types';\n\nimport { bitgetInstances } from './helpers.js';\nimport signer from './signer.js';\n\nconst WALLET = WalletTypes.BITGET;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = bitgetInstances;\n\nexport const connect: Connect = async ({ instance, meta }) => {\n const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);\n const tronInstance = chooseInstance(instance, meta, Networks.TRON);\n\n const results: ProviderConnectResult[] = [];\n\n if (ethInstance) {\n const evmResult = await getEvmAccounts(ethInstance);\n results.push(evmResult);\n }\n\n if (tronInstance) {\n const res = await tronInstance.request({ method: 'tron_requestAccounts' });\n if (!res) {\n throw new Error('Please unlock your Bitget extension first.');\n }\n // eslint-disable-next-line @typescript-eslint/no-magic-numbers\n if (!!res?.code && !!res.message && res.code !== 200) {\n throw new Error(res.message);\n }\n const address = tronInstance.tronWeb.defaultAddress.base58;\n results.push({\n accounts: address ? [address] : [],\n chainId: Networks.TRON,\n });\n }\n\n return results;\n};\n\nexport const subscribe: Subscribe = ({\n instance,\n state,\n updateChainId,\n updateAccounts,\n meta,\n connect,\n disconnect,\n}) => {\n const ethInstance = instance.get(Networks.ETHEREUM);\n const evmBlockchainMeta = meta.filter(isEvmBlockchain);\n\n const cleanup = subscribeToEvm({\n instance: ethInstance,\n state,\n updateChainId,\n updateAccounts,\n meta: evmBlockchainMeta,\n connect,\n disconnect,\n });\n\n window.addEventListener('message', (e) => {\n if (\n e.data.isTronLink &&\n e.data.message &&\n e.data.message.action == 'accountsChanged'\n ) {\n const account = e?.data?.message?.data?.address;\n if (account) {\n updateAccounts([account]);\n } else {\n disconnect();\n }\n }\n });\n\n return () => {\n if (cleanup) {\n cleanup();\n }\n };\n};\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const canEagerConnect: CanEagerConnect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n if (evm_instance) {\n return canEagerlyConnectToEvm({ instance: evm_instance, meta });\n }\n return Promise.resolve(false);\n};\nexport const getSigners: (provider: any) => Promise<SignerFactory> = signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const tron = tronBlockchain(allBlockChains);\n return {\n name: 'Bitget Wallet',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',\n DEFAULT: 'https://web3.bitget.com/en/wallet-download?type=1',\n },\n color: '#ffffff',\n supportedChains: [...evms, ...tron],\n };\n};\n", "import type { Network } from '@rango-dev/wallets-shared';\n\nimport { Networks } from '@rango-dev/wallets-shared';\n\ntype Provider = Map<Network, any>;\n\nexport function bitgetInstances(): Provider | null {\n const instances: Provider = new Map();\n const { bitkeep } = window;\n\n if (!bitkeep) {\n return null;\n }\n\n if (bitkeep.ethereum) {\n instances.set(Networks.ETHEREUM, bitkeep.ethereum);\n }\n\n if (bitkeep.tronLink) {\n instances.set(Networks.TRON, bitkeep.tronLink);\n }\n\n if (instances.size === 0) {\n return null;\n }\n\n return instances;\n}\n", "import type { LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';\nimport type { SignerFactory } from 'rango-types';\n\nimport { DefaultTronSigner } from '@rango-dev/signer-tron';\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n Networks,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: LegacyNetworkProviderMap\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const tronProvider = getNetworkInstance(provider, Networks.TRON);\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-evm')\n );\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.TRON, new DefaultTronSigner(tronProvider));\n return signers;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getEvmAccounts", "Networks", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "isEvmBlockchain", "tronBlockchain", "Networks", "bitgetInstances", "instances", "bitkeep", "Networks", "__name", "DefaultTronSigner", "dynamicImportWithRefinedError", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "tronProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "DefaultTronSigner", "__name", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "bitgetInstances", "connect", "__name", "instance", "meta", "ethInstance", "chooseInstance", "tronInstance", "results", "evmResult", "getEvmAccounts", "res", "address", "subscribe", "state", "updateChainId", "updateAccounts", "disconnect", "evmBlockchainMeta", "isEvmBlockchain", "cleanup", "subscribeToEvm", "e", "account", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "canEagerConnect", "evm_instance", "canEagerlyConnectToEvm", "getSigners", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "tron", "tronBlockchain"]
|
|
7
|
-
}
|
package/src/helpers.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Network } from '@rango-dev/wallets-shared';
|
|
2
|
-
|
|
3
|
-
import { Networks } from '@rango-dev/wallets-shared';
|
|
4
|
-
|
|
5
|
-
type Provider = Map<Network, any>;
|
|
6
|
-
|
|
7
|
-
export function bitgetInstances(): Provider | null {
|
|
8
|
-
const instances: Provider = new Map();
|
|
9
|
-
const { bitkeep } = window;
|
|
10
|
-
|
|
11
|
-
if (!bitkeep) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (bitkeep.ethereum) {
|
|
16
|
-
instances.set(Networks.ETHEREUM, bitkeep.ethereum);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (bitkeep.tronLink) {
|
|
20
|
-
instances.set(Networks.TRON, bitkeep.tronLink);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (instances.size === 0) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return instances;
|
|
28
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
CanEagerConnect,
|
|
3
|
-
CanSwitchNetwork,
|
|
4
|
-
Connect,
|
|
5
|
-
ProviderConnectResult,
|
|
6
|
-
Subscribe,
|
|
7
|
-
SwitchNetwork,
|
|
8
|
-
WalletInfo,
|
|
9
|
-
} from '@rango-dev/wallets-shared';
|
|
10
|
-
import type { BlockchainMeta, SignerFactory } from 'rango-types';
|
|
11
|
-
|
|
12
|
-
import {
|
|
13
|
-
canEagerlyConnectToEvm,
|
|
14
|
-
canSwitchNetworkToEvm,
|
|
15
|
-
chooseInstance,
|
|
16
|
-
getEvmAccounts,
|
|
17
|
-
Networks,
|
|
18
|
-
subscribeToEvm,
|
|
19
|
-
switchNetworkForEvm,
|
|
20
|
-
WalletTypes,
|
|
21
|
-
} from '@rango-dev/wallets-shared';
|
|
22
|
-
import { evmBlockchains, isEvmBlockchain, tronBlockchain } from 'rango-types';
|
|
23
|
-
|
|
24
|
-
import { bitgetInstances } from './helpers.js';
|
|
25
|
-
import signer from './signer.js';
|
|
26
|
-
|
|
27
|
-
const WALLET = WalletTypes.BITGET;
|
|
28
|
-
|
|
29
|
-
export const config = {
|
|
30
|
-
type: WALLET,
|
|
31
|
-
defaultNetwork: Networks.ETHEREUM,
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export const getInstance = bitgetInstances;
|
|
35
|
-
|
|
36
|
-
export const connect: Connect = async ({ instance, meta }) => {
|
|
37
|
-
const ethInstance = chooseInstance(instance, meta, Networks.ETHEREUM);
|
|
38
|
-
const tronInstance = chooseInstance(instance, meta, Networks.TRON);
|
|
39
|
-
|
|
40
|
-
const results: ProviderConnectResult[] = [];
|
|
41
|
-
|
|
42
|
-
if (ethInstance) {
|
|
43
|
-
const evmResult = await getEvmAccounts(ethInstance);
|
|
44
|
-
results.push(evmResult);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (tronInstance) {
|
|
48
|
-
const res = await tronInstance.request({ method: 'tron_requestAccounts' });
|
|
49
|
-
if (!res) {
|
|
50
|
-
throw new Error('Please unlock your Bitget extension first.');
|
|
51
|
-
}
|
|
52
|
-
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
53
|
-
if (!!res?.code && !!res.message && res.code !== 200) {
|
|
54
|
-
throw new Error(res.message);
|
|
55
|
-
}
|
|
56
|
-
const address = tronInstance.tronWeb.defaultAddress.base58;
|
|
57
|
-
results.push({
|
|
58
|
-
accounts: address ? [address] : [],
|
|
59
|
-
chainId: Networks.TRON,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return results;
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
export const subscribe: Subscribe = ({
|
|
67
|
-
instance,
|
|
68
|
-
state,
|
|
69
|
-
updateChainId,
|
|
70
|
-
updateAccounts,
|
|
71
|
-
meta,
|
|
72
|
-
connect,
|
|
73
|
-
disconnect,
|
|
74
|
-
}) => {
|
|
75
|
-
const ethInstance = instance.get(Networks.ETHEREUM);
|
|
76
|
-
const evmBlockchainMeta = meta.filter(isEvmBlockchain);
|
|
77
|
-
|
|
78
|
-
const cleanup = subscribeToEvm({
|
|
79
|
-
instance: ethInstance,
|
|
80
|
-
state,
|
|
81
|
-
updateChainId,
|
|
82
|
-
updateAccounts,
|
|
83
|
-
meta: evmBlockchainMeta,
|
|
84
|
-
connect,
|
|
85
|
-
disconnect,
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
window.addEventListener('message', (e) => {
|
|
89
|
-
if (
|
|
90
|
-
e.data.isTronLink &&
|
|
91
|
-
e.data.message &&
|
|
92
|
-
e.data.message.action == 'accountsChanged'
|
|
93
|
-
) {
|
|
94
|
-
const account = e?.data?.message?.data?.address;
|
|
95
|
-
if (account) {
|
|
96
|
-
updateAccounts([account]);
|
|
97
|
-
} else {
|
|
98
|
-
disconnect();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
return () => {
|
|
104
|
-
if (cleanup) {
|
|
105
|
-
cleanup();
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export const switchNetwork: SwitchNetwork = switchNetworkForEvm;
|
|
111
|
-
|
|
112
|
-
export const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;
|
|
113
|
-
|
|
114
|
-
export const canEagerConnect: CanEagerConnect = async ({ instance, meta }) => {
|
|
115
|
-
const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);
|
|
116
|
-
if (evm_instance) {
|
|
117
|
-
return canEagerlyConnectToEvm({ instance: evm_instance, meta });
|
|
118
|
-
}
|
|
119
|
-
return Promise.resolve(false);
|
|
120
|
-
};
|
|
121
|
-
export const getSigners: (provider: any) => Promise<SignerFactory> = signer;
|
|
122
|
-
|
|
123
|
-
export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
|
|
124
|
-
allBlockChains
|
|
125
|
-
) => {
|
|
126
|
-
const evms = evmBlockchains(allBlockChains);
|
|
127
|
-
const tron = tronBlockchain(allBlockChains);
|
|
128
|
-
return {
|
|
129
|
-
name: 'Bitget Wallet',
|
|
130
|
-
img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/bitget/icon.svg',
|
|
131
|
-
installLink: {
|
|
132
|
-
CHROME:
|
|
133
|
-
'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',
|
|
134
|
-
BRAVE:
|
|
135
|
-
'https://chrome.google.com/webstore/detail/bitkeep-crypto-nft-wallet/jiidiaalihmmhddjgbnbgdfflelocpak',
|
|
136
|
-
DEFAULT: 'https://web3.bitget.com/en/wallet-download?type=1',
|
|
137
|
-
},
|
|
138
|
-
color: '#ffffff',
|
|
139
|
-
supportedChains: [...evms, ...tron],
|
|
140
|
-
};
|
|
141
|
-
};
|