@swapkit/wallet-keystore 1.2.35 → 1.3.1

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 CHANGED
@@ -8,6 +8,6 @@ use chrome, FireFox or Internet Explorer 11`)}var E=d0(),A=g5(),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 c8,validateMnemonic as d8}from"@scure/bip39";import{wordlist as r6}from"@scure/bip39/wordlists/english";import{blake2bFinal as l8,blake2bInit as h8,blake2bUpdate as u8}from"blakejs";var i6=(l)=>{let g=l;if(!(g instanceof Buffer))g=Buffer.from(g,"hex");let E=h8(32);return u8(E,g),Array.from(l8(E)).map((A)=>A<16?`0${A.toString(16)}`:A.toString(16)).join("")},t6=(l,g,E,A,j)=>new Promise((S,H)=>{_5.pbkdf2(l,g,E,A,j,(P,k)=>{if(P)H(P);else S(k)})}),j4=async(l,g)=>{let E=_5.randomBytes(32),A=_5.randomBytes(16),j={c:262144,prf:"hmac-sha256",dklen:32,salt:E.toString("hex")},S="aes-128-ctr",H=await t6(Buffer.from(g),E,j.c,j.dklen,"sha256"),P=_5.createCipheriv("aes-128-ctr",H.subarray(0,16),A),k=Buffer.concat([P.update(Buffer.from(l,"utf8")),P.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:i6(Buffer.concat([H.subarray(16,32),Buffer.from(k)]))}}},P4=(l=12)=>{return c8(r6,l===12?128:256)},U4=(l)=>{return d8(l,r6)},V4=async(l,g)=>{switch(l.version){case 1:{let E=l.crypto.kdfparams,A=await t6(Buffer.from(g),Buffer.from(E.salt,"hex"),E.c,E.dklen,"sha256"),j=Buffer.from(l.crypto.ciphertext,"hex");if(i6(Buffer.concat([A.subarray(16,32),j]))!==l.crypto.mac)throw new Error("Invalid password");let H=_5.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 C5,NetworkDerivationPath as o8,RPCUrl as e6,WalletOption as s8,derivationPathToString as a8,ensureEVMApiKeys as f8,setRequestClientConfig as n8,updatedLastIndex as r8}from"@swapkit/helpers";var i8=async({api:l,rpcUrl:g,chain:E,phrase:A,ethplorerApiKey:j,covalentApiKey:S,blockchairApiKey:H,derivationPath:P,stagenet:k})=>{switch(E){case C5.Arbitrum:case C5.Avalanche:case C5.Base:case C5.BinanceSmartChain:case C5.Ethereum:case C5.Optimism:case C5.Polygon:{let{HDNodeWallet:z,getProvider:V,getToolboxByChain:$}=await import("@swapkit/toolbox-evm"),T=f8({chain:E,covalentApiKey:S,ethplorerApiKey:j}),D=V(E,g),U=z.fromPhrase(A).connect(D),N={...T,api:l,provider:D,signer:U};return{address:U.address,walletMethods:$(E)(N)}}case C5.BitcoinCash:{let D=function({builder:N,utxos:I}){return I.forEach((M,x)=>{N.sign(x,$,void 0,65,M.witnessUtxo.value)}),N.build()},{BCHToolbox:z}=await import("@swapkit/toolbox-utxo"),V=z({rpcUrl:g,apiKey:H,apiClient:l}),$=await V.createKeysForPath({phrase:A,derivationPath:P}),T=V.getAddressFromKeys($),U={...V,transfer:(N)=>V.transfer({...N,from:T,signTransaction:D})};return{address:T,walletMethods:U}}case C5.Bitcoin:case C5.Dash:case C5.Dogecoin:case C5.Litecoin:{let{getToolboxByChain:z}=await import("@swapkit/toolbox-utxo"),V=z(E)({rpcUrl:g,apiKey:H,apiClient:l}),$=V.createKeysForPath({phrase:A,derivationPath:P}),T=V.getAddressFromKeys($);return{address:T,walletMethods:{...V,transfer:(D)=>V.transfer({...D,from:T,signTransaction:(U)=>U.signAllInputs($)})}}}case C5.Cosmos:case C5.Kujira:{let{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),V=z(E)({server:l,stagenet:k}),$=await V.getAddressFromMnemonic(A),T=await V.getSigner(A);return{address:$,walletMethods:{...V,transfer:(U)=>V.transfer({...U,signer:T})}}}case C5.Maya:case C5.THORChain:{let{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),V=z(E)({server:l,stagenet:k}),$=await V.getSigner(A),T=await V.getAddressFromMnemonic(A);return{address:T,walletMethods:{...V,deposit:({assetValue:D,memo:U})=>V.deposit({assetValue:D,memo:U,from:T,signer:$}),transfer:(D)=>V.transfer({...D,from:T,signer:$}),signMessage:async(D)=>{let U=await V.createPrivateKeyFromPhrase(A);return V.signWithPrivateKey({privateKey:U,message:D})}}}}case C5.Polkadot:case C5.Chainflip:{let{Network:z,getToolboxByChain:V,createKeyring:$}=await import("@swapkit/toolbox-substrate"),T=await $(A,z[E].prefix),D=await V(E,{signer:T,providerUrl:E===C5.Polkadot?e6.Polkadot:e6.Chainflip});return{address:T.address,walletMethods:D}}case C5.Solana:{let{SOLToolbox:z}=await import("@swapkit/toolbox-solana"),V=z({rpcUrl:g}),$=V.createKeysForPath({phrase:A,derivationPath:P});return{address:V.getAddressFromKeys($),walletMethods:{...V,transfer:(T)=>V.transfer({...T,fromKeypair:$})}}}default:throw new Error(`Unsupported chain ${E}`)}};function t8({addChain:l,apis:g,rpcUrls:E,config:{thorswapApiKey:A,covalentApiKey:j,ethplorerApiKey:S,blockchairApiKey:H,stagenet:P}}){return async function k(z,V,$){n8({apiKey:A});let T=z.map(async(D)=>{let U=typeof $==="number"?$:0,N=$&&typeof $==="object"?$[D]:void 0,[I,M,x,v,y]=o8[D],p=N||r8(D===C5.Solana?[I,M,x,v]:[I,M,x,v,y],U),c=a8(p),{address:n,walletMethods:i}=await i8({derivationPath:c,chain:D,api:g[D],rpcUrl:E[D],covalentApiKey:j,ethplorerApiKey:S,phrase:V,blockchairApiKey:H,stagenet:P});l({...i,chain:D,address:n,balance:[],walletType:s8.KEYSTORE})});return await Promise.all(T),!0}}var e8={connectKeystore:t8};export{U4 as validatePhrase,e8 as keystoreWallet,P4 as generatePhrase,j4 as encryptToKeyStore,V4 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 c8,validateMnemonic as d8}from"@scure/bip39";import{wordlist as r6}from"@scure/bip39/wordlists/english";import{blake2bFinal as l8,blake2bInit as h8,blake2bUpdate as u8}from"blakejs";var i6=(l)=>{let g=l;if(!(g instanceof Buffer))g=Buffer.from(g,"hex");let E=h8(32);return u8(E,g),Array.from(l8(E)).map((A)=>A<16?`0${A.toString(16)}`:A.toString(16)).join("")},t6=(l,g,E,A,j)=>new Promise((S,H)=>{_5.pbkdf2(l,g,E,A,j,(P,k)=>{if(P)H(P);else S(k)})}),j4=async(l,g)=>{let E=_5.randomBytes(32),A=_5.randomBytes(16),j={c:262144,prf:"hmac-sha256",dklen:32,salt:E.toString("hex")},S="aes-128-ctr",H=await t6(Buffer.from(g),E,j.c,j.dklen,"sha256"),P=_5.createCipheriv("aes-128-ctr",H.subarray(0,16),A),k=Buffer.concat([P.update(Buffer.from(l,"utf8")),P.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:i6(Buffer.concat([H.subarray(16,32),Buffer.from(k)]))}}},P4=(l=12)=>{return c8(r6,l===12?128:256)},U4=(l)=>{return d8(l,r6)},V4=async(l,g)=>{switch(l.version){case 1:{let E=l.crypto.kdfparams,A=await t6(Buffer.from(g),Buffer.from(E.salt,"hex"),E.c,E.dklen,"sha256"),j=Buffer.from(l.crypto.ciphertext,"hex");if(i6(Buffer.concat([A.subarray(16,32),j]))!==l.crypto.mac)throw new Error("Invalid password");let H=_5.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 C5,NetworkDerivationPath as o8,WalletOption as s8,derivationPathToString as a8,ensureEVMApiKeys as f8,getRPCUrl as e6,setRequestClientConfig as n8,updatedLastIndex as r8}from"@swapkit/helpers";var i8=async({api:l,rpcUrl:g,chain:E,phrase:A,ethplorerApiKey:j,covalentApiKey:S,blockchairApiKey:H,derivationPath:P,stagenet:k})=>{switch(E){case C5.Arbitrum:case C5.Avalanche:case C5.Base:case C5.BinanceSmartChain:case C5.Ethereum:case C5.Optimism:case C5.Polygon:{let{HDNodeWallet:z,getProvider:V,getToolboxByChain:$}=await import("@swapkit/toolbox-evm"),T=f8({chain:E,covalentApiKey:S,ethplorerApiKey:j}),D=V(E,g),U=z.fromPhrase(A).connect(D),N={...T,api:l,provider:D,signer:U};return{address:U.address,walletMethods:$(E)(N)}}case C5.BitcoinCash:{let D=function({builder:N,utxos:I}){return I.forEach((M,x)=>{N.sign(x,$,void 0,65,M.witnessUtxo.value)}),N.build()},{BCHToolbox:z}=await import("@swapkit/toolbox-utxo"),V=z({rpcUrl:g,apiKey:H,apiClient:l}),$=await V.createKeysForPath({phrase:A,derivationPath:P}),T=V.getAddressFromKeys($),U={...V,transfer:(N)=>V.transfer({...N,from:T,signTransaction:D})};return{address:T,walletMethods:U}}case C5.Bitcoin:case C5.Dash:case C5.Dogecoin:case C5.Litecoin:{let{getToolboxByChain:z}=await import("@swapkit/toolbox-utxo"),V=z(E)({rpcUrl:g,apiKey:H,apiClient:l}),$=V.createKeysForPath({phrase:A,derivationPath:P}),T=V.getAddressFromKeys($);return{address:T,walletMethods:{...V,transfer:(D)=>V.transfer({...D,from:T,signTransaction:(U)=>U.signAllInputs($)})}}}case C5.Cosmos:case C5.Kujira:{let{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),V=z(E)({server:l,stagenet:k}),$=await V.getAddressFromMnemonic(A),T=await V.getSigner(A);return{address:$,walletMethods:{...V,transfer:(U)=>V.transfer({...U,signer:T})}}}case C5.Maya:case C5.THORChain:{let{getToolboxByChain:z}=await import("@swapkit/toolbox-cosmos"),V=z(E)({server:l,stagenet:k}),$=await V.getSigner(A),T=await V.getAddressFromMnemonic(A);return{address:T,walletMethods:{...V,deposit:({assetValue:D,memo:U})=>V.deposit({assetValue:D,memo:U,from:T,signer:$}),transfer:(D)=>V.transfer({...D,from:T,signer:$}),signMessage:async(D)=>{let U=await V.createPrivateKeyFromPhrase(A);return V.signWithPrivateKey({privateKey:U,message:D})}}}}case C5.Polkadot:case C5.Chainflip:{let{Network:z,getToolboxByChain:V,createKeyring:$}=await import("@swapkit/toolbox-substrate"),T=await $(A,z[E].prefix),D=await V(E,{signer:T,providerUrl:E===C5.Polkadot?e6(C5.Polkadot):e6(C5.Chainflip)});return{address:T.address,walletMethods:D}}case C5.Solana:{let{SOLToolbox:z}=await import("@swapkit/toolbox-solana"),V=z({rpcUrl:g}),$=V.createKeysForPath({phrase:A,derivationPath:P});return{address:V.getAddressFromKeys($),walletMethods:{...V,transfer:(T)=>V.transfer({...T,fromKeypair:$})}}}default:throw new Error(`Unsupported chain ${E}`)}};function t8({addChain:l,apis:g,rpcUrls:E,config:{thorswapApiKey:A,covalentApiKey:j,ethplorerApiKey:S,blockchairApiKey:H,stagenet:P}}){return async function k(z,V,$){n8({apiKey:A});let T=z.map(async(D)=>{let U=typeof $==="number"?$:0,N=$&&typeof $==="object"?$[D]:void 0,[I,M,x,v,y]=o8[D],p=N||r8(D===C5.Solana?[I,M,x,v]:[I,M,x,v,y],U),c=a8(p),{address:n,walletMethods:i}=await i8({derivationPath:c,chain:D,api:g[D],rpcUrl:E[D],covalentApiKey:j,ethplorerApiKey:S,phrase:V,blockchairApiKey:H,stagenet:P});l({...i,chain:D,address:n,balance:[],walletType:s8.KEYSTORE})});return await Promise.all(T),!0}}var e8={connectKeystore:t8};export{U4 as validatePhrase,e8 as keystoreWallet,P4 as generatePhrase,j4 as encryptToKeyStore,V4 as decryptFromKeystore};
12
12
 
13
- //# debugId=5BE84B3ED1FAD49A64756E2164756E21
13
+ //# debugId=143425A99C99D93864756E2164756E21