@swapkit/wallet-keystore 1.1.2 → 1.1.4
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 +1 -1
package/dist/index.js
CHANGED
|
@@ -8,6 +8,6 @@ use chrome, FireFox or Internet Explorer 11`)}var E=d0(),A=y5(),j=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 f6}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((A)=>A<16?`0${A.toString(16)}`:A.toString(16)).join("")},r6=(l,g,E,A,j)=>new Promise((S,H)=>{M5.pbkdf2(l,g,E,A,j,(V,k)=>{if(V)H(V);else S(k)})}),C4=async(l,g)=>{const E=M5.randomBytes(32),A=M5.randomBytes(16),j={c:262144,prf:"hmac-sha256",dklen:32,salt:E.toString("hex")},H=await r6(Buffer.from(g),E,j.c,j.dklen,"sha256"),V=M5.createCipheriv("aes-128-ctr",H.subarray(0,16),A),k=Buffer.concat([V.update(Buffer.from(l,"utf8")),V.final()]);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:A.toString("hex")},ciphertext:k.toString("hex"),kdf:"pbkdf2",kdfparams:j,mac:n6(Buffer.concat([H.subarray(16,32),Buffer.from(k)]))}}},H4=(l=12)=>{return _8(f6,l===12?128:256)},$4=(l)=>{return w8(l,f6)},F4=async(l,g)=>{switch(l.version){case 1:{const E=l.crypto.kdfparams,A=await r6(Buffer.from(g),Buffer.from(E.salt,"hex"),E.c,E.dklen,"sha256"),j=Buffer.from(l.crypto.ciphertext,"hex");if(n6(Buffer.concat([A.subarray(16,32),j]))!==l.crypto.mac)throw new Error("Invalid password");const H=M5.createDecipheriv(l.crypto.cipher,A.subarray(0,16),Buffer.from(l.crypto.cipherparams.iv,"hex"));return Buffer.concat([H.update(j),H.final()]).toString("utf8")}default:throw new Error("Unsupported keystore version")}};import{Chain as V5,DerivationPath as p8,RPCUrl as b8,WalletOption as c8,derivationPathToString as d8,ensureEVMApiKeys as l8,setRequestClientConfig as h8}from"@swapkit/helpers";function o8({addChain:l,apis:g,rpcUrls:E,config:{thorswapApiKey:A,covalentApiKey:j,ethplorerApiKey:S,blockchairApiKey:H,stagenet:V}}){return async function k(z,P,Z){h8({apiKey:A});const T=z.map(async(D)=>{const U=typeof Z==="object"&&Z[D]?d8(Z[D]):`${p8[D]}/${Z}`,{address:N,walletMethods:I}=await u8({derivationPath:U,chain:D,api:g[D],rpcUrl:E[D],covalentApiKey:j,ethplorerApiKey:S,phrase:P,blockchairApiKey:H,stagenet:V});l({...I,chain:D,address:N,balance:[],walletType:c8.KEYSTORE})});return await Promise.all(T),!0}}var u8=async({api:l,rpcUrl:g,chain:E,phrase:A,ethplorerApiKey:j,covalentApiKey:S,blockchairApiKey:H,derivationPath:V,stagenet:k})=>{switch(E){case V5.BinanceSmartChain:case V5.Arbitrum:case V5.Optimism:case V5.Polygon:case V5.Avalanche:case V5.Ethereum:{const{HDNodeWallet:z,getProvider:P,getToolboxByChain:Z}=await import("@swapkit/toolbox-evm"),T=l8({chain:E,covalentApiKey:S,ethplorerApiKey:j}),D=P(E,g),U=z.fromPhrase(A).connect(D),N={...T,api:l,provider:D,signer:U};return{address:U.address,walletMethods:Z(E)(N)}}case V5.BitcoinCash:{let D=function({builder:N,utxos:I}){return I.forEach((M,x)=>{N.sign(x,Z,void 0,65,M.witnessUtxo.value)}),N.build()};const{BCHToolbox:z}=await import("@swapkit/toolbox-utxo"),P=z({rpcUrl:g,apiKey:H,apiClient:l}),Z=await P.createKeysForPath({phrase:A,derivationPath:V}),T=P.getAddressFromKeys(Z),U={...P,transfer:(N)=>P.transfer({...N,from:T,signTransaction:D})};return{address:T,walletMethods:U}}case V5.Bitcoin:case V5.Dash:case V5.Dogecoin:case V5.Litecoin:{const{getToolboxByChain:z}=await import("@swapkit/toolbox-utxo"),P=z(E)({rpcUrl:g,apiKey:H,apiClient:l}),Z=P.createKeysForPath({phrase:A,derivationPath:V}),T=P.getAddressFromKeys(Z);return{address:T,walletMethods:{...P,transfer:(D)=>P.transfer({...D,from:T,signTransaction:(U)=>U.signAllInputs(Z)})}}}case V5.Cosmos:case V5.Kujira:{const{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),P=z(E)({server:l,stagenet:k});return{address:await P.getAddressFromMnemonic(A),walletMethods:P}}case V5.Maya:case V5.THORChain:{const{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),P=z(E)({server:l,stagenet:k}),Z=await P.getSigner(A),T=await P.getAddressFromMnemonic(A);return{address:T,walletMethods:{...P,deposit:({assetValue:D,memo:U})=>P.deposit({assetValue:D,memo:U,from:T,signer:Z}),transfer:(D)=>P.transfer({...D,from:T,signer:Z}),signMessage:async(D)=>{const U=await P.createPrivateKeyFromPhrase(A);return P.signWithPrivateKey({privateKey:U,message:D})}}}}case V5.Polkadot:case V5.Chainflip:{const{Network:z,getToolboxByChain:P,createKeyring:Z}=await import("@swapkit/toolbox-substrate"),T=await Z(A,z[E].prefix),D=await P(E,{signer:T});return{address:T.address,walletMethods:D}}case V5.Radix:{const{getRadixCoreApiClient:z,RadixToolbox:P,createPrivateKey:Z,RadixMainnet:T}=await import("@swapkit/toolbox-radix"),D=await z(b8.Radix,T),U=await Z(A),N=await P({api:D,signer:U});return{address:N.getAddress(),walletMethods:N}}case V5.Solana:{const{SOLToolbox:z}=await import("@swapkit/toolbox-solana"),P=z({rpcUrl:g}),Z=P.createKeysForPath({phrase:A,derivationPath:V});return{address:P.getAddressFromKeys(Z),walletMethods:{...P,transfer:(T)=>P.transfer({...T,fromKeypair:Z})}}}default:throw new Error(`Unsupported chain ${E}`)}},s8={connectKeystore:o8};export{$4 as validatePhrase,s8 as keystoreWallet,H4 as generatePhrase,C4 as encryptToKeyStore,F4 as decryptFromKeystore};
|
|
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 f6}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((A)=>A<16?`0${A.toString(16)}`:A.toString(16)).join("")},r6=(l,g,E,A,j)=>new Promise((S,H)=>{M5.pbkdf2(l,g,E,A,j,(V,k)=>{if(V)H(V);else S(k)})}),C4=async(l,g)=>{const E=M5.randomBytes(32),A=M5.randomBytes(16),j={c:262144,prf:"hmac-sha256",dklen:32,salt:E.toString("hex")},H=await r6(Buffer.from(g),E,j.c,j.dklen,"sha256"),V=M5.createCipheriv("aes-128-ctr",H.subarray(0,16),A),k=Buffer.concat([V.update(Buffer.from(l,"utf8")),V.final()]);return{meta:"xchain-keystore",version:1,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:A.toString("hex")},ciphertext:k.toString("hex"),kdf:"pbkdf2",kdfparams:j,mac:n6(Buffer.concat([H.subarray(16,32),Buffer.from(k)]))}}},H4=(l=12)=>{return _8(f6,l===12?128:256)},$4=(l)=>{return w8(l,f6)},F4=async(l,g)=>{switch(l.version){case 1:{const E=l.crypto.kdfparams,A=await r6(Buffer.from(g),Buffer.from(E.salt,"hex"),E.c,E.dklen,"sha256"),j=Buffer.from(l.crypto.ciphertext,"hex");if(n6(Buffer.concat([A.subarray(16,32),j]))!==l.crypto.mac)throw new Error("Invalid password");const H=M5.createDecipheriv(l.crypto.cipher,A.subarray(0,16),Buffer.from(l.crypto.cipherparams.iv,"hex"));return Buffer.concat([H.update(j),H.final()]).toString("utf8")}default:throw new Error("Unsupported keystore version")}};import{Chain as V5,DerivationPath as p8,RPCUrl as b8,WalletOption as c8,derivationPathToString as d8,ensureEVMApiKeys as l8,setRequestClientConfig as h8}from"@swapkit/helpers";function o8({addChain:l,apis:g,rpcUrls:E,config:{thorswapApiKey:A,covalentApiKey:j,ethplorerApiKey:S,blockchairApiKey:H,stagenet:V}}){return async function k(z,P,Z){h8({apiKey:A});const T=z.map(async(D)=>{const U=typeof Z==="object"&&Z[D]?d8(Z[D]):`${p8[D]}/${Z||0}`,{address:N,walletMethods:I}=await u8({derivationPath:U,chain:D,api:g[D],rpcUrl:E[D],covalentApiKey:j,ethplorerApiKey:S,phrase:P,blockchairApiKey:H,stagenet:V});l({...I,chain:D,address:N,balance:[],walletType:c8.KEYSTORE})});return await Promise.all(T),!0}}var u8=async({api:l,rpcUrl:g,chain:E,phrase:A,ethplorerApiKey:j,covalentApiKey:S,blockchairApiKey:H,derivationPath:V,stagenet:k})=>{switch(E){case V5.BinanceSmartChain:case V5.Arbitrum:case V5.Optimism:case V5.Polygon:case V5.Avalanche:case V5.Ethereum:{const{HDNodeWallet:z,getProvider:P,getToolboxByChain:Z}=await import("@swapkit/toolbox-evm"),T=l8({chain:E,covalentApiKey:S,ethplorerApiKey:j}),D=P(E,g),U=z.fromPhrase(A).connect(D),N={...T,api:l,provider:D,signer:U};return{address:U.address,walletMethods:Z(E)(N)}}case V5.BitcoinCash:{let D=function({builder:N,utxos:I}){return I.forEach((M,x)=>{N.sign(x,Z,void 0,65,M.witnessUtxo.value)}),N.build()};const{BCHToolbox:z}=await import("@swapkit/toolbox-utxo"),P=z({rpcUrl:g,apiKey:H,apiClient:l}),Z=await P.createKeysForPath({phrase:A,derivationPath:V}),T=P.getAddressFromKeys(Z),U={...P,transfer:(N)=>P.transfer({...N,from:T,signTransaction:D})};return{address:T,walletMethods:U}}case V5.Bitcoin:case V5.Dash:case V5.Dogecoin:case V5.Litecoin:{const{getToolboxByChain:z}=await import("@swapkit/toolbox-utxo"),P=z(E)({rpcUrl:g,apiKey:H,apiClient:l}),Z=P.createKeysForPath({phrase:A,derivationPath:V}),T=P.getAddressFromKeys(Z);return{address:T,walletMethods:{...P,transfer:(D)=>P.transfer({...D,from:T,signTransaction:(U)=>U.signAllInputs(Z)})}}}case V5.Cosmos:case V5.Kujira:{const{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),P=z(E)({server:l,stagenet:k});return{address:await P.getAddressFromMnemonic(A),walletMethods:P}}case V5.Maya:case V5.THORChain:{const{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),P=z(E)({server:l,stagenet:k}),Z=await P.getSigner(A),T=await P.getAddressFromMnemonic(A);return{address:T,walletMethods:{...P,deposit:({assetValue:D,memo:U})=>P.deposit({assetValue:D,memo:U,from:T,signer:Z}),transfer:(D)=>P.transfer({...D,from:T,signer:Z}),signMessage:async(D)=>{const U=await P.createPrivateKeyFromPhrase(A);return P.signWithPrivateKey({privateKey:U,message:D})}}}}case V5.Polkadot:case V5.Chainflip:{const{Network:z,getToolboxByChain:P,createKeyring:Z}=await import("@swapkit/toolbox-substrate"),T=await Z(A,z[E].prefix),D=await P(E,{signer:T});return{address:T.address,walletMethods:D}}case V5.Radix:{const{getRadixCoreApiClient:z,RadixToolbox:P,createPrivateKey:Z,RadixMainnet:T}=await import("@swapkit/toolbox-radix"),D=await z(b8.Radix,T),U=await Z(A),N=await P({api:D,signer:U});return{address:N.getAddress(),walletMethods:N}}case V5.Solana:{const{SOLToolbox:z}=await import("@swapkit/toolbox-solana"),P=z({rpcUrl:g}),Z=P.createKeysForPath({phrase:A,derivationPath:V});return{address:P.getAddressFromKeys(Z),walletMethods:{...P,transfer:(T)=>P.transfer({...T,fromKeypair:Z})}}}default:throw new Error(`Unsupported chain ${E}`)}},s8={connectKeystore:o8};export{$4 as validatePhrase,s8 as keystoreWallet,H4 as generatePhrase,C4 as encryptToKeyStore,F4 as decryptFromKeystore};
|
|
12
12
|
|
|
13
|
-
//# debugId=
|
|
13
|
+
//# debugId=C8089CC3AA00D31D64756E2164756E21
|