@swapkit/wallet-keystore 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/package.json +8 -8
- package/src/keystore.ts +2 -2
package/dist/index.js
CHANGED
|
@@ -8,6 +8,6 @@ use chrome, FireFox or Internet Explorer 11`)}var E=d0(),v=y5(),W=E.Buffer,S=E.k
|
|
|
8
8
|
*
|
|
9
9
|
* @author Feross Aboukhadijeh <https://feross.org>
|
|
10
10
|
* @license MIT
|
|
11
|
-
*//*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *//*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */import{generateMnemonic as _8,validateMnemonic as w8} from"@scure/bip39";import{wordlist as a6} from"@scure/bip39/wordlists/english";import{blake2bFinal as y8,blake2bInit as g8,blake2bUpdate as m8} from"blakejs";var n6=(l)=>{let g=l;if(!(g instanceof Buffer))g=Buffer.from(g,"hex");const E=g8(32);return m8(E,g),Array.from(y8(E)).map((v)=>v<16?`0${v.toString(16)}`:v.toString(16)).join("")},r6=(l,g,E,v,W)=>new Promise((S,$)=>{M5.pbkdf2(l,g,E,v,W,(O,I)=>{if(O)$(O);else S(I)})}),Y4=async(l,g)=>{const E=M5.randomBytes(32),v=M5.randomBytes(16),W={c:262144,prf:"hmac-sha256",dklen:32,salt:E.toString("hex")},$=await r6(Buffer.from(g),E,W.c,W.dklen,"sha256"),O=M5.createCipheriv("aes-128-ctr",$.subarray(0,16),v),I=Buffer.concat([O.update(Buffer.from(l,"utf8")),O.final()]);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:v.toString("hex")},ciphertext:I.toString("hex"),kdf:"pbkdf2",kdfparams:W,mac:n6(Buffer.concat([$.subarray(16,32),Buffer.from(I)]))}}},G4=(l=12)=>{return _8(a6,l===12?128:256)},Z4=(l)=>{return w8(l,a6)},$4=async(l,g)=>{switch(l.version){case 1:{const E=l.crypto.kdfparams,v=await r6(Buffer.from(g),Buffer.from(E.salt,"hex"),E.c,E.dklen,"sha256"),W=Buffer.from(l.crypto.ciphertext,"hex");if(n6(Buffer.concat([v.subarray(16,32),W]))!==l.crypto.mac)throw new Error("Invalid password");const $=M5.createDecipheriv(l.crypto.cipher,v.subarray(0,16),Buffer.from(l.crypto.cipherparams.iv,"hex"));return Buffer.concat([$.update(W),$.final()]).toString("utf8")}default:throw new Error("Unsupported keystore version")}};import{Chain as W5,DerivationPath as p8,RPCUrl as b8,WalletOption as c8,setRequestClientConfig as d8} from"@swapkit/helpers";var h8=function({addChain:l,apis:g,rpcUrls:E,config:{thorswapApiKey:v,covalentApiKey:W,ethplorerApiKey:S,blockchairApiKey:$,stagenet:O}}){return async function I(P,K,V=0){d8({apiKey:v});const D=P.map(async(T)=>{const{address:U,walletMethods:N}=await l8({index:V,chain:T,api:g[T],rpcUrl:E[T],covalentApiKey:W,ethplorerApiKey:S,phrase:K,blockchairApiKey:$,stagenet:O});l({chain:T,address:U,balance:[],walletType:c8.KEYSTORE
|
|
11
|
+
*//*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *//*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */import{generateMnemonic as _8,validateMnemonic as w8} from"@scure/bip39";import{wordlist as a6} from"@scure/bip39/wordlists/english";import{blake2bFinal as y8,blake2bInit as g8,blake2bUpdate as m8} from"blakejs";var n6=(l)=>{let g=l;if(!(g instanceof Buffer))g=Buffer.from(g,"hex");const E=g8(32);return m8(E,g),Array.from(y8(E)).map((v)=>v<16?`0${v.toString(16)}`:v.toString(16)).join("")},r6=(l,g,E,v,W)=>new Promise((S,$)=>{M5.pbkdf2(l,g,E,v,W,(O,I)=>{if(O)$(O);else S(I)})}),Y4=async(l,g)=>{const E=M5.randomBytes(32),v=M5.randomBytes(16),W={c:262144,prf:"hmac-sha256",dklen:32,salt:E.toString("hex")},$=await r6(Buffer.from(g),E,W.c,W.dklen,"sha256"),O=M5.createCipheriv("aes-128-ctr",$.subarray(0,16),v),I=Buffer.concat([O.update(Buffer.from(l,"utf8")),O.final()]);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:v.toString("hex")},ciphertext:I.toString("hex"),kdf:"pbkdf2",kdfparams:W,mac:n6(Buffer.concat([$.subarray(16,32),Buffer.from(I)]))}}},G4=(l=12)=>{return _8(a6,l===12?128:256)},Z4=(l)=>{return w8(l,a6)},$4=async(l,g)=>{switch(l.version){case 1:{const E=l.crypto.kdfparams,v=await r6(Buffer.from(g),Buffer.from(E.salt,"hex"),E.c,E.dklen,"sha256"),W=Buffer.from(l.crypto.ciphertext,"hex");if(n6(Buffer.concat([v.subarray(16,32),W]))!==l.crypto.mac)throw new Error("Invalid password");const $=M5.createDecipheriv(l.crypto.cipher,v.subarray(0,16),Buffer.from(l.crypto.cipherparams.iv,"hex"));return Buffer.concat([$.update(W),$.final()]).toString("utf8")}default:throw new Error("Unsupported keystore version")}};import{Chain as W5,DerivationPath as p8,RPCUrl as b8,WalletOption as c8,setRequestClientConfig as d8} from"@swapkit/helpers";var h8=function({addChain:l,apis:g,rpcUrls:E,config:{thorswapApiKey:v,covalentApiKey:W,ethplorerApiKey:S,blockchairApiKey:$,stagenet:O}}){return async function I(P,K,V=0){d8({apiKey:v});const D=P.map(async(T)=>{const{address:U,walletMethods:N}=await l8({index:V,chain:T,api:g[T],rpcUrl:E[T],covalentApiKey:W,ethplorerApiKey:S,phrase:K,blockchairApiKey:$,stagenet:O});l({...N,chain:T,address:U,balance:[],walletType:c8.KEYSTORE})});return await Promise.all(D),!0}},l8=async({api:l,rpcUrl:g,chain:E,phrase:v,ethplorerApiKey:W,covalentApiKey:S,blockchairApiKey:$,index:O,stagenet:I})=>{const P=`${p8[E]}/${O}`;switch(E){case W5.BinanceSmartChain:case W5.Arbitrum:case W5.Optimism:case W5.Polygon:case W5.Avalanche:case W5.Ethereum:{if(E===W5.Ethereum&&!W)throw new Error("Ethplorer API key not found");else if(!S)throw new Error("Covalent API key not found");const{HDNodeWallet:K,getProvider:V,getToolboxByChain:D}=await import("@swapkit/toolbox-evm"),T=V(E,g),U=K.fromPhrase(v).connect(T),N={api:l,provider:T,signer:U},k=D(E)({...N,covalentApiKey:S,ethplorerApiKey:W});return{address:U.address,walletMethods:k}}case W5.BitcoinCash:{const{BCHToolbox:K}=await import("@swapkit/toolbox-utxo"),V=K({rpcUrl:g,apiKey:$,apiClient:l}),D=await V.createKeysForPath({phrase:v,derivationPath:P}),T=V.getAddressFromKeys(D),U={...V,transfer:(N)=>V.transfer({...N,from:T,signTransaction:({builder:k,utxos:M})=>{return M.forEach((A,x)=>{k.sign(x,D,void 0,65,A.witnessUtxo.value)}),k.build()}})};return{address:T,walletMethods:U}}case W5.Bitcoin:case W5.Dash:case W5.Dogecoin:case W5.Litecoin:{const{getToolboxByChain:K}=await import("@swapkit/toolbox-utxo"),V=K(E)({rpcUrl:g,apiKey:$,apiClient:l}),D=V.createKeysForPath({phrase:v,derivationPath:P}),T=V.getAddressFromKeys(D);return{address:T,walletMethods:{...V,transfer:(U)=>V.transfer({...U,from:T,signTransaction:(N)=>{return N.signAllInputs(D),N}})}}}case W5.Cosmos:case W5.Kujira:{const{getToolboxByChain:K}=await import("@swapkit/toolbox-cosmos"),V=K(E)({server:l,stagenet:I});return{address:await V.getAddressFromMnemonic(v),walletMethods:V}}case W5.Maya:case W5.THORChain:{const{getToolboxByChain:K}=await import("@swapkit/toolbox-cosmos"),V=K(E)({server:l,stagenet:I}),D=await V.getSigner(v),T=await V.getAddressFromMnemonic(v),U=async({assetValue:A,recipient:x,memo:y})=>V.transfer({from:T,recipient:x,assetValue:A,memo:y,signer:D}),N="deposit"in V?({assetValue:A,memo:x})=>{return V.deposit({assetValue:A,memo:x,from:T,signer:D})}:void 0,M={...V,deposit:N,transfer:U,signMessage:async(A)=>{const x=await V.createPrivateKeyFromPhrase(v);return V.signWithPrivateKey({privateKey:x,message:A})}};return{address:T,walletMethods:M}}case W5.Polkadot:case W5.Chainflip:{const{Network:K,getToolboxByChain:V,createKeyring:D}=await import("@swapkit/toolbox-substrate"),T=await D(v,K[E].prefix),U=await V(E,{signer:T});return{address:T.address,walletMethods:U}}case W5.Radix:{const{getRadixCoreApiClient:K,RadixToolbox:V,createPrivateKey:D,RadixMainnet:T}=await import("@swapkit/toolbox-radix"),U=await K(b8.Radix,T),N=await D(v),k=await V({api:U,signer:N});return{address:await k.getAddress(),walletMethods:k}}case W5.Solana:{const{SOLToolbox:K}=await import("@swapkit/toolbox-solana"),V=K({rpcUrl:g}),D=V.createKeysForPath({phrase:v,derivationPath:P});return{address:V.getAddressFromKeys(D),walletMethods:{...V,transfer:(T)=>V.transfer({...T,fromKeypair:D})}}}default:throw new Error(`Unsupported chain ${E}`)}},u8={connectKeystore:h8};export{Z4 as validatePhrase,u8 as keystoreWallet,G4 as generatePhrase,Y4 as encryptToKeyStore,$4 as decryptFromKeystore};
|
|
12
12
|
|
|
13
|
-
//# debugId=
|
|
13
|
+
//# debugId=BD7E5B13EC105B0464756E2164756E21
|