
Research
Namastex.ai npm Packages Hit with TeamPCP-Style CanisterWorm Malware
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.
@bitauth/libauth
Advanced tools
An ultra-lightweight JavaScript library for Bitcoin Cash, Bitcoin, and Bitauth applications.
An ultra-lightweight JavaScript library for Bitcoin Cash, Bitcoin, and Bitauth applications.
Libauth has no dependencies and works in all JavaScript environments, including Node.js, Deno, and browsers.
Libauth is designed to be flexible, lightweight, and easily auditable. Rather than providing a single, overarching, object-oriented API, all functionality is composed from simple functions. This has several benefits:
To get started, install @bitauth/libauth:
npm install @bitauth/libauth
# OR
yarn add @bitauth/libauth
And import the functionality you need:
import { secp256k1 } from '@bitauth/libauth';
import { msgHash, pubkey, sig } from 'somewhere';
secp256k1.verifySignatureDERLowS(sig, pubkey, msgHash)
? console.log('🚀 Signature valid')
: console.log('❌ Signature invalid');
See Installation for more guidance on getting set up.
These guides introduce some of the high-level concepts and functionality provided by Libauth.
In addition to the usage examples in these guides, note that Libauth includes comprehensive tests that can help demonstrate usage of all functionality.
For example, utilities related to hexadecimal-encoded strings are defined in hex.ts; for thorough usage examples, see the co-located hex.spec.ts. You can also use GitHub search to see how a particular utility is used throughout the library, e.g. splitEvery.
Below is a partial selection of functionality provided by Libauth. If you're looking for something else, be sure to search the API Reference.
High-level utilities are composed from lower-level utilities which are also exported, so it's often possible to remix behavior in your own codebase with relatively little duplication or maintenance burden. See the Defined in ... link on each utility's API reference page to review and copy the implementation.
encodeBase58Address/decodeBase58AddressencodeBase58AddressFormat/decodeBase58AddressFormatlockingBytecodeToBase58Address/base58AddressToLockingBytecodeencodeCashAddress/decodeCashAddresslockingBytecodeToCashAddress/cashAddressToLockingBytecodedecodeCashAddressFormatWithoutPrefixencodeCashAddressVersionByte/decodeCashAddressVersionByteattemptCashAddressFormatErrorCorrectionencodeCashAddressFormat/decodeCashAddressFormatencodeCashAddressNonStandard/decodeCashAddressNonStandardhash160 (sha256 -> ripemd160)hash256 (sha256 -> sha256)hmacSha256hmacSha512instantiateHmacFunctioninstantiatePbkdf2Functionpbkdf2HmacSha256pbkdf2HmacSha512ripemd160secp256k1sha1sha256sha51200101010)bigIntToBinUint256BEClamped/binToBigIntUint256BEbigIntToBinUint64LE(bigIntToBinUint64LEClamped)/binToBigIntUint64LEbigIntToBinUintLE/binToBigIntUintLEbinToBigIntUintBE/bigIntToBinUintBEint32SignedToUnsigned/int32UnsignedToSignednumberToBinInt16LE/binToNumberInt16LEnumberToBinInt32LE/binToNumberInt32LEnumberToBinInt32TwosComplimentnumberToBinUintLE/binToNumberUintLEnumberToBinUint16BEnumberToBinUint16LE(numberToBinUint16LEClamped)/binToNumberUint16LEnumberToBinUint32BEnumberToBinUint32LE(numberToBinUint32LEClamped)/binToNumberUint32LEcompactUintToBigInt/bigIntToCompactUintcompactUintPrefixToSizereadCompactUintreadCompactUintMinimalcrackHdPrivateNodeFromHdPublicNodeAndChildPrivateNodedecodeHdKey (decodeHdKeyUnchecked)decodeHdPrivateKey/encodeHdPrivateKeydecodeHdPublicKey/encodeHdPrivateKeyderiveHdPathderiveHdPathRelativederiveHdPrivateNodeFromSeedderiveHdPrivateNodeIdentifier/deriveHdPublicNodeIdentifierderiveHdPrivateNodeChild/deriveHdPublicNodeChildderiveHdPublicKeyderiveHdPublicNodehdKeyVersionIsPrivateKey/hdKeyVersionIsPublicKeyhdPrivateKeyToIdentifier/hdPublicKeyToIdentifierderiveHdPrivateNodeFromBip39MnemonicderiveSeedFromBip39MnemonicencodeBip39Mnemonic/decodeBip39MnemonicgenerateBip39MnemonicgenerateDeterministicEntropygenerateHdPrivateNodegeneratePrivateKeygenerateRandomBytesgenerateRandomSeedminimumEventsPerEntropyBitsshannonEntropyPerEventvalidateSecp256k1PrivateKeyreadBytesreadCompactUintPrefixedBinreadRemainingBytesreadUint32LEreadUint64LEreadMultiplereadItemCountencodeTransaction/decodeTransaction (decodeTransactionUnsafe)encodeTransactionOutputs/decodeTransactionOutputshashTransactionhashTransactionP2pOrderhashTransactionUiOrderisArbitraryDataOutputisSimpleMultisigisStandardOutputBytecodeisStandardOutputBytecode2023isStandardMultisigisWitnessProgramcreateInstructionSetBCHcreateInstructionSetBCH2022createInstructionSetBCH2023createInstructionSetBCHCHIPscreateInstructionSetXECcreateVirtualMachinecreateVirtualMachineBCHcreateVirtualMachineBCH2022createVirtualMachineBCH2023createVirtualMachineBCHCHIPscreateVirtualMachineXECassembleBytecodeassembleBytecodeBCHassembleBytecodeBTCdisassembleBytecodedisassembleBytecodeBCHdisassembleBytecodeBTCgenerateBytecodeMapsummarizeDebugTracestringifyDebugTraceSummarysummarizeStackcombineOperationsmapOverOperationspushToStackpushToStackCheckedpushToStackVmNumberpushToStackVmNumberCheckeduseOneStackItemuseTwoStackItemsuseThreeStackItemsuseFourStackItemsuseSixStackItemsuseOneVmNumberuseTwoVmNumbersuseThreeVmNumbersallErrorsAreRecoverablecashAssemblyToBincompileScriptcontainsRangecreateCompilerextractBytecodeResolutionsextractEvaluationSamplesextractEvaluationSamplesRecursiveextractUnexecutedRangesgetResolutionErrorsmergeRangesparseScriptresolveVariableIdentifierstringifyErrorsverifyCashAssemblyEvaluationStatewalletTemplateToCompilerConfigurationwalletTemplateToCompilerBCHhdPrivateKeyToP2pkhLockingBytecodehdPrivateKeyToP2pkhCashAddresshdPublicKeyToP2pkhLockingBytecodehdPublicKeyToP2pkhCashAddressprivateKeyToP2pkhLockingBytecodeprivateKeyToP2pkhCashAddresspublicKeyToP2pkhLockingBytecodepublicKeyToP2pkhCashAddressLibauth's test suite includes a set of cross-implementation Virtual Machine Bytecode (VMB) test vectors for each supported VM. See Libauth VMB Tests for details.
CashAssembly is the assembly language used by Libauth's Wallet Templates. To learn more about CashAssembly, read the Bitauth IDE Guide.
Pull Requests welcome! Please see CONTRIBUTING.md for details.
FAQs
ultra-lightweight library for Bitcoin Cash, Bitcoin, and Bitauth
The npm package @bitauth/libauth receives a total of 39,417 weekly downloads. As such, @bitauth/libauth popularity was classified as popular.
We found that @bitauth/libauth demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Malicious Namastex.ai npm packages appear to replicate TeamPCP-style Canister Worm tradecraft, including exfiltration and self-propagation.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.