New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sbtc-bridge-lib

Package Overview
Dependencies
Maintainers
1
Versions
127
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sbtc-bridge-lib - npm Package Compare versions

Comparing version 1.0.96 to 1.0.97

6

dist/deposit_utils.d.ts

@@ -7,3 +7,3 @@ import * as btc from '@scure/btc-signer';

/**
* buildOpReturnDepositTransaction:Transaction
* buildDepositTransaction:Transaction
* @param network (devnet|testnet|mainnet)

@@ -16,3 +16,3 @@ * @param uiPayload:DepositPayloadUIType

*/
export declare function buildOpReturnDepositTransaction(network: string, uiPayload: DepositPayloadUIType, btcFeeRates: any, addressInfo: any): Transaction;
export declare function buildDepositTransaction(network: string, uiPayload: DepositPayloadUIType, btcFeeRates: any, addressInfo: any): Transaction;
/**

@@ -26,3 +26,3 @@ * @param network

*/
export declare function buildOpDropDepositTransaction(network: string, uiPayload: DepositPayloadUIType, btcFeeRates: any, addressInfo: any, commitTxAddress: string): btc.Transaction;
export declare function buildDepositTransactionOpDrop(network: string, uiPayload: DepositPayloadUIType, btcFeeRates: any, addressInfo: any, commitTxAddress: string): btc.Transaction;
export declare function getOpReturnDepositRequest(network: string, uiPayload: DepositPayloadUIType, originator: string): BridgeTransactionType;

@@ -29,0 +29,0 @@ export declare function getOpDropDepositRequest(network: string, uiPayload: DepositPayloadUIType, originator: string): BridgeTransactionType;

@@ -5,3 +5,3 @@ import * as btc from '@scure/btc-signer';

import { hex } from '@scure/base';
import { toStorable, buildDepositPayload } from './payload_utils.js';
import { toStorable, buildDepositPayload, buildDepositPayloadOpDrop } from './payload_utils.js';
import { addInputs, getPegWalletAddressFromPublicKey, inputAmt } from './wallet_utils.js';

@@ -13,3 +13,3 @@ const concat = P.concatBytes;

/**
* buildOpReturnDepositTransaction:Transaction
* buildDepositTransaction:Transaction
* @param network (devnet|testnet|mainnet)

@@ -22,7 +22,6 @@ * @param uiPayload:DepositPayloadUIType

*/
export function buildOpReturnDepositTransaction(network, uiPayload, btcFeeRates, addressInfo) {
export function buildDepositTransaction(network, uiPayload, btcFeeRates, addressInfo) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
const sbtcWalletAddress = getPegWalletAddressFromPublicKey(network, uiPayload.sbtcWalletPublicKey);
//const data = buildDepositPayloadOpReturn(network, uiPayload.principal);
const data = buildDepositPayload(network, 0, uiPayload.principal, false, undefined);
const data = buildDepositPayload(network, uiPayload.principal);
const txFees = calculateDepositFees(network, false, uiPayload.amountSats, btcFeeRates.feeInfo, addressInfo, sbtcWalletAddress, data);

@@ -47,3 +46,3 @@ const tx = new btc.Transaction({ allowUnknowInput: true, allowUnknowOutput: true, allowUnknownInputs: true, allowUnknownOutputs: true });

*/
export function buildOpDropDepositTransaction(network, uiPayload, btcFeeRates, addressInfo, commitTxAddress) {
export function buildDepositTransactionOpDrop(network, uiPayload, btcFeeRates, addressInfo, commitTxAddress) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;

@@ -74,3 +73,3 @@ const txFees = calculateDepositFees(network, true, uiPayload.amountSats, btcFeeRates.feeInfo, addressInfo, commitTxAddress, undefined);

const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
const data = buildData(network, uiPayload.principal, uiPayload.amountSats, true);
const data = buildData(network, uiPayload.principal, uiPayload.amountSats);
const scripts = [

@@ -94,9 +93,4 @@ { script: btc.Script.encode([data, 'DROP', hex.decode(uiPayload.sbtcWalletPublicKey), 'CHECKSIG']) },

}
function buildData(network, sigOrPrin, revealFee, opDrop) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
if (opDrop) {
return buildDepositPayload(net, revealFee, sigOrPrin, opDrop, undefined);
}
return buildDepositPayload(net, revealFee, sigOrPrin, opDrop, undefined);
//Alpha: return buildDepositPayloadOpReturn(net, sigOrPrin);
function buildData(network, sigOrPrin, revealFee) {
return buildDepositPayloadOpDrop(network, sigOrPrin, revealFee);
}

@@ -103,0 +97,0 @@ export function maxCommit(addressInfo) {

import { getParametersForProof, headerHex, hashPair, getLeafNodeDirectionInMerkleTree, generateMerkleRoot, generateMerkleTree, generateMerkleProof, ensureEven } from './proofs/merkle_utils.js';
export { getParametersForProof, headerHex, hashPair, getLeafNodeDirectionInMerkleTree, generateMerkleRoot, generateMerkleTree, generateMerkleProof, ensureEven };
import { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable } from './payload_utils.js';
export { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable };
import { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildDepositPayloadOpDrop, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable } from './payload_utils.js';
export { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildDepositPayloadOpDrop, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable };
import { buildRevealOrReclaimTransaction } from './reveal_utils.js';
export { buildRevealOrReclaimTransaction };
import { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildOpReturnDepositTransaction, buildOpDropDepositTransaction } from './deposit_utils.js';
export { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildOpReturnDepositTransaction, buildOpDropDepositTransaction };
import { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildDepositTransaction, buildDepositTransactionOpDrop } from './deposit_utils.js';
export { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildDepositTransaction, buildDepositTransactionOpDrop };
import { calculateWithdrawFees, getWithdrawScript, getOpDropWithdrawRequest, getOpReturnWithdrawRequest, buildOpDropWithdrawTransaction, buildOpReturnWithdrawTransaction } from './withdraw_utils.js';

@@ -10,0 +10,0 @@ export { calculateWithdrawFees, getWithdrawScript, getOpDropWithdrawRequest, getOpReturnWithdrawRequest, buildOpDropWithdrawTransaction, buildOpReturnWithdrawTransaction };

import { getParametersForProof, headerHex, hashPair, getLeafNodeDirectionInMerkleTree, generateMerkleRoot, generateMerkleTree, generateMerkleProof, ensureEven } from './proofs/merkle_utils.js';
export { getParametersForProof, headerHex, hashPair, getLeafNodeDirectionInMerkleTree, generateMerkleRoot, generateMerkleTree, generateMerkleProof, ensureEven };
import { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable } from './payload_utils.js';
export { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable };
import { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildDepositPayloadOpDrop, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable } from './payload_utils.js';
export { MAGIC_BYTES_TESTNET, MAGIC_BYTES_MAINNET, PEGIN_OPCODE, PEGOUT_OPCODE, parseDepositPayload, parsePayloadFromTransaction, buildDepositPayload, buildDepositPayloadOpDrop, buildWithdrawalPayload, parseWithdrawalPayload, amountToBigUint64, bigUint64ToAmount, getDataToSign, getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, readDepositValue, fromStorable, toStorable };
import { buildRevealOrReclaimTransaction } from './reveal_utils.js';
export { buildRevealOrReclaimTransaction };
import { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildOpReturnDepositTransaction, buildOpDropDepositTransaction } from './deposit_utils.js';
export { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildOpReturnDepositTransaction, buildOpDropDepositTransaction };
import { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildDepositTransaction, buildDepositTransactionOpDrop } from './deposit_utils.js';
export { maxCommit, calculateDepositFees, getOpDropDepositRequest, getOpReturnDepositRequest, buildDepositTransaction, buildDepositTransactionOpDrop };
import { calculateWithdrawFees, getWithdrawScript, getOpDropWithdrawRequest, getOpReturnWithdrawRequest, buildOpDropWithdrawTransaction, buildOpReturnWithdrawTransaction } from './withdraw_utils.js';

@@ -10,0 +10,0 @@ export { calculateWithdrawFees, getWithdrawScript, getOpDropWithdrawRequest, getOpReturnWithdrawRequest, buildOpDropWithdrawTransaction, buildOpReturnWithdrawTransaction };

@@ -23,22 +23,7 @@ import type { PayloadType } from './types/sbtc_types.js';

}
export declare function buildDepositPayload(network: string, stacksAddress: string): Uint8Array;
export declare function buildDepositPayloadOpDrop(network: string, stacksAddress: string, revealFee: number): Uint8Array;
/**
*
* @param net
* @param address
* @returns
*/
export declare function buildDepositPayloadOpReturn(net: any, address: string): Uint8Array;
/**
*
* @param net
* @param amountSats
* @param address
* @param opDrop
* @param memo
* @returns
*/
export declare function buildDepositPayload(net: any, amountSats: number, address: string, opDrop: boolean, memo: string | undefined): Uint8Array;
/**
*
* @param net
* @param amount

@@ -45,0 +30,0 @@ * @param signature

@@ -174,30 +174,10 @@ import * as secp from '@noble/secp256k1';

})(PrincipalType || (PrincipalType = {}));
/**
*
* @param net
* @param address
* @returns
*/
export function buildDepositPayloadOpReturn(net, address) {
const magicBuf = (typeof net === 'object' && net.bech32 === 'tb') ? hex.decode(MAGIC_BYTES_TESTNET) : hex.decode(MAGIC_BYTES_MAINNET);
const opCodeBuf = hex.decode(PEGIN_OPCODE);
const addr = c32addressDecode(address.split('.')[0]);
const addr0Buf = hex.decode(addr[0].toString(16));
const addr1Buf = hex.decode(addr[1]);
const cnameLength = new Uint8Array(1);
const principalType = (address.indexOf('.') > -1) ? hex.decode(PrincipalType.CONTRACT.valueOf()) : hex.decode(PrincipalType.STANDARD.valueOf());
let buf1 = concat(opCodeBuf, addr0Buf, addr1Buf);
if (address.indexOf('.') > -1) {
const cnameBuf = new TextEncoder().encode(address.split('.')[1]);
const cnameLen = hex.decode(cnameBuf.length.toString(8));
if (cnameBuf.length > 40)
throw new Error('Contract name is too long - max 40 characters');
buf1 = concat(buf1, cnameLen, cnameBuf);
}
else {
cnameLength.fill(0);
buf1 = concat(buf1, cnameLength);
}
return concat(magicBuf, buf1);
export function buildDepositPayload(network, stacksAddress) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
return buildDepositPayloadInternal(net, 0, stacksAddress, false);
}
export function buildDepositPayloadOpDrop(network, stacksAddress, revealFee) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
return buildDepositPayloadInternal(net, revealFee, stacksAddress, true);
}
/**

@@ -212,3 +192,3 @@ *

*/
export function buildDepositPayload(net, amountSats, address, opDrop, memo) {
function buildDepositPayloadInternal(net, amountSats, address, opDrop) {
const magicBuf = (typeof net === 'object' && net.bech32 === 'tb') ? hex.decode(MAGIC_BYTES_TESTNET) : hex.decode(MAGIC_BYTES_MAINNET);

@@ -215,0 +195,0 @@ const opCodeBuf = hex.decode(PEGIN_OPCODE);

@@ -5,3 +5,3 @@ import * as secp from '@noble/secp256k1';

import * as P from 'micro-packed';
import { buildDepositPayload } from './payload_utils.js';
import { buildDepositPayloadOpDrop } from './payload_utils.js';
const concat = P.concatBytes;

@@ -41,3 +41,3 @@ const privKey = hex.decode('0101010101010101010101010101010101010101010101010101010101010101');

throw new Error('No confirmed UTXOs');
const data = buildDepositPayload(net, 1000, 'ST1NXBK3K5YYMD6FD41MVNP3JS1GABZ8TRVX023PT', true, undefined);
const data = buildDepositPayloadOpDrop(network, 'ST1NXBK3K5YYMD6FD41MVNP3JS1GABZ8TRVX023PT', 1000);
tx.addOutput({ script: btc.Script.encode(['RETURN', data]), amount: BigInt(0) });

@@ -44,0 +44,0 @@ //tx.addOutput({ script: btc.OutScript.encode(btc.Address(net).decode(payeeAddress)), amount });

{
"name": "sbtc-bridge-lib",
"version": "1.0.96",
"version": "1.0.97",
"description": "Library for sBTC Bridge web client and API apps ",

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

@@ -39,3 +39,3 @@ # SBTC SDK Documentation

##### buildOpReturnDepositTransaction
##### buildDepositTransaction

@@ -51,3 +51,3 @@ Builds the PSBT the user signs to initiate deposit via op_return

##### buildOpDropDepositTransaction
##### buildDepositTransactionOpDrop

@@ -93,7 +93,13 @@ Builds the PSBT the user signs to initiate deposit via op_drop

- @param network
- @param stacksAddress
- @returns Uint8Array
##### buildDepositPayloadOpDrop
Builds the data to be transmitted in a deposit request via op_drop mechanism
- @param net
- @param amountSats
- @param address
- @param opDrop
- @param memo
- @param stacksAddress
- @param revealFee
- @returns Uint8Array

@@ -100,0 +106,0 @@

@@ -7,3 +7,3 @@ import * as btc from '@scure/btc-signer';

import type { BridgeTransactionType, DepositPayloadUIType, UTXO } from './types/sbtc_types.js'
import { toStorable, buildDepositPayload } from './payload_utils.js'
import { toStorable, buildDepositPayload, buildDepositPayloadOpDrop } from './payload_utils.js'
import { addInputs, getPegWalletAddressFromPublicKey, inputAmt } from './wallet_utils.js';

@@ -18,3 +18,3 @@

/**
* buildOpReturnDepositTransaction:Transaction
* buildDepositTransaction:Transaction
* @param network (devnet|testnet|mainnet)

@@ -27,7 +27,6 @@ * @param uiPayload:DepositPayloadUIType

*/
export function buildOpReturnDepositTransaction(network:string, uiPayload:DepositPayloadUIType, btcFeeRates:any, addressInfo:any):Transaction {
export function buildDepositTransaction(network:string, uiPayload:DepositPayloadUIType, btcFeeRates:any, addressInfo:any):Transaction {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
const sbtcWalletAddress = getPegWalletAddressFromPublicKey(network, uiPayload.sbtcWalletPublicKey)
//const data = buildDepositPayloadOpReturn(network, uiPayload.principal);
const data = buildDepositPayload(network, 0, uiPayload.principal, false, undefined);
const data = buildDepositPayload(network, uiPayload.principal);

@@ -53,3 +52,3 @@ const txFees = calculateDepositFees(network, false, uiPayload.amountSats, btcFeeRates.feeInfo, addressInfo, sbtcWalletAddress!, data)

*/
export function buildOpDropDepositTransaction (network:string, uiPayload:DepositPayloadUIType, btcFeeRates:any, addressInfo:any, commitTxAddress:string) {
export function buildDepositTransactionOpDrop (network:string, uiPayload:DepositPayloadUIType, btcFeeRates:any, addressInfo:any, commitTxAddress:string) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;

@@ -82,3 +81,3 @@ const txFees = calculateDepositFees(network, true, uiPayload.amountSats, btcFeeRates.feeInfo, addressInfo, commitTxAddress, undefined)

const data = buildData(network, uiPayload.principal, uiPayload.amountSats, true);
const data = buildData(network, uiPayload.principal, uiPayload.amountSats);
const scripts = [

@@ -103,9 +102,4 @@ { script: btc.Script.encode([data, 'DROP', hex.decode(uiPayload.sbtcWalletPublicKey), 'CHECKSIG']) },

function buildData (network:string, sigOrPrin:string, revealFee:number, opDrop:boolean):Uint8Array {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
if (opDrop) {
return buildDepositPayload(net, revealFee, sigOrPrin, opDrop, undefined);
}
return buildDepositPayload(net, revealFee, sigOrPrin, opDrop, undefined);
//Alpha: return buildDepositPayloadOpReturn(net, sigOrPrin);
function buildData (network:string, sigOrPrin:string, revealFee:number):Uint8Array {
return buildDepositPayloadOpDrop(network, sigOrPrin, revealFee);
}

@@ -112,0 +106,0 @@

@@ -29,2 +29,3 @@ import {

buildDepositPayload,
buildDepositPayloadOpDrop,
buildWithdrawalPayload,

@@ -49,2 +50,3 @@ parseWithdrawalPayload,

buildDepositPayload,
buildDepositPayloadOpDrop,
buildWithdrawalPayload,

@@ -73,4 +75,4 @@ parseWithdrawalPayload,

getOpReturnDepositRequest,
buildOpReturnDepositTransaction,
buildOpDropDepositTransaction
buildDepositTransaction,
buildDepositTransactionOpDrop
} from './deposit_utils.js'

@@ -82,4 +84,4 @@ export {

getOpReturnDepositRequest,
buildOpReturnDepositTransaction,
buildOpDropDepositTransaction
buildDepositTransaction,
buildDepositTransactionOpDrop
}

@@ -86,0 +88,0 @@

@@ -195,29 +195,10 @@ import * as secp from '@noble/secp256k1';

/**
*
* @param net
* @param address
* @returns
*/
export function buildDepositPayloadOpReturn(net:any, address:string):Uint8Array {
const magicBuf = (typeof net === 'object' && net.bech32 === 'tb') ? hex.decode(MAGIC_BYTES_TESTNET) : hex.decode(MAGIC_BYTES_MAINNET);
const opCodeBuf = hex.decode(PEGIN_OPCODE);
const addr = c32addressDecode(address.split('.')[0])
const addr0Buf = hex.decode(addr[0].toString(16));
const addr1Buf = hex.decode(addr[1]);
export function buildDepositPayload(network:string, stacksAddress:string) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
return buildDepositPayloadInternal(net, 0, stacksAddress, false)
}
const cnameLength = new Uint8Array(1);
const principalType = (address.indexOf('.') > -1) ? hex.decode(PrincipalType.CONTRACT.valueOf()) : hex.decode(PrincipalType.STANDARD.valueOf());
let buf1 = concat(opCodeBuf, addr0Buf, addr1Buf);
if (address.indexOf('.') > -1) {
const cnameBuf = new TextEncoder().encode(address.split('.')[1]);
const cnameLen = hex.decode(cnameBuf.length.toString(8));
if (cnameBuf.length > 40) throw new Error('Contract name is too long - max 40 characters')
buf1 = concat(buf1, cnameLen, cnameBuf);
} else {
cnameLength.fill(0);
buf1 = concat(buf1, cnameLength);
}
return concat(magicBuf, buf1)
export function buildDepositPayloadOpDrop(network:string, stacksAddress:string, revealFee:number) {
const net = (network === 'testnet') ? btc.TEST_NETWORK : btc.NETWORK;
return buildDepositPayloadInternal(net, revealFee, stacksAddress, true)
}

@@ -234,3 +215,3 @@

*/
export function buildDepositPayload(net:any, amountSats:number, address:string, opDrop:boolean, memo:string|undefined):Uint8Array {
function buildDepositPayloadInternal(net:any, amountSats:number, address:string, opDrop:boolean):Uint8Array {
const magicBuf = (typeof net === 'object' && net.bech32 === 'tb') ? hex.decode(MAGIC_BYTES_TESTNET) : hex.decode(MAGIC_BYTES_MAINNET);

@@ -237,0 +218,0 @@ const opCodeBuf = hex.decode(PEGIN_OPCODE);

@@ -5,3 +5,3 @@ import * as secp from '@noble/secp256k1';

import * as P from 'micro-packed';
import { buildDepositPayload } from './payload_utils.js'
import { buildDepositPayloadOpDrop } from './payload_utils.js'

@@ -48,3 +48,3 @@ const concat = P.concatBytes;

if (tx.inputsLength === 0) throw new Error('No confirmed UTXOs')
const data = buildDepositPayload(net, 1000, 'ST1NXBK3K5YYMD6FD41MVNP3JS1GABZ8TRVX023PT', true, undefined);
const data = buildDepositPayloadOpDrop(network, 'ST1NXBK3K5YYMD6FD41MVNP3JS1GABZ8TRVX023PT', 1000);
tx.addOutput({ script: btc.Script.encode(['RETURN', data]), amount: BigInt(0) });

@@ -51,0 +51,0 @@ //tx.addOutput({ script: btc.OutScript.encode(btc.Address(net).decode(payeeAddress)), amount });

import { beforeAll, beforeEach, expect, describe, it } from 'vitest'
import {
parseDepositPayload, buildDepositPayload, PayloadType
parseDepositPayload, buildDepositPayloadOpDrop, buildDepositPayload, PayloadType
} from '../src/index';

@@ -52,3 +52,3 @@ import { base58, hex } from '@scure/base';

it.concurrent('Check parsing and building deposit simple payload', async () => {
const payloadUint8 = buildDepositPayload(btc.TEST_NETWORK, 5000, 'ST3N4AJFZZYC4BK99H53XP8KDGXFGQ2PRSPNET8TN', true, undefined);
const payloadUint8 = buildDepositPayloadOpDrop('testnet', 'ST3N4AJFZZYC4BK99H53XP8KDGXFGQ2PRSPNET8TN', 5000);
const payload = hex.encode(payloadUint8)

@@ -72,3 +72,3 @@ expect(payload).equals('3c051aea4549ffff9845cd298947db226d875f0b8ad8cd000000000000001388')

it.concurrent('Check parsing and building deposit with stacks principal', async () => {
const payload = buildDepositPayload(btc.TEST_NETWORK, 123456675456, 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5', true, undefined);
const payload = buildDepositPayloadOpDrop('testnet', 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5', 123456675456);
console.log('Check parsing and building deposit with contract payload: ', hex.encode(payload))

@@ -90,3 +90,3 @@ const parsedPayload = parseDepositPayload(payload);

it.concurrent('Check parse and build op_drop', async () => {
const payload = buildDepositPayload(btc.TEST_NETWORK, 5000, 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5.contract-alpha', true, undefined);
const payload = buildDepositPayloadOpDrop('testnet', 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5.contract-alpha', 5000);
console.log('Check parsing and building deposit with contract payload: ', hex.encode(payload))

@@ -108,3 +108,3 @@ const parsedPayload = parseDepositPayload(payload);

it.concurrent('Check parse and build op_return', async () => {
const payload = buildDepositPayload(btc.TEST_NETWORK, 5000, 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5.contract-alpha', false, undefined);
const payload = buildDepositPayload('testnet', 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5.contract-alpha');
console.log('Check parsing and building deposit with contract payload: ', hex.encode(payload))

@@ -126,3 +126,3 @@ const parsedPayload = parseDepositPayload(payload);

it.concurrent('Check parsing and building deposit with contract and memo payload', async () => {
const payload = buildDepositPayload(btc.TEST_NETWORK, 5000, 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5.contract', true, 'indefined');
const payload = buildDepositPayloadOpDrop('testnet', 'ST1R1061ZT6KPJXQ7PAXPFB6ZAZ6ZWW28G8HXK9G5.contract', 5000);
const parsedPayload = parseDepositPayload(payload);

@@ -129,0 +129,0 @@ deepStrictEqual(parsedPayload, {

import { beforeAll, beforeEach, expect, describe, it } from 'vitest'
import {
parseDepositPayload, buildDepositPayload,
amountToBigUint64, bigUint64ToAmount,
buildWithdrawalPayload, parseWithdrawalPayload,
getStacksSimpleHashOfDataToSign, getStacksAddressFromSignature, PayloadType, parsePayloadFromTransaction, getDataToSign
PayloadType, parsePayloadFromTransaction
} from '../src/index';
import { sbtcWallets } from '../src/index';
import { hex } from '@scure/base';
import { commit1 } from './payload.data';
import { fail, deepStrictEqual } from 'assert';
import assert from 'assert';
import * as btc from '@scure/btc-signer';
import * as secp from '@noble/secp256k1';
import { dust } from '../src/withdraw_utils';
import { getStacksAddressFromPubkey } from '../src/payload_utils';

@@ -17,0 +11,0 @@

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