Socket
Socket
Sign inDemoInstall

liquidjs-lib

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

liquidjs-lib - npm Package Compare versions

Comparing version 6.0.2-liquid.1 to 6.0.2-liquid.2

2

package.json
{
"name": "liquidjs-lib",
"version": "6.0.2-liquid.1",
"version": "6.0.2-liquid.2",
"description": "Client-side Liquid JavaScript library",

@@ -5,0 +5,0 @@ "main": "./src/index.js",

@@ -16,2 +16,3 @@ /// <reference types="node" />

version: number;
[key: string]: any;
}

@@ -50,9 +51,8 @@ /**

/**
* Returns an Issuance object for issuance transaction input.
* @param assetAmount the number of asset to issue.
* @param tokenAmount the number of token to issue.
* @param precision the number of digit after the decimal point (8 for satoshi).
* Returns an unblinded Issuance object for issuance transaction input.
* @param assetSats the number of asset to issue.
* @param tokenSats the number of token to issue.
* @param contract the asset ricarding contract of the issuance.
*/
export declare function newIssuance(assetAmount: number, tokenAmount: number, precision?: number, contract?: IssuanceContract): Issuance;
export declare function newIssuance(assetSats: number, tokenSats: number, contract?: IssuanceContract): Issuance;
export declare function isReissuance(issuance: Issuance): boolean;

@@ -82,12 +82,7 @@ /**

/**
* converts asset amount to confidential value.
* converts asset amount to satoshis.
* satoshis = assetAmount * 10^precision
* @param assetAmount the asset amount.
* @param precision the precision, 8 by default.
* @param precision the precision, 8 by default (like L-BTC).
*/
export declare function toConfidentialAssetAmount(assetAmount: number, precision?: number): Buffer;
/**
* converts token amount to confidential value.
* @param assetAmount the token amount.
* @param precision the precision, 8 by default.
*/
export declare function toConfidentialTokenAmount(tokenAmount: number, precision?: number): Buffer;
export declare function amountWithPrecisionToSatoshis(assetAmount: number, precision?: number): number;

@@ -47,3 +47,3 @@ 'use strict';

Object.defineProperty(exports, '__esModule', { value: true });
exports.toConfidentialTokenAmount = exports.toConfidentialAssetAmount = exports.calculateReissuanceToken = exports.calculateAsset = exports.issuanceEntropyFromInput = exports.generateEntropy = exports.isReissuance = exports.newIssuance = exports.hashContract = exports.validateIssuanceContract = exports.hasTokenAmount = void 0;
exports.amountWithPrecisionToSatoshis = exports.calculateReissuanceToken = exports.calculateAsset = exports.issuanceEntropyFromInput = exports.generateEntropy = exports.isReissuance = exports.newIssuance = exports.hashContract = exports.validateIssuanceContract = exports.hasTokenAmount = void 0;
const bufferutils_1 = require('./bufferutils');

@@ -78,11 +78,9 @@ const confidential_1 = require('./confidential');

throw new Error('Invalid asset contract');
const constractJSON = `{"entity":{"domain":"${
contract.entity.domain
}"},"issuer_pubkey":"${contract.issuer_pubkey}","name":"${
contract.name
}","precision":${contract.precision},"ticker":"${
contract.ticker
}","version":${contract.version}}`;
const sortedKeys = Object.keys(contract).sort();
const sortedContract = sortedKeys.reduce(
(obj, key) => ({ ...obj, [key]: contract[key] }),
{},
);
return bcrypto
.sha256(Buffer.from(constractJSON))
.sha256(Buffer.from(JSON.stringify(sortedContract)))
.slice()

@@ -93,21 +91,20 @@ .reverse();

/**
* Returns an Issuance object for issuance transaction input.
* @param assetAmount the number of asset to issue.
* @param tokenAmount the number of token to issue.
* @param precision the number of digit after the decimal point (8 for satoshi).
* Returns an unblinded Issuance object for issuance transaction input.
* @param assetSats the number of asset to issue.
* @param tokenSats the number of token to issue.
* @param contract the asset ricarding contract of the issuance.
*/
function newIssuance(assetAmount, tokenAmount, precision = 8, contract) {
if (assetAmount < 0) throw new Error('Invalid asset amount');
if (tokenAmount < 0) throw new Error('Invalid token amount');
if (precision < 0 || precision > 8) throw new Error('Invalid precision');
let contractHash = Buffer.alloc(32);
if (contract) {
if (contract.precision !== precision)
throw new Error('precision is not equal to the asset contract precision');
contractHash = hashContract(contract);
}
const iss = {
assetAmount: toConfidentialAssetAmount(assetAmount, precision),
tokenAmount: toConfidentialTokenAmount(tokenAmount, precision),
function newIssuance(assetSats, tokenSats, contract) {
if (assetSats < 0) throw new Error('Invalid asset amount');
if (tokenSats < 0) throw new Error('Invalid token amount');
const contractHash = contract ? hashContract(contract) : Buffer.alloc(32);
const issuanceObject = {
assetAmount:
assetSats === 0
? Buffer.of(0x00)
: (0, confidential_1.satoshiToConfidentialValue)(assetSats),
tokenAmount:
tokenSats === 0
? Buffer.of(0x00)
: (0, confidential_1.satoshiToConfidentialValue)(tokenSats),
assetBlindingNonce: Buffer.alloc(32),

@@ -117,3 +114,3 @@ // in case of issuance, the asset entropy = the contract hash.

};
return iss;
return issuanceObject;
}

@@ -188,20 +185,10 @@ exports.newIssuance = newIssuance;

/**
* converts asset amount to confidential value.
* converts asset amount to satoshis.
* satoshis = assetAmount * 10^precision
* @param assetAmount the asset amount.
* @param precision the precision, 8 by default.
* @param precision the precision, 8 by default (like L-BTC).
*/
function toConfidentialAssetAmount(assetAmount, precision = 8) {
const amount = Math.pow(10, precision) * assetAmount;
return (0, confidential_1.satoshiToConfidentialValue)(amount);
function amountWithPrecisionToSatoshis(assetAmount, precision = 8) {
return Math.pow(10, precision) * assetAmount;
}
exports.toConfidentialAssetAmount = toConfidentialAssetAmount;
/**
* converts token amount to confidential value.
* @param assetAmount the token amount.
* @param precision the precision, 8 by default.
*/
function toConfidentialTokenAmount(tokenAmount, precision = 8) {
if (tokenAmount === 0) return Buffer.from('00', 'hex');
return toConfidentialAssetAmount(tokenAmount, precision);
}
exports.toConfidentialTokenAmount = toConfidentialTokenAmount;
exports.amountWithPrecisionToSatoshis = amountWithPrecisionToSatoshis;

@@ -11,7 +11,6 @@ /// <reference types="node" />

export interface AddIssuanceArgs {
assetAmount: number;
assetAddress: string;
tokenAmount: number;
assetSats: number;
assetAddress?: string;
tokenSats: number;
tokenAddress?: string;
precision: number;
contract?: IssuanceContract;

@@ -26,7 +25,6 @@ blindedIssuance?: boolean;

entropy: Buffer;
assetAmount: number;
assetSats: number;
assetAddress: string;
tokenAmount: number;
tokenSats: number;
tokenAddress: string;
precision: number;
blindedIssuance?: boolean;

@@ -33,0 +31,0 @@ }

@@ -13,3 +13,3 @@ /// <reference types="node" />

export interface IssuanceBlindingKeys {
assetKey: Buffer;
assetKey?: Buffer;
tokenKey?: Buffer;

@@ -16,0 +16,0 @@ }

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc