@swapkit/wallets 3.0.0-beta.0 → 3.0.0-beta.2
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/chunk-czhtd6cy.js +4 -0
- package/dist/chunk-czhtd6cy.js.map +10 -0
- package/dist/{chunk-5m175wfy.js → chunk-p1kdg37m.js} +2 -2
- package/dist/{chunk-5m175wfy.js.map → chunk-p1kdg37m.js.map} +1 -1
- package/dist/{chunk-f76hj57k.js → chunk-q81hzyra.js} +2 -2
- package/dist/{chunk-f76hj57k.js.map → chunk-q81hzyra.js.map} +1 -1
- package/dist/chunk-qadd75nn.js +3 -0
- package/dist/chunk-qadd75nn.js.map +10 -0
- package/dist/src/bitget/index.cjs +2 -2
- package/dist/src/bitget/index.cjs.map +5 -5
- package/dist/src/bitget/index.js +2 -2
- package/dist/src/bitget/index.js.map +5 -5
- package/dist/src/coinbase/index.cjs +2 -2
- package/dist/src/coinbase/index.cjs.map +4 -4
- package/dist/src/coinbase/index.js +2 -3
- package/dist/src/coinbase/index.js.map +4 -4
- package/dist/src/ctrl/index.cjs +2 -2
- package/dist/src/ctrl/index.cjs.map +5 -5
- package/dist/src/ctrl/index.js +2 -2
- package/dist/src/ctrl/index.js.map +5 -5
- package/dist/src/evm-extensions/index.cjs +2 -2
- package/dist/src/evm-extensions/index.cjs.map +3 -3
- package/dist/src/evm-extensions/index.js +2 -3
- package/dist/src/evm-extensions/index.js.map +3 -3
- package/dist/src/exodus/index.cjs +2 -2
- package/dist/src/exodus/index.cjs.map +3 -3
- package/dist/src/exodus/index.js +2 -3
- package/dist/src/exodus/index.js.map +3 -3
- package/dist/src/index.cjs +2 -2
- package/dist/src/index.cjs.map +3 -4
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +3 -4
- package/dist/src/keepkey/index.cjs +2 -2
- package/dist/src/keepkey/index.cjs.map +7 -7
- package/dist/src/keepkey/index.js +2 -3
- package/dist/src/keepkey/index.js.map +7 -7
- package/dist/src/keepkey-bex/index.cjs +2 -2
- package/dist/src/keepkey-bex/index.cjs.map +4 -4
- package/dist/src/keepkey-bex/index.js +2 -3
- package/dist/src/keepkey-bex/index.js.map +4 -4
- package/dist/src/keplr/index.cjs +2 -2
- package/dist/src/keplr/index.cjs.map +3 -3
- package/dist/src/keplr/index.js +2 -3
- package/dist/src/keplr/index.js.map +3 -3
- package/dist/src/keystore/index.cjs +2 -2
- package/dist/src/keystore/index.cjs.map +4 -4
- package/dist/src/keystore/index.js +2 -3
- package/dist/src/keystore/index.js.map +4 -4
- package/dist/src/ledger/index.cjs +3 -3
- package/dist/src/ledger/index.cjs.map +8 -8
- package/dist/src/ledger/index.js +3 -4
- package/dist/src/ledger/index.js.map +8 -8
- package/dist/src/okx/index.cjs +2 -2
- package/dist/src/okx/index.cjs.map +4 -4
- package/dist/src/okx/index.js +2 -3
- package/dist/src/okx/index.js.map +4 -4
- package/dist/src/onekey/index.cjs +3 -0
- package/dist/src/onekey/index.cjs.map +10 -0
- package/dist/src/onekey/index.js +3 -0
- package/dist/src/onekey/index.js.map +10 -0
- package/dist/src/phantom/index.cjs +2 -2
- package/dist/src/phantom/index.cjs.map +3 -3
- package/dist/src/phantom/index.js +2 -3
- package/dist/src/phantom/index.js.map +3 -3
- package/dist/src/polkadotjs/index.cjs +2 -2
- package/dist/src/polkadotjs/index.cjs.map +3 -3
- package/dist/src/polkadotjs/index.js +2 -3
- package/dist/src/polkadotjs/index.js.map +3 -3
- package/dist/src/radix/index.cjs +2 -2
- package/dist/src/radix/index.cjs.map +3 -3
- package/dist/src/radix/index.js +2 -3
- package/dist/src/radix/index.js.map +3 -3
- package/dist/src/talisman/index.cjs +2 -2
- package/dist/src/talisman/index.cjs.map +3 -3
- package/dist/src/talisman/index.js +2 -3
- package/dist/src/talisman/index.js.map +3 -3
- package/dist/src/trezor/index.cjs +2 -2
- package/dist/src/trezor/index.cjs.map +3 -3
- package/dist/src/trezor/index.js +2 -3
- package/dist/src/trezor/index.js.map +3 -3
- package/dist/src/walletconnect/index.cjs +2 -2
- package/dist/src/walletconnect/index.cjs.map +5 -5
- package/dist/src/walletconnect/index.js +2 -3
- package/dist/src/walletconnect/index.js.map +5 -5
- package/package.json +31 -26
- package/src/bitget/helpers.ts +33 -93
- package/src/bitget/index.ts +32 -54
- package/src/coinbase/index.ts +2 -2
- package/src/coinbase/signer.ts +46 -42
- package/src/ctrl/index.ts +157 -22
- package/src/ctrl/walletHelpers.ts +45 -94
- package/src/evm-extensions/index.ts +21 -40
- package/src/exodus/index.ts +18 -28
- package/src/index.ts +2 -37
- package/src/keepkey/chains/cosmos.ts +10 -7
- package/src/keepkey/chains/mayachain.ts +24 -24
- package/src/keepkey/chains/thorchain.ts +19 -13
- package/src/keepkey/chains/utxo.ts +36 -48
- package/src/keepkey/index.ts +9 -23
- package/src/keepkey-bex/index.ts +25 -23
- package/src/keepkey-bex/walletHelpers.ts +8 -36
- package/src/keplr/index.ts +6 -53
- package/src/keystore/helpers.ts +34 -55
- package/src/keystore/index.ts +15 -183
- package/src/ledger/clients/evm.ts +3 -7
- package/src/ledger/clients/thorchain/lib.ts +0 -19
- package/src/ledger/clients/utxo.ts +3 -2
- package/src/ledger/helpers/getLedgerClient.ts +2 -2
- package/src/ledger/index.ts +20 -21
- package/src/ledger/types.ts +1 -1
- package/src/okx/helpers.ts +23 -33
- package/src/okx/index.ts +4 -47
- package/src/onekey/evmSigner.ts +133 -0
- package/src/onekey/index.ts +213 -0
- package/src/phantom/index.ts +18 -42
- package/src/polkadotjs/index.ts +5 -7
- package/src/radix/index.ts +31 -47
- package/src/talisman/index.ts +15 -32
- package/src/trezor/index.ts +46 -45
- package/src/types.ts +199 -0
- package/src/utils.ts +54 -0
- package/src/walletconnect/constants.ts +1 -1
- package/src/walletconnect/helpers.ts +2 -2
- package/src/walletconnect/index.ts +36 -37
- package/dist/chunk-ha78se5g.js +0 -4
- package/dist/chunk-ha78se5g.js.map +0 -10
- package/dist/chunk-yvbvzc0q.js +0 -3
- package/dist/chunk-yvbvzc0q.js.map +0 -10
- package/src/bitget/bitgetWallet.ts +0 -32
- package/src/ctrl/ctrlWallet.ts +0 -175
- package/src/helpers.ts +0 -8
- package/src/ledger/ledgerLive.ts +0 -429
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var K={};D(K,{keepkeyBexWallet:()=>O,KEEPKEY_BEX_SUPPORTED_CHAINS:()=>A});module.exports=x(K);var e=require("@swapkit/helpers");var r=require("@swapkit/helpers"),k=require("@swapkit/helpers/contracts"),E=(t)=>{switch(t){case r.Chain.Bitcoin:return"bitcoin";case r.Chain.BitcoinCash:return"bitcoincash";case r.Chain.Dash:return"dash";case r.Chain.Dogecoin:return"dogecoin";case r.Chain.Litecoin:return"litecoin";default:throw new Error("Unsupported chain")}};function P(t){if(!window.keepkey)throw new r.SwapKitError("wallet_keepkey_not_found");switch(t){case r.Chain.Ethereum:case r.Chain.Base:case r.Chain.Avalanche:case r.Chain.BinanceSmartChain:case r.Chain.Arbitrum:case r.Chain.Optimism:case r.Chain.Polygon:return window.keepkey.ethereum;case r.Chain.Cosmos:return window.keepkey.cosmos;case r.Chain.Bitcoin:return window.keepkey.bitcoin;case r.Chain.BitcoinCash:return window.keepkey.bitcoincash;case r.Chain.Dogecoin:return window.keepkey.dogecoin;case r.Chain.Litecoin:return window.keepkey.litecoin;case r.Chain.Dash:return window.keepkey.dash;case r.Chain.THORChain:return window.keepkey.thorchain;case r.Chain.Maya:return window.keepkey.mayachain;default:return}}async function M({method:t,params:c,chain:n}){let i=P(n);return new Promise((s,a)=>{if(i&&"request"in i)i.request({method:t,params:c},(o,m)=>{o?a(o):s(m)});else a(new r.SwapKitError("wallet_provider_not_found"))})}async function f(t){let c=P(t);if(!c)throw new r.SwapKitError({errorKey:"wallet_provider_not_found",info:{wallet:r.WalletOption.KEEPKEY,chain:t}});let n="request_accounts";if(r.EVMChains.includes(t))n="eth_requestAccounts";let[i]=await c.request({method:n,params:[]});return i}async function y({assetValue:t,recipient:c,memo:n,gasLimit:i},s="transfer"){if(!t)throw new r.SwapKitError("wallet_keepkey_asset_not_defined");let a=await f(t.chain),o=[{amount:{amount:t.getValue("string"),decimals:t.decimal},asset:{chain:t.chain,symbol:t.symbol.toUpperCase(),ticker:t.symbol.toUpperCase()},memo:n,from:a,recipient:c,gasLimit:i}];return M({method:s,params:o,chain:t.chain})}function T(t,c){return{call:async({contractAddress:n,abi:i,funcName:s,funcParams:a=[],txOverrides:o})=>{if(!n)throw new r.SwapKitError("wallet_keepkey_contract_address_not_provided");let{createContract:m,getCreateContractTxObject:u,isStateChangingCall:p,toHexString:g}=await import("@swapkit/toolboxes/evm");if(p({abi:i,funcName:s})){let B=u({provider:t,chain:c}),{value:l,from:X,to:U,data:q}=await B({contractAddress:n,abi:i,funcName:s,funcParams:a,txOverrides:o});return t.send("eth_sendTransaction",[{value:g(BigInt(l||0)),from:X,to:U,data:q||"0x"}])}let w=await m(n,i,t)[s]?.(...a);return typeof w?.hash==="string"?w?.hash:w},approve:async({assetAddress:n,spenderAddress:i,amount:s,from:a})=>{let{MAX_APPROVAL:o,getCreateContractTxObject:m,toHexString:u}=await import("@swapkit/toolboxes/evm"),p=m({provider:t,chain:c}),{value:g,to:v,data:_}=await p({contractAddress:n,abi:k.erc20ABI,funcName:"approve",funcParams:[i,BigInt(s||o)],txOverrides:{from:a}});return t.send("eth_sendTransaction",[{value:u(BigInt(g||0)),from:a,to:v,data:_||"0x"}])},sendTransaction:async(n)=>{let{from:i,to:s,data:a,value:o}=n;if(!s)throw new r.SwapKitError("wallet_keepkey_send_transaction_no_address");let{toHexString:m}=await import("@swapkit/toolboxes/evm");return t.send("eth_sendTransaction",[{value:m(BigInt(o||0)),from:i,to:s,data:a||"0x"}])}}}var O=e.createWallet({name:"connectKeepkeyBex",supportedChains:[e.Chain.Arbitrum,e.Chain.Avalanche,e.Chain.BinanceSmartChain,e.Chain.Bitcoin,e.Chain.BitcoinCash,e.Chain.Base,e.Chain.Cosmos,e.Chain.Dash,e.Chain.Dogecoin,e.Chain.Ethereum,e.Chain.Kujira,e.Chain.Litecoin,e.Chain.Maya,e.Chain.Optimism,e.Chain.Polygon,e.Chain.Solana,e.Chain.THORChain],walletType:e.WalletOption.KEEPKEY_BEX,connect:({addChain:t,supportedChains:c,walletType:n})=>async function i(s){let a=e.filterSupportedChains({chains:s,supportedChains:c,walletType:n});return await Promise.all(a.map(async(o)=>{let m=await f(o),u=await I(o);t({...u,address:m,chain:o,walletType:n})})),!0}}),A=b(O);async function I(t){switch(t){case e.Chain.Maya:case e.Chain.THORChain:{let{getCosmosToolbox:c,THORCHAIN_GAS_VALUE:n,MAYA_GAS_VALUE:i}=await import("@swapkit/toolboxes/cosmos"),s=t===e.Chain.Maya?i:n;return{...c(t),deposit:(o)=>y({...o,recipient:""},"deposit"),transfer:(o)=>y({...o,gasLimit:s},"transfer")}}case e.Chain.Cosmos:case e.Chain.Kujira:{let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),n=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(e.ChainIdToChain[t]);if(!n)throw new Error("Could not load signer");let i=c(t,{signer:n}),s=await n.getAccounts();if(!s?.[0]?.address)throw new Error("No accounts found");let[{address:a}]=s;return{...i,address:a}}case e.Chain.Dash:case e.Chain.Bitcoin:case e.Chain.BitcoinCash:case e.Chain.Dogecoin:case e.Chain.Litecoin:{let{getUtxoToolbox:c}=await import("@swapkit/toolboxes/utxo");return{...await c(t),getBalance:async()=>{try{let s=E(t),a=await window?.keepkey?.[s]?.request({method:"request_balance"});return[e.AssetValue.from({chain:t,value:a[0].balance})]}catch(s){throw console.error("Error fetching balance:",s),s}},transfer:y}}case e.Chain.Ethereum:case e.Chain.BinanceSmartChain:case e.Chain.Base:case e.Chain.Arbitrum:case e.Chain.Optimism:case e.Chain.Polygon:case e.Chain.Avalanche:{let{prepareNetworkSwitch:c,switchEVMWalletNetwork:n}=await import("@swapkit/helpers"),{getEvmToolbox:i}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:s}=await import("ethers"),a=P(t);if(!a)throw new e.SwapKitError("wallet_keepkey_not_found");let o=new s(a,"any"),m=await o.getSigner(),u=await i(t,{provider:o,signer:m}),p=T(o,t);try{if(t!==e.Chain.Ethereum){let g=u.getNetworkParams();await n(o,t,g)}}catch(g){throw new e.SwapKitError({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:e.WalletOption.KEEPKEY,chain:t}})}return c({provider:o,chain:t,toolbox:{...u,...p}})}default:return null}}
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=91989A2F063AEF6A64756E2164756E21
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/keepkey-bex/index.ts", "../src/keepkey-bex/walletHelpers.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n AssetValue,\n Chain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type {
|
|
6
|
-
"import {\n type AssetValue,\n Chain,\n
|
|
5
|
+
"import {\n AssetValue,\n Chain,\n ChainIdToChain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { Eip1193Provider } from \"ethers\";\nimport { getWalletSupportedChains } from \"../utils\";\nimport {\n type WalletTxParams,\n getKEEPKEYAddress,\n getKEEPKEYMethods,\n getKEEPKEYProvider,\n getProviderNameFromChain,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const keepkeyBexWallet = createWallet({\n name: \"connectKeepkeyBex\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Base,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n Chain.THORChain,\n ],\n walletType: WalletOption.KEEPKEY_BEX,\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeepkeyBex(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = await getKEEPKEYAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEEPKEY_BEX_SUPPORTED_CHAINS = getWalletSupportedChains(keepkeyBexWallet);\n\nasync function getWalletMethods(chain: (typeof KEEPKEY_BEX_SUPPORTED_CHAINS)[number]) {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain: {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = getCosmosToolbox(chain);\n\n return {\n ...toolbox,\n deposit: (tx: WalletTxParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit\"),\n transfer: (tx: WalletTxParams) => walletTransfer({ ...tx, gasLimit }, \"transfer\"),\n };\n }\n\n case Chain.Cosmos:\n case Chain.Kujira: {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n // @ts-expect-error assumed available connection\n const signer = window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(ChainIdToChain[chain]);\n if (!signer) throw new Error(\"Could not load signer\");\n const toolbox = getCosmosToolbox(chain, { signer });\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n\n return { ...toolbox, address };\n }\n\n case Chain.Dash:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain);\n\n const getBalance = async () => {\n try {\n const providerChain = getProviderNameFromChain(chain);\n // @ts-expect-error We assuming there chains via switch\n const balance = await window?.keepkey?.[providerChain]?.request({\n method: \"request_balance\",\n });\n const assetValue = AssetValue.from({ chain, value: balance[0].balance });\n return [assetValue];\n } catch (error) {\n console.error(\"Error fetching balance:\", error);\n throw error;\n }\n };\n\n return { ...toolbox, getBalance, transfer: walletTransfer };\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Base:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Avalanche: {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_keepkey_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n const keepkeyMethods = getKEEPKEYMethods(provider, chain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n return prepareNetworkSwitch({\n provider,\n chain,\n toolbox: { ...toolbox, ...keepkeyMethods },\n });\n }\n\n default:\n return null;\n }\n}\n",
|
|
6
|
+
"import {\n type AssetValue,\n Chain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\ninterface UTXOProvider {\n request: (\n args: {\n method: string;\n params?: {\n amount: { amount: string; decimals?: number };\n asset: { chain: Chain; symbol: string; ticker: string };\n memo: string | undefined;\n from?: string;\n recipient: string;\n gasLimit?: string | bigint;\n }[];\n },\n callback: (err: string, tx: string) => void,\n ) => void;\n}\n\ntype TransactionMethod = \"transfer\" | \"deposit\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: string | number; decimals?: number };\n decimal?: number;\n recipient: string;\n memo?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint | undefined;\n};\n\nexport const getProviderNameFromChain = (chain: Chain): string => {\n switch (chain) {\n case Chain.Bitcoin:\n return \"bitcoin\";\n case Chain.BitcoinCash:\n return \"bitcoincash\";\n case Chain.Dash:\n return \"dash\";\n case Chain.Dogecoin:\n return \"dogecoin\";\n case Chain.Litecoin:\n return \"litecoin\";\n default:\n throw new Error(\"Unsupported chain\");\n }\n};\n\ndeclare const window: {\n keepkey?: {\n binance: Eip1193Provider;\n bitcoin: Eip1193Provider;\n bitcoincash: Eip1193Provider;\n dogecoin: Eip1193Provider;\n ethereum: Eip1193Provider;\n cosmos: Eip1193Provider;\n dash: Eip1193Provider;\n litecoin: Eip1193Provider;\n thorchain: Eip1193Provider;\n mayachain: Eip1193Provider;\n };\n} & Window;\n\nexport function getKEEPKEYProvider<T extends Chain>(chain: T) {\n if (!window.keepkey) throw new SwapKitError(\"wallet_keepkey_not_found\");\n\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Base:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n return window.keepkey.ethereum as Eip1193Provider;\n case Chain.Cosmos:\n return window.keepkey.cosmos as Eip1193Provider;\n case Chain.Bitcoin:\n return window.keepkey.bitcoin as UTXOProvider;\n case Chain.BitcoinCash:\n return window.keepkey.bitcoincash as UTXOProvider;\n case Chain.Dogecoin:\n return window.keepkey.dogecoin as UTXOProvider;\n case Chain.Litecoin:\n return window.keepkey.litecoin as UTXOProvider;\n case Chain.Dash:\n return window.keepkey.dash as UTXOProvider;\n case Chain.THORChain:\n return window.keepkey.thorchain as UTXOProvider;\n case Chain.Maya:\n return window.keepkey.mayachain as UTXOProvider;\n\n default:\n return undefined;\n }\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = getKEEPKEYProvider(chain);\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-ignore\n client.request({ method, params }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n } else {\n reject(new SwapKitError(\"wallet_provider_not_found\"));\n }\n });\n}\n\nexport async function getKEEPKEYAddress(chain: Chain) {\n const eipProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n if (!eipProvider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n let method = \"request_accounts\";\n if (EVMChains.includes(chain as EVMChain)) {\n method = \"eth_requestAccounts\";\n }\n\n const [response] = await eipProvider.request({ method, params: [] });\n return response;\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams & { assetValue: AssetValue },\n method: TransactionMethod = \"transfer\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_keepkey_asset_not_defined\");\n }\n\n const from = await getKEEPKEYAddress(assetValue.chain);\n const params = [\n {\n amount: {\n amount: assetValue.getValue(\"string\"),\n decimals: assetValue.decimal,\n },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n memo,\n from,\n recipient,\n gasLimit,\n },\n ];\n\n return transaction({ method, params, chain: assetValue.chain });\n}\n\nexport function getKEEPKEYMethods(provider: BrowserProvider, chain: EVMChain) {\n return {\n call: async <T>({\n contractAddress,\n abi,\n funcName,\n funcParams = [],\n txOverrides,\n }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_keepkey_contract_address_not_provided\");\n }\n const { createContract, getCreateContractTxObject, isStateChangingCall, toHexString } =\n await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall({ abi, funcName });\n\n if (isStateChanging) {\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, from, to, data } = await createTx({\n contractAddress,\n abi,\n funcName,\n funcParams,\n txOverrides,\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, getCreateContractTxObject, toHexString } = await import(\n \"@swapkit/toolboxes/evm\"\n );\n\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, to, data } = await createTx({\n contractAddress: assetAddress,\n abi: erc20ABI,\n funcName: \"approve\",\n funcParams: [spenderAddress, BigInt(amount || MAX_APPROVAL)],\n txOverrides: { from },\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n sendTransaction: async (tx: EVMTxParams) => {\n const { from, to, data, value } = tx;\n if (!to) {\n throw new SwapKitError(\"wallet_keepkey_send_transaction_no_address\");\n }\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n };\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "91989A2F063AEF6A64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import{
|
|
2
|
-
export{p as q};
|
|
1
|
+
import{a as l}from"../../chunk-czhtd6cy.js";import{c as d,d as u}from"../../chunk-p1kdg37m.js";import{AssetValue as F,Chain as t,ChainIdToChain as L,SwapKitError as b,WalletOption as B,createWallet as V,filterSupportedChains as j}from"@swapkit/helpers";import{Chain as a,EVMChains as D,SwapKitError as P,WalletOption as A}from"@swapkit/helpers";import{erc20ABI as I}from"@swapkit/helpers/contracts";var T=(e)=>{switch(e){case a.Bitcoin:return"bitcoin";case a.BitcoinCash:return"bitcoincash";case a.Dash:return"dash";case a.Dogecoin:return"dogecoin";case a.Litecoin:return"litecoin";default:throw new Error("Unsupported chain")}};function w(e){if(!window.keepkey)throw new P("wallet_keepkey_not_found");switch(e){case a.Ethereum:case a.Base:case a.Avalanche:case a.BinanceSmartChain:case a.Arbitrum:case a.Optimism:case a.Polygon:return window.keepkey.ethereum;case a.Cosmos:return window.keepkey.cosmos;case a.Bitcoin:return window.keepkey.bitcoin;case a.BitcoinCash:return window.keepkey.bitcoincash;case a.Dogecoin:return window.keepkey.dogecoin;case a.Litecoin:return window.keepkey.litecoin;case a.Dash:return window.keepkey.dash;case a.THORChain:return window.keepkey.thorchain;case a.Maya:return window.keepkey.mayachain;default:return}}async function K({method:e,params:c,chain:r}){let o=w(r);return new Promise((n,i)=>{if(o&&"request"in o)o.request({method:e,params:c},(s,m)=>{s?i(s):n(m)});else i(new P("wallet_provider_not_found"))})}async function _(e){let c=w(e);if(!c)throw new P({errorKey:"wallet_provider_not_found",info:{wallet:A.KEEPKEY,chain:e}});let r="request_accounts";if(D.includes(e))r="eth_requestAccounts";let[o]=await c.request({method:r,params:[]});return o}async function f({assetValue:e,recipient:c,memo:r,gasLimit:o},n="transfer"){if(!e)throw new P("wallet_keepkey_asset_not_defined");let i=await _(e.chain),s=[{amount:{amount:e.getValue("string"),decimals:e.decimal},asset:{chain:e.chain,symbol:e.symbol.toUpperCase(),ticker:e.symbol.toUpperCase()},memo:r,from:i,recipient:c,gasLimit:o}];return K({method:n,params:s,chain:e.chain})}function O(e,c){return{call:async({contractAddress:r,abi:o,funcName:n,funcParams:i=[],txOverrides:s})=>{if(!r)throw new P("wallet_keepkey_contract_address_not_provided");let{createContract:m,getCreateContractTxObject:g,isStateChangingCall:y,toHexString:p}=await import("@swapkit/toolboxes/evm");if(y({abi:o,funcName:n})){let X=g({provider:e,chain:c}),{value:U,from:q,to:M,data:x}=await X({contractAddress:r,abi:o,funcName:n,funcParams:i,txOverrides:s});return e.send("eth_sendTransaction",[{value:p(BigInt(U||0)),from:q,to:M,data:x||"0x"}])}let v=await m(r,o,e)[n]?.(...i);return typeof v?.hash==="string"?v?.hash:v},approve:async({assetAddress:r,spenderAddress:o,amount:n,from:i})=>{let{MAX_APPROVAL:s,getCreateContractTxObject:m,toHexString:g}=await import("@swapkit/toolboxes/evm"),y=m({provider:e,chain:c}),{value:p,to:k,data:E}=await y({contractAddress:r,abi:I,funcName:"approve",funcParams:[o,BigInt(n||s)],txOverrides:{from:i}});return e.send("eth_sendTransaction",[{value:g(BigInt(p||0)),from:i,to:k,data:E||"0x"}])},sendTransaction:async(r)=>{let{from:o,to:n,data:i,value:s}=r;if(!n)throw new P("wallet_keepkey_send_transaction_no_address");let{toHexString:m}=await import("@swapkit/toolboxes/evm");return e.send("eth_sendTransaction",[{value:m(BigInt(s||0)),from:o,to:n,data:i||"0x"}])}}}var H=V({name:"connectKeepkeyBex",supportedChains:[t.Arbitrum,t.Avalanche,t.BinanceSmartChain,t.Bitcoin,t.BitcoinCash,t.Base,t.Cosmos,t.Dash,t.Dogecoin,t.Ethereum,t.Kujira,t.Litecoin,t.Maya,t.Optimism,t.Polygon,t.Solana,t.THORChain],walletType:B.KEEPKEY_BEX,connect:({addChain:e,supportedChains:c,walletType:r})=>async function o(n){let i=j({chains:n,supportedChains:c,walletType:r});return await Promise.all(i.map(async(s)=>{let m=await _(s),g=await R(s);e({...g,address:m,chain:s,walletType:r})})),!0}}),$=l(H);async function R(e){switch(e){case t.Maya:case t.THORChain:{let{getCosmosToolbox:c,THORCHAIN_GAS_VALUE:r,MAYA_GAS_VALUE:o}=await import("@swapkit/toolboxes/cosmos"),n=e===t.Maya?o:r;return{...c(e),deposit:(s)=>f({...s,recipient:""},"deposit"),transfer:(s)=>f({...s,gasLimit:n},"transfer")}}case t.Cosmos:case t.Kujira:{let{getCosmosToolbox:c}=await import("@swapkit/toolboxes/cosmos"),r=window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(L[e]);if(!r)throw new Error("Could not load signer");let o=c(e,{signer:r}),n=await r.getAccounts();if(!n?.[0]?.address)throw new Error("No accounts found");let[{address:i}]=n;return{...o,address:i}}case t.Dash:case t.Bitcoin:case t.BitcoinCash:case t.Dogecoin:case t.Litecoin:{let{getUtxoToolbox:c}=await import("@swapkit/toolboxes/utxo");return{...await c(e),getBalance:async()=>{try{let n=T(e),i=await window?.keepkey?.[n]?.request({method:"request_balance"});return[F.from({chain:e,value:i[0].balance})]}catch(n){throw console.error("Error fetching balance:",n),n}},transfer:f}}case t.Ethereum:case t.BinanceSmartChain:case t.Base:case t.Arbitrum:case t.Optimism:case t.Polygon:case t.Avalanche:{let{prepareNetworkSwitch:c,switchEVMWalletNetwork:r}=await import("@swapkit/helpers"),{getEvmToolbox:o}=await import("@swapkit/toolboxes/evm"),{BrowserProvider:n}=await import("ethers"),i=w(e);if(!i)throw new b("wallet_keepkey_not_found");let s=new n(i,"any"),m=await s.getSigner(),g=await o(e,{provider:s,signer:m}),y=O(s,e);try{if(e!==t.Ethereum){let p=g.getNetworkParams();await r(s,e,p)}}catch(p){throw new b({errorKey:"wallet_failed_to_add_or_switch_network",info:{wallet:B.KEEPKEY,chain:e}})}return c({provider:s,chain:e,toolbox:{...g,...y}})}default:return null}}export{H as keepkeyBexWallet,$ as KEEPKEY_BEX_SUPPORTED_CHAINS};
|
|
3
2
|
|
|
4
|
-
//# debugId=
|
|
3
|
+
//# debugId=AFAB0E6C797C305A64756E2164756E21
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/keepkey-bex/index.ts", "../src/keepkey-bex/walletHelpers.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import {\n AssetValue,\n Chain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type {
|
|
6
|
-
"import {\n type AssetValue,\n Chain,\n
|
|
5
|
+
"import {\n AssetValue,\n Chain,\n ChainIdToChain,\n SwapKitError,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport type { Eip1193Provider } from \"ethers\";\nimport { getWalletSupportedChains } from \"../utils\";\nimport {\n type WalletTxParams,\n getKEEPKEYAddress,\n getKEEPKEYMethods,\n getKEEPKEYProvider,\n getProviderNameFromChain,\n walletTransfer,\n} from \"./walletHelpers\";\n\nexport const keepkeyBexWallet = createWallet({\n name: \"connectKeepkeyBex\",\n supportedChains: [\n Chain.Arbitrum,\n Chain.Avalanche,\n Chain.BinanceSmartChain,\n Chain.Bitcoin,\n Chain.BitcoinCash,\n Chain.Base,\n Chain.Cosmos,\n Chain.Dash,\n Chain.Dogecoin,\n Chain.Ethereum,\n Chain.Kujira,\n Chain.Litecoin,\n Chain.Maya,\n Chain.Optimism,\n Chain.Polygon,\n Chain.Solana,\n Chain.THORChain,\n ],\n walletType: WalletOption.KEEPKEY_BEX,\n connect: ({ addChain, supportedChains, walletType }) =>\n async function connectKeepkeyBex(chains: Chain[]) {\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const address = await getKEEPKEYAddress(chain);\n const walletMethods = await getWalletMethods(chain);\n\n addChain({ ...walletMethods, address, chain, walletType });\n }),\n );\n\n return true;\n },\n});\n\nexport const KEEPKEY_BEX_SUPPORTED_CHAINS = getWalletSupportedChains(keepkeyBexWallet);\n\nasync function getWalletMethods(chain: (typeof KEEPKEY_BEX_SUPPORTED_CHAINS)[number]) {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain: {\n const { getCosmosToolbox, THORCHAIN_GAS_VALUE, MAYA_GAS_VALUE } = await import(\n \"@swapkit/toolboxes/cosmos\"\n );\n\n const gasLimit = chain === Chain.Maya ? MAYA_GAS_VALUE : THORCHAIN_GAS_VALUE;\n const toolbox = getCosmosToolbox(chain);\n\n return {\n ...toolbox,\n deposit: (tx: WalletTxParams) => walletTransfer({ ...tx, recipient: \"\" }, \"deposit\"),\n transfer: (tx: WalletTxParams) => walletTransfer({ ...tx, gasLimit }, \"transfer\"),\n };\n }\n\n case Chain.Cosmos:\n case Chain.Kujira: {\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n // @ts-expect-error assumed available connection\n const signer = window.keepkey?.cosmos?.getOfflineSignerOnlyAmino(ChainIdToChain[chain]);\n if (!signer) throw new Error(\"Could not load signer\");\n const toolbox = getCosmosToolbox(chain, { signer });\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n\n return { ...toolbox, address };\n }\n\n case Chain.Dash:\n case Chain.Bitcoin:\n case Chain.BitcoinCash:\n case Chain.Dogecoin:\n case Chain.Litecoin: {\n const { getUtxoToolbox } = await import(\"@swapkit/toolboxes/utxo\");\n const toolbox = await getUtxoToolbox(chain);\n\n const getBalance = async () => {\n try {\n const providerChain = getProviderNameFromChain(chain);\n // @ts-expect-error We assuming there chains via switch\n const balance = await window?.keepkey?.[providerChain]?.request({\n method: \"request_balance\",\n });\n const assetValue = AssetValue.from({ chain, value: balance[0].balance });\n return [assetValue];\n } catch (error) {\n console.error(\"Error fetching balance:\", error);\n throw error;\n }\n };\n\n return { ...toolbox, getBalance, transfer: walletTransfer };\n }\n\n case Chain.Ethereum:\n case Chain.BinanceSmartChain:\n case Chain.Base:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n case Chain.Avalanche: {\n const { prepareNetworkSwitch, switchEVMWalletNetwork } = await import(\"@swapkit/helpers\");\n const { getEvmToolbox } = await import(\"@swapkit/toolboxes/evm\");\n const { BrowserProvider } = await import(\"ethers\");\n const ethereumWindowProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n\n if (!ethereumWindowProvider) {\n throw new SwapKitError(\"wallet_keepkey_not_found\");\n }\n\n const provider = new BrowserProvider(ethereumWindowProvider, \"any\");\n const signer = await provider.getSigner();\n const toolbox = await getEvmToolbox(chain, { provider, signer });\n const keepkeyMethods = getKEEPKEYMethods(provider, chain);\n\n try {\n if (chain !== Chain.Ethereum) {\n const networkParams = toolbox.getNetworkParams();\n await switchEVMWalletNetwork(provider, chain, networkParams);\n }\n } catch (_error) {\n throw new SwapKitError({\n errorKey: \"wallet_failed_to_add_or_switch_network\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n return prepareNetworkSwitch({\n provider,\n chain,\n toolbox: { ...toolbox, ...keepkeyMethods },\n });\n }\n\n default:\n return null;\n }\n}\n",
|
|
6
|
+
"import {\n type AssetValue,\n Chain,\n type EVMChain,\n EVMChains,\n type FeeOption,\n SwapKitError,\n WalletOption,\n} from \"@swapkit/helpers\";\nimport { erc20ABI } from \"@swapkit/helpers/contracts\";\nimport type { ApproveParams, CallParams, EVMTxParams } from \"@swapkit/toolboxes/evm\";\nimport type { BrowserProvider, Eip1193Provider } from \"ethers\";\n\ninterface UTXOProvider {\n request: (\n args: {\n method: string;\n params?: {\n amount: { amount: string; decimals?: number };\n asset: { chain: Chain; symbol: string; ticker: string };\n memo: string | undefined;\n from?: string;\n recipient: string;\n gasLimit?: string | bigint;\n }[];\n },\n callback: (err: string, tx: string) => void,\n ) => void;\n}\n\ntype TransactionMethod = \"transfer\" | \"deposit\";\n\ntype TransactionParams = {\n asset: string | { chain: string; symbol: string; ticker: string };\n amount: number | string | { amount: string | number; decimals?: number };\n decimal?: number;\n recipient: string;\n memo?: string;\n};\n\nexport type WalletTxParams = {\n feeOptionKey?: FeeOption;\n from?: string;\n memo?: string;\n recipient: string;\n assetValue: AssetValue;\n gasLimit?: string | bigint | undefined;\n};\n\nexport const getProviderNameFromChain = (chain: Chain): string => {\n switch (chain) {\n case Chain.Bitcoin:\n return \"bitcoin\";\n case Chain.BitcoinCash:\n return \"bitcoincash\";\n case Chain.Dash:\n return \"dash\";\n case Chain.Dogecoin:\n return \"dogecoin\";\n case Chain.Litecoin:\n return \"litecoin\";\n default:\n throw new Error(\"Unsupported chain\");\n }\n};\n\ndeclare const window: {\n keepkey?: {\n binance: Eip1193Provider;\n bitcoin: Eip1193Provider;\n bitcoincash: Eip1193Provider;\n dogecoin: Eip1193Provider;\n ethereum: Eip1193Provider;\n cosmos: Eip1193Provider;\n dash: Eip1193Provider;\n litecoin: Eip1193Provider;\n thorchain: Eip1193Provider;\n mayachain: Eip1193Provider;\n };\n} & Window;\n\nexport function getKEEPKEYProvider<T extends Chain>(chain: T) {\n if (!window.keepkey) throw new SwapKitError(\"wallet_keepkey_not_found\");\n\n switch (chain) {\n case Chain.Ethereum:\n case Chain.Base:\n case Chain.Avalanche:\n case Chain.BinanceSmartChain:\n case Chain.Arbitrum:\n case Chain.Optimism:\n case Chain.Polygon:\n return window.keepkey.ethereum as Eip1193Provider;\n case Chain.Cosmos:\n return window.keepkey.cosmos as Eip1193Provider;\n case Chain.Bitcoin:\n return window.keepkey.bitcoin as UTXOProvider;\n case Chain.BitcoinCash:\n return window.keepkey.bitcoincash as UTXOProvider;\n case Chain.Dogecoin:\n return window.keepkey.dogecoin as UTXOProvider;\n case Chain.Litecoin:\n return window.keepkey.litecoin as UTXOProvider;\n case Chain.Dash:\n return window.keepkey.dash as UTXOProvider;\n case Chain.THORChain:\n return window.keepkey.thorchain as UTXOProvider;\n case Chain.Maya:\n return window.keepkey.mayachain as UTXOProvider;\n\n default:\n return undefined;\n }\n}\n\nasync function transaction({\n method,\n params,\n chain,\n}: {\n method: TransactionMethod;\n params: TransactionParams[];\n chain: Chain;\n}): Promise<string> {\n const client = getKEEPKEYProvider(chain);\n\n return new Promise<string>((resolve, reject) => {\n if (client && \"request\" in client) {\n // @ts-ignore\n client.request({ method, params }, (err: string, tx: string) => {\n err ? reject(err) : resolve(tx);\n });\n } else {\n reject(new SwapKitError(\"wallet_provider_not_found\"));\n }\n });\n}\n\nexport async function getKEEPKEYAddress(chain: Chain) {\n const eipProvider = getKEEPKEYProvider(chain) as Eip1193Provider;\n if (!eipProvider) {\n throw new SwapKitError({\n errorKey: \"wallet_provider_not_found\",\n info: { wallet: WalletOption.KEEPKEY, chain },\n });\n }\n\n let method = \"request_accounts\";\n if (EVMChains.includes(chain as EVMChain)) {\n method = \"eth_requestAccounts\";\n }\n\n const [response] = await eipProvider.request({ method, params: [] });\n return response;\n}\n\nexport async function walletTransfer(\n { assetValue, recipient, memo, gasLimit }: WalletTxParams & { assetValue: AssetValue },\n method: TransactionMethod = \"transfer\",\n) {\n if (!assetValue) {\n throw new SwapKitError(\"wallet_keepkey_asset_not_defined\");\n }\n\n const from = await getKEEPKEYAddress(assetValue.chain);\n const params = [\n {\n amount: {\n amount: assetValue.getValue(\"string\"),\n decimals: assetValue.decimal,\n },\n asset: {\n chain: assetValue.chain,\n symbol: assetValue.symbol.toUpperCase(),\n ticker: assetValue.symbol.toUpperCase(),\n },\n memo,\n from,\n recipient,\n gasLimit,\n },\n ];\n\n return transaction({ method, params, chain: assetValue.chain });\n}\n\nexport function getKEEPKEYMethods(provider: BrowserProvider, chain: EVMChain) {\n return {\n call: async <T>({\n contractAddress,\n abi,\n funcName,\n funcParams = [],\n txOverrides,\n }: CallParams): Promise<T> => {\n if (!contractAddress) {\n throw new SwapKitError(\"wallet_keepkey_contract_address_not_provided\");\n }\n const { createContract, getCreateContractTxObject, isStateChangingCall, toHexString } =\n await import(\"@swapkit/toolboxes/evm\");\n\n const isStateChanging = isStateChangingCall({ abi, funcName });\n\n if (isStateChanging) {\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, from, to, data } = await createTx({\n contractAddress,\n abi,\n funcName,\n funcParams,\n txOverrides,\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n }\n const contract = createContract(contractAddress, abi, provider);\n\n const result = await contract[funcName]?.(...funcParams);\n\n return typeof result?.hash === \"string\" ? result?.hash : result;\n },\n approve: async ({ assetAddress, spenderAddress, amount, from }: ApproveParams) => {\n const { MAX_APPROVAL, getCreateContractTxObject, toHexString } = await import(\n \"@swapkit/toolboxes/evm\"\n );\n\n const createTx = getCreateContractTxObject({ provider, chain });\n const { value, to, data } = await createTx({\n contractAddress: assetAddress,\n abi: erc20ABI,\n funcName: \"approve\",\n funcParams: [spenderAddress, BigInt(amount || MAX_APPROVAL)],\n txOverrides: { from },\n });\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n sendTransaction: async (tx: EVMTxParams) => {\n const { from, to, data, value } = tx;\n if (!to) {\n throw new SwapKitError(\"wallet_keepkey_send_transaction_no_address\");\n }\n\n const { toHexString } = await import(\"@swapkit/toolboxes/evm\");\n\n return provider.send(\"eth_sendTransaction\", [\n { value: toHexString(BigInt(value || 0)), from, to, data: data || \"0x\" },\n ]);\n },\n };\n}\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "iGAAA,mBACE,WACA,kBACA,kBACA,kBACA,2BACA,
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "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",
|
|
9
|
+
"debugId": "AFAB0E6C797C305A64756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/src/keplr/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var y={};
|
|
1
|
+
var y={};A(y,{keplrWallet:()=>f});module.exports=E(y);var i=require("@swapkit/helpers");var r=require("@swapkit/helpers"),m=new Map([[r.ChainId.Kujira,{chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",rpc:"https://kujira-rpc.nodes.defiantlabs.net",rest:"https://rest.cosmos.directory/kujira/",nodeProvider:{name:"PFC",email:"pfc-validator@protonmail.com",website:"https://pfc.zone/"},bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub"},currencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"bKUJI",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png"},{coinDenom:"AQLA",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla",coinDecimals:6,coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png"}],feeCurrencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"axlUSDC",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F",coinDecimals:6,coinGeckoId:"usd-coin"},{coinDenom:"ATOM",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",coinDecimals:6,coinGeckoId:"cosmos"},{coinDenom:"OSMO",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23",coinDecimals:6,coinGeckoId:"osmosis"},{coinDenom:"CMDX",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07",coinDecimals:6,coinGeckoId:"comdex"},{coinDenom:"EVMOS",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10",coinDecimals:6,coinGeckoId:"evmos"},{coinDenom:"JUNO",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5",coinDecimals:6,coinGeckoId:"juno-network"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"SCRT",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5",coinDecimals:6,coinGeckoId:"secret"},{coinDenom:"STARS",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602",coinDecimals:6,coinGeckoId:"stargaze"},{coinDenom:"wAVAX",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2",coinDecimals:18,coinGeckoId:"avalanche-2"},{coinDenom:"wETH",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7",coinDecimals:18,coinGeckoId:"ethereum"}],stakeCurrency:{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},features:["cosmwasm"]}],[r.ChainId.THORChain,{chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",rpc:"https://rpc-thorchain.keplr.app",rest:"https://lcd-thorchain.keplr.app",bip44:{coinType:931},bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub"},currencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png"}],feeCurrencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",gasPriceStep:{low:0.02,average:0.02,high:0.03}}],features:[]}]]);var b=[i.ChainId.Cosmos,i.ChainId.Kujira,i.ChainId.THORChain],f=i.createWallet({name:"connectKeplr",supportedChains:[i.Chain.Cosmos,i.Chain.Kujira,i.Chain.THORChain],connect:({addChain:l,supportedChains:h})=>async function F(p,e=i.WalletOption.KEPLR){let u=e===i.WalletOption.LEAP?"leap":"keplr",D=i.filterSupportedChains({chains:p,supportedChains:h,walletType:e}),c=window[u];return await Promise.all(D.map(async(n)=>{let o=i.ChainToChainId[n];if(!b.includes(o)){let s=m.get(o);if(!s)throw new Error(`Unsupported chain ${n}`);await c.experimentalSuggestChain(s)}c?.enable(o);let a=c?.getOfflineSignerOnlyAmino(o);if(!a)throw new Error("Could not load signer");let{getCosmosToolbox:k}=await import("@swapkit/toolboxes/cosmos"),t=await a.getAccounts();if(!t?.[0]?.address)throw new Error("No accounts found");let[{address:C}]=t,d=k(n,{signer:a});l({...d,chain:n,address:C,walletType:e})})),!0}});
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=BCA06D01D78A87E264756E2164756E21
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/keplr/index.ts", "../src/keplr/chainRegistry.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import
|
|
5
|
+
"import {\n Chain,\n ChainId,\n ChainToChainId,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { chainRegistry } from \"./chainRegistry\";\n\nconst keplrSupportedChainIds = [ChainId.Cosmos, ChainId.Kujira, ChainId.THORChain] as const;\n\nexport const keplrWallet = createWallet({\n name: \"connectKeplr\",\n supportedChains: [Chain.Cosmos, Chain.Kujira, Chain.THORChain],\n connect: ({ addChain, supportedChains }) =>\n async function connectKeplr(\n chains: Chain[],\n walletType: WalletOption.KEPLR | WalletOption.LEAP = WalletOption.KEPLR,\n ) {\n const extensionKey = walletType === WalletOption.LEAP ? \"leap\" : \"keplr\";\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const keplrClient = window[extensionKey];\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const chainId = ChainToChainId[chain] as (typeof keplrSupportedChainIds)[number];\n\n if (!keplrSupportedChainIds.includes(chainId)) {\n const chainConfig = chainRegistry.get(chainId);\n if (!chainConfig) throw new Error(`Unsupported chain ${chain}`);\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const signer = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!signer) throw new Error(\"Could not load signer\");\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n const toolbox = getCosmosToolbox(chain, { signer });\n\n addChain({ ...toolbox, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n",
|
|
6
6
|
"import type { ChainInfo } from \"@keplr-wallet/types\";\nimport { ChainId } from \"@swapkit/helpers\";\n\nexport const chainRegistry = new Map<ChainId, ChainInfo>([\n [\n ChainId.Kujira,\n {\n chainId: \"kaiyo-1\",\n chainName: \"Kujira\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png\",\n rpc: \"https://kujira-rpc.nodes.defiantlabs.net\",\n rest: \"https://rest.cosmos.directory/kujira/\",\n nodeProvider: {\n name: \"PFC\",\n email: \"pfc-validator@protonmail.com\",\n website: \"https://pfc.zone/\",\n },\n bip44: {\n coinType: 118,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"kujira\",\n bech32PrefixAccPub: \"kujirapub\",\n bech32PrefixValAddr: \"kujiravaloper\",\n bech32PrefixValPub: \"kujiravaloperpub\",\n bech32PrefixConsAddr: \"kujiravalcons\",\n bech32PrefixConsPub: \"kujiravalconspub\",\n },\n currencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"bKUJI\",\n coinMinimalDenom:\n \"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji\",\n coinDecimals: 6,\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png\",\n },\n {\n coinDenom: \"AQLA\",\n coinMinimalDenom: \"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla\",\n coinDecimals: 6,\n coinGeckoId: \"aqualibre\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"axlUSDC\",\n coinMinimalDenom: \"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F\",\n coinDecimals: 6,\n coinGeckoId: \"usd-coin\",\n },\n {\n coinDenom: \"ATOM\",\n coinMinimalDenom: \"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2\",\n coinDecimals: 6,\n coinGeckoId: \"cosmos\",\n },\n {\n coinDenom: \"OSMO\",\n coinMinimalDenom: \"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23\",\n coinDecimals: 6,\n coinGeckoId: \"osmosis\",\n },\n {\n coinDenom: \"CMDX\",\n coinMinimalDenom: \"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07\",\n coinDecimals: 6,\n coinGeckoId: \"comdex\",\n },\n {\n coinDenom: \"EVMOS\",\n coinMinimalDenom: \"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10\",\n coinDecimals: 6,\n coinGeckoId: \"evmos\",\n },\n {\n coinDenom: \"JUNO\",\n coinMinimalDenom: \"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5\",\n coinDecimals: 6,\n coinGeckoId: \"juno-network\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"SCRT\",\n coinMinimalDenom: \"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5\",\n coinDecimals: 6,\n coinGeckoId: \"secret\",\n },\n {\n coinDenom: \"STARS\",\n coinMinimalDenom: \"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602\",\n coinDecimals: 6,\n coinGeckoId: \"stargaze\",\n },\n {\n coinDenom: \"wAVAX\",\n coinMinimalDenom: \"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2\",\n coinDecimals: 18,\n coinGeckoId: \"avalanche-2\",\n },\n {\n coinDenom: \"wETH\",\n coinMinimalDenom: \"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7\",\n coinDecimals: 18,\n coinGeckoId: \"ethereum\",\n },\n ],\n stakeCurrency: {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n features: [\"cosmwasm\"],\n },\n ],\n [\n ChainId.THORChain,\n {\n chainId: \"thorchain-1\",\n chainName: \"THORChain\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png\",\n rpc: \"https://rpc-thorchain.keplr.app\",\n rest: \"https://lcd-thorchain.keplr.app\",\n bip44: {\n coinType: 931,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"thor\",\n bech32PrefixAccPub: \"thorpub\",\n bech32PrefixValAddr: \"thorvaloper\",\n bech32PrefixValPub: \"thorvaloperpub\",\n bech32PrefixConsAddr: \"thorvalcons\",\n bech32PrefixConsPub: \"thorvalconspub\",\n },\n currencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n gasPriceStep: {\n low: 0.02,\n average: 0.02,\n high: 0.03,\n },\n },\n ],\n features: [],\n },\n ],\n]);\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "sDAOO,IAPP,8BCCwB,IAAxB,8BAEa,EAAgB,IAAI,IAAwB,CACvD,CACE,UAAQ,OACR,CACE,QAAS,UACT,UAAW,SACX,oBACE,gGACF,IAAK,2CACL,KAAM,wCACN,aAAc,CACZ,KAAM,MACN,MAAO,+BACP,QAAS,mBACX,EACA,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,SACrB,mBAAoB,YACpB,oBAAqB,gBACrB,mBAAoB,mBACpB,qBAAsB,gBACtB,oBAAqB,kBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBACE,qFACF,aAAc,EACd,aACE,yKACJ,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,YACb,aACE,oJACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,UACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,SACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,OACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,cACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,aACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,UACf,CACF,EACA,cAAe,CACb,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,SAAU,CAAC,UAAU,CACvB,CACF,EACA,CACE,UAAQ,UACR,CACE,QAAS,cACT,UAAW,YACX,oBACE,oGACF,IAAK,kCACL,KAAM,kCACN,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,OACrB,mBAAoB,UACpB,oBAAqB,cACrB,mBAAoB,iBACpB,qBAAsB,cACtB,oBAAqB,gBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,kGACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,mGACF,aAAc,CACZ,IAAK,KACL,QAAS,KACT,KAAM,IACR,CACF,CACF,EACA,SAAU,CAAC,CACb,CACF,CACF,CAAC,EDxMD,IAAM,EAAyB,CAAC,UAAQ,OAAQ,UAAQ,OAAQ,UAAQ,SAAS,EAEpE,EAAc,eAAa,CACtC,KAAM,eACN,gBAAiB,CAAC,QAAM,OAAQ,QAAM,OAAQ,QAAM,SAAS,EAC7D,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAY,CACzB,EACA,EAAqD,eAAa,MAClE,CACA,IAAM,EAAe,IAAe,eAAa,KAAO,OAAS,QAC3D,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAC9E,EAAc,OAAO,GA6B3B,OA3BA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAU,iBAAe,GAE/B,IAAK,EAAuB,SAAS,CAAO,EAAG,CAC7C,IAAM,EAAc,EAAc,IAAI,CAAO,EAC7C,IAAK,EAAa,MAAM,IAAI,MAAM,qBAAqB,GAAO,EAE9D,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAS,GAAa,0BAA0B,CAAO,EAC7D,IAAK,EAAQ,MAAM,IAAI,MAAM,uBAAuB,EAEpD,IAAQ,oBAAqB,KAAa,qCAEpC,EAAW,MAAM,EAAO,YAAY,EAC1C,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,MAAM,mBAAmB,EAEhE,KAAS,YAAa,EAChB,EAAU,EAAiB,EAAO,CAAE,QAAO,CAAC,EAElD,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GAEb,CAAC",
|
|
9
|
+
"debugId": "BCA06D01D78A87E264756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
package/dist/src/keplr/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import{
|
|
2
|
-
export{U as c};
|
|
1
|
+
import{c as A,d as b}from"../../chunk-p1kdg37m.js";import{Chain as a,ChainId as r,ChainToChainId as f,WalletOption as h,createWallet as y,filterSupportedChains as F}from"@swapkit/helpers";import{ChainId as m}from"@swapkit/helpers";var l=new Map([[m.Kujira,{chainId:"kaiyo-1",chainName:"Kujira",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png",rpc:"https://kujira-rpc.nodes.defiantlabs.net",rest:"https://rest.cosmos.directory/kujira/",nodeProvider:{name:"PFC",email:"pfc-validator@protonmail.com",website:"https://pfc.zone/"},bip44:{coinType:118},bech32Config:{bech32PrefixAccAddr:"kujira",bech32PrefixAccPub:"kujirapub",bech32PrefixValAddr:"kujiravaloper",bech32PrefixValPub:"kujiravaloperpub",bech32PrefixConsAddr:"kujiravalcons",bech32PrefixConsPub:"kujiravalconspub"},currencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"bKUJI",coinMinimalDenom:"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji",coinDecimals:6,coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png"},{coinDenom:"AQLA",coinMinimalDenom:"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla",coinDecimals:6,coinGeckoId:"aqualibre",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png"}],feeCurrencies:[{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},{coinDenom:"USK",coinMinimalDenom:"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk",coinDecimals:6,coinGeckoId:"usk"},{coinDenom:"axlUSDC",coinMinimalDenom:"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F",coinDecimals:6,coinGeckoId:"usd-coin"},{coinDenom:"ATOM",coinMinimalDenom:"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2",coinDecimals:6,coinGeckoId:"cosmos"},{coinDenom:"OSMO",coinMinimalDenom:"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23",coinDecimals:6,coinGeckoId:"osmosis"},{coinDenom:"CMDX",coinMinimalDenom:"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07",coinDecimals:6,coinGeckoId:"comdex"},{coinDenom:"EVMOS",coinMinimalDenom:"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10",coinDecimals:6,coinGeckoId:"evmos"},{coinDenom:"JUNO",coinMinimalDenom:"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5",coinDecimals:6,coinGeckoId:"juno-network"},{coinDenom:"MNTA",coinMinimalDenom:"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta",coinDecimals:6,coinGeckoId:"mantadao"},{coinDenom:"SCRT",coinMinimalDenom:"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5",coinDecimals:6,coinGeckoId:"secret"},{coinDenom:"STARS",coinMinimalDenom:"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602",coinDecimals:6,coinGeckoId:"stargaze"},{coinDenom:"wAVAX",coinMinimalDenom:"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2",coinDecimals:18,coinGeckoId:"avalanche-2"},{coinDenom:"wETH",coinMinimalDenom:"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7",coinDecimals:18,coinGeckoId:"ethereum"}],stakeCurrency:{coinDenom:"KUJI",coinMinimalDenom:"ukuji",coinDecimals:6,coinGeckoId:"kujira",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png"},features:["cosmwasm"]}],[m.THORChain,{chainId:"thorchain-1",chainName:"THORChain",chainSymbolImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png",rpc:"https://rpc-thorchain.keplr.app",rest:"https://lcd-thorchain.keplr.app",bip44:{coinType:931},bech32Config:{bech32PrefixAccAddr:"thor",bech32PrefixAccPub:"thorpub",bech32PrefixValAddr:"thorvaloper",bech32PrefixValPub:"thorvaloperpub",bech32PrefixConsAddr:"thorvalcons",bech32PrefixConsPub:"thorvalconspub"},currencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png"}],feeCurrencies:[{coinDenom:"RUNE",coinMinimalDenom:"rune",coinDecimals:8,coinGeckoId:"thorchain",coinImageUrl:"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png",gasPriceStep:{low:0.02,average:0.02,high:0.03}}],features:[]}]]);var I=[r.Cosmos,r.Kujira,r.THORChain],P=y({name:"connectKeplr",supportedChains:[a.Cosmos,a.Kujira,a.THORChain],connect:({addChain:p,supportedChains:u})=>async function x(D,o=h.KEPLR){let k=o===h.LEAP?"leap":"keplr",C=F({chains:D,supportedChains:u,walletType:o}),e=window[k];return await Promise.all(C.map(async(i)=>{let n=f[i];if(!I.includes(n)){let s=l.get(n);if(!s)throw new Error(`Unsupported chain ${i}`);await e.experimentalSuggestChain(s)}e?.enable(n);let c=e?.getOfflineSignerOnlyAmino(n);if(!c)throw new Error("Could not load signer");let{getCosmosToolbox:d}=await import("@swapkit/toolboxes/cosmos"),t=await c.getAccounts();if(!t?.[0]?.address)throw new Error("No accounts found");let[{address:g}]=t,E=d(i,{signer:c});p({...E,chain:i,address:g,walletType:o})})),!0}});export{P as keplrWallet};
|
|
3
2
|
|
|
4
|
-
//# debugId=
|
|
3
|
+
//# debugId=34CA93B29DF1AD6264756E2164756E21
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/keplr/index.ts", "../src/keplr/chainRegistry.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import
|
|
5
|
+
"import {\n Chain,\n ChainId,\n ChainToChainId,\n WalletOption,\n createWallet,\n filterSupportedChains,\n} from \"@swapkit/helpers\";\nimport { chainRegistry } from \"./chainRegistry\";\n\nconst keplrSupportedChainIds = [ChainId.Cosmos, ChainId.Kujira, ChainId.THORChain] as const;\n\nexport const keplrWallet = createWallet({\n name: \"connectKeplr\",\n supportedChains: [Chain.Cosmos, Chain.Kujira, Chain.THORChain],\n connect: ({ addChain, supportedChains }) =>\n async function connectKeplr(\n chains: Chain[],\n walletType: WalletOption.KEPLR | WalletOption.LEAP = WalletOption.KEPLR,\n ) {\n const extensionKey = walletType === WalletOption.LEAP ? \"leap\" : \"keplr\";\n const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n const keplrClient = window[extensionKey];\n\n await Promise.all(\n filteredChains.map(async (chain) => {\n const chainId = ChainToChainId[chain] as (typeof keplrSupportedChainIds)[number];\n\n if (!keplrSupportedChainIds.includes(chainId)) {\n const chainConfig = chainRegistry.get(chainId);\n if (!chainConfig) throw new Error(`Unsupported chain ${chain}`);\n\n await keplrClient.experimentalSuggestChain(chainConfig);\n }\n\n keplrClient?.enable(chainId);\n const signer = keplrClient?.getOfflineSignerOnlyAmino(chainId);\n if (!signer) throw new Error(\"Could not load signer\");\n\n const { getCosmosToolbox } = await import(\"@swapkit/toolboxes/cosmos\");\n\n const accounts = await signer.getAccounts();\n if (!accounts?.[0]?.address) throw new Error(\"No accounts found\");\n\n const [{ address }] = accounts;\n const toolbox = getCosmosToolbox(chain, { signer });\n\n addChain({ ...toolbox, chain, address, walletType });\n }),\n );\n\n return true;\n },\n});\n",
|
|
6
6
|
"import type { ChainInfo } from \"@keplr-wallet/types\";\nimport { ChainId } from \"@swapkit/helpers\";\n\nexport const chainRegistry = new Map<ChainId, ChainInfo>([\n [\n ChainId.Kujira,\n {\n chainId: \"kaiyo-1\",\n chainName: \"Kujira\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/chain.png\",\n rpc: \"https://kujira-rpc.nodes.defiantlabs.net\",\n rest: \"https://rest.cosmos.directory/kujira/\",\n nodeProvider: {\n name: \"PFC\",\n email: \"pfc-validator@protonmail.com\",\n website: \"https://pfc.zone/\",\n },\n bip44: {\n coinType: 118,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"kujira\",\n bech32PrefixAccPub: \"kujirapub\",\n bech32PrefixValAddr: \"kujiravaloper\",\n bech32PrefixValPub: \"kujiravaloperpub\",\n bech32PrefixConsAddr: \"kujiravalcons\",\n bech32PrefixConsPub: \"kujiravalconspub\",\n },\n currencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"bKUJI\",\n coinMinimalDenom:\n \"factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/boneKuji\",\n coinDecimals: 6,\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira15e8q5wzlk5k38gjxlhse3vu6vqnafysncx2ltexd6y9gx50vuj2qpt7dgv/bKUJI.png\",\n },\n {\n coinDenom: \"AQLA\",\n coinMinimalDenom: \"factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/uaqla\",\n coinDecimals: 6,\n coinGeckoId: \"aqualibre\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/factory/kujira1xe0awk5planmtsmjel5xtx2hzhqdw5p8z66yqd/AQLA.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n {\n coinDenom: \"USK\",\n coinMinimalDenom:\n \"factory/kujira1qk00h5atutpsv900x202pxx42npjr9thg58dnqpa72f2p7m2luase444a7/uusk\",\n coinDecimals: 6,\n coinGeckoId: \"usk\",\n },\n {\n coinDenom: \"axlUSDC\",\n coinMinimalDenom: \"ibc/295548A78785A1007F232DE286149A6FF512F180AF5657780FC89C009E2C348F\",\n coinDecimals: 6,\n coinGeckoId: \"usd-coin\",\n },\n {\n coinDenom: \"ATOM\",\n coinMinimalDenom: \"ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2\",\n coinDecimals: 6,\n coinGeckoId: \"cosmos\",\n },\n {\n coinDenom: \"OSMO\",\n coinMinimalDenom: \"ibc/47BD209179859CDE4A2806763D7189B6E6FE13A17880FE2B42DE1E6C1E329E23\",\n coinDecimals: 6,\n coinGeckoId: \"osmosis\",\n },\n {\n coinDenom: \"CMDX\",\n coinMinimalDenom: \"ibc/3607EB5B5E64DD1C0E12E07F077FF470D5BC4706AFCBC98FE1BA960E5AE4CE07\",\n coinDecimals: 6,\n coinGeckoId: \"comdex\",\n },\n {\n coinDenom: \"EVMOS\",\n coinMinimalDenom: \"ibc/F3AA7EF362EC5E791FE78A0F4CCC69FEE1F9A7485EB1A8CAB3F6601C00522F10\",\n coinDecimals: 6,\n coinGeckoId: \"evmos\",\n },\n {\n coinDenom: \"JUNO\",\n coinMinimalDenom: \"ibc/EFF323CC632EC4F747C61BCE238A758EFDB7699C3226565F7C20DA06509D59A5\",\n coinDecimals: 6,\n coinGeckoId: \"juno-network\",\n },\n {\n coinDenom: \"MNTA\",\n coinMinimalDenom: \"factory/kujira1643jxg8wasy5cfcn7xm8rd742yeazcksqlg4d7/umnta\",\n coinDecimals: 6,\n coinGeckoId: \"mantadao\",\n },\n {\n coinDenom: \"SCRT\",\n coinMinimalDenom: \"ibc/A358D7F19237777AF6D8AD0E0F53268F8B18AE8A53ED318095C14D6D7F3B2DB5\",\n coinDecimals: 6,\n coinGeckoId: \"secret\",\n },\n {\n coinDenom: \"STARS\",\n coinMinimalDenom: \"ibc/4F393C3FCA4190C0A6756CE7F6D897D5D1BE57D6CCB80D0BC87393566A7B6602\",\n coinDecimals: 6,\n coinGeckoId: \"stargaze\",\n },\n {\n coinDenom: \"wAVAX\",\n coinMinimalDenom: \"ibc/004EBF085BBED1029326D56BE8A2E67C08CECE670A94AC1947DF413EF5130EB2\",\n coinDecimals: 18,\n coinGeckoId: \"avalanche-2\",\n },\n {\n coinDenom: \"wETH\",\n coinMinimalDenom: \"ibc/1B38805B1C75352B28169284F96DF56BDEBD9E8FAC005BDCC8CF0378C82AA8E7\",\n coinDecimals: 18,\n coinGeckoId: \"ethereum\",\n },\n ],\n stakeCurrency: {\n coinDenom: \"KUJI\",\n coinMinimalDenom: \"ukuji\",\n coinDecimals: 6,\n coinGeckoId: \"kujira\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/kaiyo/ukuji.png\",\n },\n features: [\"cosmwasm\"],\n },\n ],\n [\n ChainId.THORChain,\n {\n chainId: \"thorchain-1\",\n chainName: \"THORChain\",\n chainSymbolImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/chain.png\",\n rpc: \"https://rpc-thorchain.keplr.app\",\n rest: \"https://lcd-thorchain.keplr.app\",\n bip44: {\n coinType: 931,\n },\n bech32Config: {\n bech32PrefixAccAddr: \"thor\",\n bech32PrefixAccPub: \"thorpub\",\n bech32PrefixValAddr: \"thorvaloper\",\n bech32PrefixValPub: \"thorvaloperpub\",\n bech32PrefixConsAddr: \"thorvalcons\",\n bech32PrefixConsPub: \"thorvalconspub\",\n },\n currencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n },\n ],\n feeCurrencies: [\n {\n coinDenom: \"RUNE\",\n coinMinimalDenom: \"rune\",\n coinDecimals: 8,\n coinGeckoId: \"thorchain\",\n coinImageUrl:\n \"https://raw.githubusercontent.com/chainapsis/keplr-chain-registry/main/images/thorchain/rune.png\",\n gasPriceStep: {\n low: 0.02,\n average: 0.02,\n high: 0.03,\n },\n },\n ],\n features: [],\n },\n ],\n]);\n"
|
|
7
7
|
],
|
|
8
|
-
"mappings": "
|
|
9
|
-
"debugId": "
|
|
8
|
+
"mappings": "mDAAA,gBACE,aACA,oBACA,kBACA,kBACA,2BACA,yBCLF,kBAAS,yBAEF,IAAM,EAAgB,IAAI,IAAwB,CACvD,CACE,EAAQ,OACR,CACE,QAAS,UACT,UAAW,SACX,oBACE,gGACF,IAAK,2CACL,KAAM,wCACN,aAAc,CACZ,KAAM,MACN,MAAO,+BACP,QAAS,mBACX,EACA,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,SACrB,mBAAoB,YACpB,oBAAqB,gBACrB,mBAAoB,mBACpB,qBAAsB,gBACtB,oBAAqB,kBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBACE,qFACF,aAAc,EACd,aACE,yKACJ,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,YACb,aACE,oJACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,CACE,UAAW,MACX,iBACE,iFACF,aAAc,EACd,YAAa,KACf,EACA,CACE,UAAW,UACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,SACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,OACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,cACf,EACA,CACE,UAAW,OACX,iBAAkB,8DAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,QACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,EACd,YAAa,UACf,EACA,CACE,UAAW,QACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,aACf,EACA,CACE,UAAW,OACX,iBAAkB,uEAClB,aAAc,GACd,YAAa,UACf,CACF,EACA,cAAe,CACb,UAAW,OACX,iBAAkB,QAClB,aAAc,EACd,YAAa,SACb,aACE,+FACJ,EACA,SAAU,CAAC,UAAU,CACvB,CACF,EACA,CACE,EAAQ,UACR,CACE,QAAS,cACT,UAAW,YACX,oBACE,oGACF,IAAK,kCACL,KAAM,kCACN,MAAO,CACL,SAAU,GACZ,EACA,aAAc,CACZ,oBAAqB,OACrB,mBAAoB,UACpB,oBAAqB,cACrB,mBAAoB,iBACpB,qBAAsB,cACtB,oBAAqB,gBACvB,EACA,WAAY,CACV,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,kGACJ,CACF,EACA,cAAe,CACb,CACE,UAAW,OACX,iBAAkB,OAClB,aAAc,EACd,YAAa,YACb,aACE,mGACF,aAAc,CACZ,IAAK,KACL,QAAS,KACT,KAAM,IACR,CACF,CACF,EACA,SAAU,CAAC,CACb,CACF,CACF,CAAC,EDxMD,IAAM,EAAyB,CAAC,EAAQ,OAAQ,EAAQ,OAAQ,EAAQ,SAAS,EAEpE,EAAc,EAAa,CACtC,KAAM,eACN,gBAAiB,CAAC,EAAM,OAAQ,EAAM,OAAQ,EAAM,SAAS,EAC7D,QAAS,EAAG,WAAU,qBACpB,eAAe,CAAY,CACzB,EACA,EAAqD,EAAa,MAClE,CACA,IAAM,EAAe,IAAe,EAAa,KAAO,OAAS,QAC3D,EAAiB,EAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAC9E,EAAc,OAAO,GA6B3B,OA3BA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAU,EAAe,GAE/B,IAAK,EAAuB,SAAS,CAAO,EAAG,CAC7C,IAAM,EAAc,EAAc,IAAI,CAAO,EAC7C,IAAK,EAAa,MAAM,IAAI,MAAM,qBAAqB,GAAO,EAE9D,MAAM,EAAY,yBAAyB,CAAW,EAGxD,GAAa,OAAO,CAAO,EAC3B,IAAM,EAAS,GAAa,0BAA0B,CAAO,EAC7D,IAAK,EAAQ,MAAM,IAAI,MAAM,uBAAuB,EAEpD,IAAQ,oBAAqB,KAAa,qCAEpC,EAAW,MAAM,EAAO,YAAY,EAC1C,IAAK,IAAW,IAAI,QAAS,MAAM,IAAI,MAAM,mBAAmB,EAEhE,KAAS,YAAa,EAChB,EAAU,EAAiB,EAAO,CAAE,QAAO,CAAC,EAElD,EAAS,IAAK,EAAS,QAAO,UAAS,YAAW,CAAC,EACpD,CACH,EAEO,GAEb,CAAC",
|
|
9
|
+
"debugId": "34CA93B29DF1AD6264756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var A={};T(A,{validatePhrase:()=>P,keystoreWallet:()=>v,generatePhrase:()=>B,encryptToKeyStore:()=>C,decryptFromKeystore:()=>K,KEYSTORE_SUPPORTED_CHAINS:()=>E});module.exports=D(A);var t=require("@swapkit/helpers");var d=require("@scure/bip39"),g=require("@scure/bip39/wordlists/english");async function x(r){let{blake2bFinal:i,blake2bInit:s,blake2bUpdate:c}=await import("blakejs"),n=r;if(!(n instanceof Buffer))n=Buffer.from(n,"hex");let o=s(32);return c(o,n),Array.from(i(o)).map((e)=>e<16?`0${e.toString(16)}`:e.toString(16)).join("")}async function C(r,i){let{pbkdf2Sync:s,randomBytes:c,createCipheriv:n}=await import("node:crypto"),o="aes-128-ctr",e=c(16),p=c(32),a={c:262144,prf:"hmac-sha256",dklen:32,salt:p.toString("hex")},l=s(i,p,a.c,a.dklen,"sha256"),m=n("aes-128-ctr",l.subarray(0,16),e),f=Buffer.concat([m.update(Buffer.from(r,"utf8")),m.final()]),u=Buffer.concat([l.subarray(16,32),Buffer.from(f)]),y=await x(u);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:e.toString("hex")},ciphertext:f.toString("hex"),kdf:"pbkdf2",kdfparams:a,mac:y}}}function B(r=12){return d.generateMnemonic(g.wordlist,r===12?128:256)}function P(r){return d.validateMnemonic(r,g.wordlist)}async function K(r,i){let{createDecipheriv:s,pbkdf2Sync:c}=await import("node:crypto"),{SwapKitError:n}=await import("@swapkit/helpers");switch(r.version){case 1:{let o=r.crypto.kdfparams,e=Buffer.from(o.salt,"hex"),p=c(i,e,o.c,o.dklen,"sha256"),a=Buffer.from(r.crypto.ciphertext,"hex"),l=Buffer.concat([p.subarray(16,32),a]);if(await x(l)!==r.crypto.mac)throw new n("wallet_keystore_invalid_password");let f=s(r.crypto.cipher,p.subarray(0,16),Buffer.from(r.crypto.cipherparams.iv,"hex"));return Buffer.concat([f.update(a),f.final()]).toString("utf8")}default:throw new n("wallet_keystore_unsupported_version")}}var v=t.createWallet({name:"connectKeystore",walletType:t.WalletOption.KEYSTORE,supportedChains:[...t.EVMChains,...t.UTXOChains,...t.CosmosChains,t.Chain.Polkadot,t.Chain.Chainflip,t.Chain.Ripple,t.Chain.Solana],connect:({addChain:r,supportedChains:i,walletType:s})=>async function c(n,o,e){let p=t.filterSupportedChains({chains:n,supportedChains:i,walletType:s});return await Promise.all(p.map(async(a)=>{let l=typeof e==="number"?e:0,m=e&&typeof e==="object"?e[a]:void 0,f=t.NetworkDerivationPath[a].slice(0,a===t.Chain.Solana?4:5),u=m||t.updateDerivationPath(f,{index:l}),{getToolbox:y}=await import("@swapkit/toolboxes"),w=await y(a,{phrase:o,derivationPath:u}),k=await w.getAddress()||"",S={...w,address:k};r({...S,chain:a,walletType:t.WalletOption.KEYSTORE})})),!0}}),E=b(v);
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=D50A7B6A4E41BE6E64756E2164756E21
|