Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
@asgardex-clients/bitcoin
Advanced tools
@thorchain/asgardex-bitcoin
Implements the following:
interface BitcoinClient {
generatePhrase(): string
setPhrase(phrase?: string): void
validatePhrase(phrase: string): boolean
purgeClient(): void
setNetwork(net: Network): void
getNetwork(net: Network): Bitcoin.networks.Network
setBaseUrl(endpoint: string): void
getAddress(): string
validateAddress(address: string): boolean
scanUTXOs(): Promise<void>
getBalance(): number
getBalanceForAddress(address?: string): Promise<number>
getTransactions(address: string): Promise<Txs>
calcFees(memo?: string): Promise<object>
vaultTx(addressVault: string, valueOut: number, memo: string, feeRate: number): Promise<string>
normalTx(addressTo: string, valueOut: number, feeRate: number): Promise<string>
}
client
- Custom client for communicating with Bitcoin using BIP39 bitcoinjs-lib and WIFyarn add @thorchain/asgardex-bitcoin
Following dependencies will be installed into your project:
Uses a dotenv file to hold a USER_PHRASE
and a VAULT_PHRASE
Initialize client and use class methods:
import { Client, Network } from '../src/client'
const btcClient = new Client(Network.TEST)
const newPhrase = btcClient.generatePhrase()
Generate a 12 word BIP-39 seed phrase.
Return: string
phrase
)Loads a 12 word BIP-39 seed phrase to use as a BTC send/receive address.
phrase: 12 word BIP-39 seed phrase as string
Return: void
phrase
)Validates if provided phrase
is BIP-39.
phrase: 12 word BIP-39 seed phrase as string
Return: boolean
Clears UTXOs and seed phrase from client class properties.
Return: void
net
)Set testnet or mainnet network using the Network
interface.
net: Network.TEST
or Network.MAIN
Return: void
endpoint
)Set an electrs REST API endpoint to use for chain data.
endpoint: endpoint as string
Return: void
Gets a P2WPKH address using the seed phrase set in .setPhrase()
or initialization. If no phrase is set will error.
Return: string
address
)Validates if provided address
is p2wpkh and same network as the client.
address: string
Return: boolean
Async
Scans the UTXOs on the set seed phrase in .setPhrase()
and stores them in class properties.
Return: void
Get the balance of UTXOs from .scanUTXOs()
Return: number
in sats
address
)Async
Get the balance of UTXOs for an external address
address: string
Return: number
in sats
address
)Async
Get transactions for an address
address: string
Return: Array
of objects
memo
)Async
Calculates the fee rate and the fee total estimate for fast, regular, and slow transactions. Add a memo
for a vault TX
memo: string
optional
Return: object
of objects
addressVault
, valueOut
, memo
, feeRate
)Async
Generates a valid Vault TX hex to be broadcast
addressVault: string
valueOut: number
in sats
memo: string
feeRate: number
addressTo
, valueOut
, feeRate
)Async
Generates a valid Vault TX hex to be broadcast
addressTo: string
valueOut: number
in sats
feeRate: number
FAQs
Custom Bitcoin client and utilities used by ASGARDEX clients
The npm package @asgardex-clients/bitcoin receives a total of 1 weekly downloads. As such, @asgardex-clients/bitcoin popularity was classified as not popular.
We found that @asgardex-clients/bitcoin 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.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.