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.84 to 1.0.85

5

dist/payload_utils.d.ts

@@ -0,1 +1,2 @@

import type { P2Ret } from '@scure/btc-signer';
import type { WithdrawalPayloadType, DepositPayloadType } from './types/sbtc_types.js';

@@ -6,3 +7,3 @@ export declare const MAGIC_BYTES_TESTNET = "5432";

export declare const PEGOUT_OPCODE = "3E";
export declare function parseDepositPayload(d1: Uint8Array, amountSats: number): DepositPayloadType;
export declare function parseDepositPayload(d1: Uint8Array): DepositPayloadType;
export declare function amountToUint8(amt: number, size: number): Uint8Array;

@@ -32,2 +33,4 @@ /**

export declare function readDepositValue(outputs: Array<any>): number;
export declare function parsePayloadFromUnknownOutput(network: string, out0: P2Ret, bitcoinAddress: string): WithdrawalPayloadType | DepositPayloadType;
export declare function parsePayloadFromTaprootOutput(network: string, out0: P2Ret, bitcoinAddress: string): WithdrawalPayloadType | DepositPayloadType;
export declare function parseOutputs(network: string, output0: any, bitcoinAddress: string, amountSats: number): WithdrawalPayloadType | DepositPayloadType;

@@ -34,0 +37,0 @@ export declare function getDataToSign(network: string, amount: number, bitcoinAddress: string): Uint8Array;

54

dist/payload_utils.js

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

});
export function parseDepositPayload(d1, amountSats) {
export function parseDepositPayload(d1) {
const magicOp = getMagicAndOpCode(d1);
if (magicOp.magic) {
return parseDepositPayloadNoMagic(d1.subarray(2), amountSats);
return parseDepositPayloadNoMagic(d1.subarray(2));
}
return parseDepositPayloadNoMagic(d1, amountSats);
return parseDepositPayloadNoMagic(d1);
}
function parseDepositPayloadNoPrincipal(d1, amountSats) {
function parseDepositPayloadNoPrincipal(d1) {
const opcode = hex.encode(d1.subarray(0, 1)).toUpperCase();

@@ -45,6 +45,6 @@ const addr0 = parseInt(hex.encode(d1.subarray(1, 2)), 8);

revealFee: 0,
amountSats
amountSats: 0
};
}
function parseDepositPayloadNoMagic(d1, amountSats) {
function parseDepositPayloadNoMagic(d1) {
//console.log('payload rev: ', hex.encode(d1))

@@ -56,3 +56,3 @@ const opcode = hex.encode(d1.subarray(0, 1)).toUpperCase();

if (prinType === 22 || prinType === 26)
return parseDepositPayloadNoPrincipal(d1, amountSats);
return parseDepositPayloadNoPrincipal(d1);
const addr0 = parseInt(hex.encode(d1.subarray(2, 3)), 16);

@@ -88,3 +88,3 @@ const addr1 = hex.encode(d1.subarray(3, 23));

revealFee,
amountSats
amountSats: 0
};

@@ -298,2 +298,36 @@ }

}
export function parsePayloadFromUnknownOutput(network, out0, bitcoinAddress) {
const d1 = out0.script;
const witnessData = getMagicAndOpCode(d1);
witnessData.txType = out0.type;
let innerPayload;
if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1);
return innerPayload;
}
else if (witnessData.opcode.toUpperCase() === '3E') {
innerPayload = parseWithdrawalPayload(network, d1, bitcoinAddress);
return innerPayload;
}
else {
throw new Error('Wrong opcode : expected: 3A or 3C : recieved: ' + witnessData.opcode);
}
}
export function parsePayloadFromTaprootOutput(network, out0, bitcoinAddress) {
const d1 = out0.script;
const witnessData = getMagicAndOpCode(d1);
witnessData.txType = out0.type;
let innerPayload;
if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1);
return innerPayload;
}
else if (witnessData.opcode.toUpperCase() === '3E') {
innerPayload = parseWithdrawalPayload(network, d1, bitcoinAddress);
return innerPayload;
}
else {
throw new Error('Wrong opcode : expected: 3A or 3C : recieved: ' + witnessData.opcode);
}
}
export function parseOutputs(network, output0, bitcoinAddress, amountSats) {

@@ -307,3 +341,3 @@ if (output0.scriptpubkey_type)

if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1, amountSats);
innerPayload = parseDepositPayload(d1);
return innerPayload;

@@ -331,3 +365,3 @@ }

if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1, amountSats);
innerPayload = parseDepositPayload(d1);
return innerPayload;

@@ -334,0 +368,0 @@ }

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

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

import * as secp from '@noble/secp256k1';
import * as btc from '@scure/btc-signer';
import type { P2Ret } from '@scure/btc-signer';
import { hex } from '@scure/base';

@@ -33,11 +34,11 @@ import { c32address, c32addressDecode } from 'c32check';

export function parseDepositPayload(d1:Uint8Array, amountSats: number):DepositPayloadType {
export function parseDepositPayload(d1:Uint8Array):DepositPayloadType {
const magicOp = getMagicAndOpCode(d1);
if (magicOp.magic) {
return parseDepositPayloadNoMagic(d1.subarray(2), amountSats);
return parseDepositPayloadNoMagic(d1.subarray(2));
}
return parseDepositPayloadNoMagic(d1, amountSats);
return parseDepositPayloadNoMagic(d1);
}
function parseDepositPayloadNoPrincipal(d1:Uint8Array, amountSats: number):DepositPayloadType {
function parseDepositPayloadNoPrincipal(d1:Uint8Array):DepositPayloadType {
const opcode = hex.encode(d1.subarray(0,1)).toUpperCase();

@@ -56,7 +57,7 @@ const addr0 = parseInt(hex.encode(d1.subarray(1,2)), 8);

revealFee: 0,
amountSats
amountSats: 0
};
}
function parseDepositPayloadNoMagic(d1:Uint8Array, amountSats: number):DepositPayloadType {
function parseDepositPayloadNoMagic(d1:Uint8Array):DepositPayloadType {
//console.log('payload rev: ', hex.encode(d1))

@@ -66,3 +67,3 @@ const opcode = hex.encode(d1.subarray(0,1)).toUpperCase();

const prinType = parseInt(hex.encode(d1.subarray(1,2)), 8);
if (prinType === 22 || prinType === 26) return parseDepositPayloadNoPrincipal(d1, amountSats)
if (prinType === 22 || prinType === 26) return parseDepositPayloadNoPrincipal(d1)
const addr0 = parseInt(hex.encode(d1.subarray(2,3)), 16);

@@ -103,3 +104,3 @@ const addr1 = hex.encode(d1.subarray(3,23));

revealFee,
amountSats
amountSats: 0
};

@@ -324,2 +325,36 @@ }

export function parsePayloadFromUnknownOutput(network:string, out0:P2Ret, bitcoinAddress:string) {
const d1 = out0.script
const witnessData = getMagicAndOpCode(d1);
witnessData.txType = out0.type;
let innerPayload:WithdrawalPayloadType|DepositPayloadType;
if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1);
return innerPayload;
} else if (witnessData.opcode.toUpperCase() === '3E') {
innerPayload = parseWithdrawalPayload(network, d1, bitcoinAddress)
return innerPayload;
} else {
throw new Error('Wrong opcode : expected: 3A or 3C : recieved: ' + witnessData.opcode)
}
}
export function parsePayloadFromTaprootOutput(network:string, out0:P2Ret, bitcoinAddress:string) {
const d1 = out0.script
const witnessData = getMagicAndOpCode(d1);
witnessData.txType = out0.type;
let innerPayload:WithdrawalPayloadType|DepositPayloadType;
if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1);
return innerPayload;
} else if (witnessData.opcode.toUpperCase() === '3E') {
innerPayload = parseWithdrawalPayload(network, d1, bitcoinAddress)
return innerPayload;
} else {
throw new Error('Wrong opcode : expected: 3A or 3C : recieved: ' + witnessData.opcode)
}
}
export function parseOutputs(network:string, output0:any, bitcoinAddress:string, amountSats: number) {

@@ -333,3 +368,3 @@ if (output0.scriptpubkey_type) return parseOutputsBitcoinCore(network, output0, bitcoinAddress, amountSats)

if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1, amountSats);
innerPayload = parseDepositPayload(d1);
return innerPayload;

@@ -357,3 +392,3 @@ } else if (witnessData.opcode.toUpperCase() === '3E') {

if (witnessData.opcode === '3C') {
innerPayload = parseDepositPayload(d1, amountSats);
innerPayload = parseDepositPayload(d1);
return innerPayload;

@@ -360,0 +395,0 @@ } else if (witnessData.opcode.toUpperCase() === '3E') {

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