Socket
Socket
Sign inDemoInstall

@stacks/transactions

Package Overview
Dependencies
Maintainers
0
Versions
628
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stacks/transactions - npm Package Compare versions

Comparing version 6.15.1-pr.3bb63ea0.7 to 6.15.1-pr.3c36e222.10

52

dist/builders.js

@@ -222,16 +222,3 @@ "use strict";

const transaction = await makeUnsignedSTXTokenTransfer(options);
const signer = new signer_1.TransactionSigner(transaction);
const publicKeys = txOptions.publicKeys.slice();
if ((0, authorization_1.isNonSequential)(transaction.auth.spendingCondition.hashMode)) {
publicKeys.sort();
}
for (const publicKey of publicKeys) {
const signerKey = txOptions.signerKeys.find(key => (0, common_1.bytesToHex)((0, keys_1.pubKeyfromPrivKey)(key).data) === publicKey);
if (signerKey) {
signer.signOrigin((0, keys_1.createStacksPrivateKey)(signerKey));
}
else {
signer.appendOrigin((0, keys_1.publicKeyFromBytes)((0, common_1.hexToBytes)(publicKey)));
}
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
return transaction;

@@ -279,12 +266,3 @@ }

const transaction = await makeUnsignedContractDeploy(options);
const signer = new signer_1.TransactionSigner(transaction);
let pubKeys = txOptions.publicKeys;
for (const key of txOptions.signerKeys) {
const pubKey = (0, keys_1.pubKeyfromPrivKey)(key);
pubKeys = pubKeys.filter(pk => pk !== (0, common_1.bytesToHex)(pubKey.data));
signer.signOrigin((0, keys_1.createStacksPrivateKey)(key));
}
for (const key of pubKeys) {
signer.appendOrigin((0, keys_1.publicKeyFromBytes)((0, common_1.hexToBytes)(key)));
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
return transaction;

@@ -447,12 +425,3 @@ }

const transaction = await makeUnsignedContractCall(options);
const signer = new signer_1.TransactionSigner(transaction);
let pubKeys = txOptions.publicKeys;
for (const key of txOptions.signerKeys) {
const pubKey = (0, keys_1.pubKeyfromPrivKey)(key);
pubKeys = pubKeys.filter(pk => pk !== (0, common_1.bytesToHex)(pubKey.data));
signer.signOrigin((0, keys_1.createStacksPrivateKey)(key));
}
for (const key of pubKeys) {
signer.appendOrigin((0, keys_1.publicKeyFromBytes)((0, common_1.hexToBytes)(key)));
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
return transaction;

@@ -629,2 +598,17 @@ }

exports.estimateTransactionFeeWithFallback = estimateTransactionFeeWithFallback;
function mutatingSignMultiSig(transaction, publicKeys, signerKeys) {
const signer = new signer_1.TransactionSigner(transaction);
if ((0, authorization_1.isNonSequential)(transaction.auth.spendingCondition.hashMode)) {
publicKeys.sort();
}
for (const publicKey of publicKeys) {
const signerKey = signerKeys.find(key => (0, common_1.bytesToHex)((0, keys_1.pubKeyfromPrivKey)(key).data) === publicKey);
if (signerKey) {
signer.signOrigin((0, keys_1.createStacksPrivateKey)(signerKey));
}
else {
signer.appendOrigin((0, keys_1.publicKeyFromBytes)((0, common_1.hexToBytes)(publicKey)));
}
}
}
//# sourceMappingURL=builders.js.map

@@ -30,4 +30,6 @@ "use strict";

case constants_1.AddressHashMode.SerializeP2SH:
case constants_1.AddressHashMode.SerializeP2SHNonSequential:
case constants_1.AddressHashMode.SerializeP2WPKH:
case constants_1.AddressHashMode.SerializeP2WSH:
case constants_1.AddressHashMode.SerializeP2WSHNonSequential:
switch (txVersion) {

@@ -34,0 +36,0 @@ case constants_1.TransactionVersion.Mainnet:

@@ -211,16 +211,3 @@ import { bytesToHex, hexToBytes, intToBigInt } from '@stacks/common';

const transaction = await makeUnsignedSTXTokenTransfer(options);
const signer = new TransactionSigner(transaction);
const publicKeys = txOptions.publicKeys.slice();
if (isNonSequential(transaction.auth.spendingCondition.hashMode)) {
publicKeys.sort();
}
for (const publicKey of publicKeys) {
const signerKey = txOptions.signerKeys.find(key => bytesToHex(pubKeyfromPrivKey(key).data) === publicKey);
if (signerKey) {
signer.signOrigin(createStacksPrivateKey(signerKey));
}
else {
signer.appendOrigin(publicKeyFromBytes(hexToBytes(publicKey)));
}
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
return transaction;

@@ -266,12 +253,3 @@ }

const transaction = await makeUnsignedContractDeploy(options);
const signer = new TransactionSigner(transaction);
let pubKeys = txOptions.publicKeys;
for (const key of txOptions.signerKeys) {
const pubKey = pubKeyfromPrivKey(key);
pubKeys = pubKeys.filter(pk => pk !== bytesToHex(pubKey.data));
signer.signOrigin(createStacksPrivateKey(key));
}
for (const key of pubKeys) {
signer.appendOrigin(publicKeyFromBytes(hexToBytes(key)));
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
return transaction;

@@ -430,12 +408,3 @@ }

const transaction = await makeUnsignedContractCall(options);
const signer = new TransactionSigner(transaction);
let pubKeys = txOptions.publicKeys;
for (const key of txOptions.signerKeys) {
const pubKey = pubKeyfromPrivKey(key);
pubKeys = pubKeys.filter(pk => pk !== bytesToHex(pubKey.data));
signer.signOrigin(createStacksPrivateKey(key));
}
for (const key of pubKeys) {
signer.appendOrigin(publicKeyFromBytes(hexToBytes(key)));
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
return transaction;

@@ -600,2 +569,17 @@ }

}
function mutatingSignMultiSig(transaction, publicKeys, signerKeys) {
const signer = new TransactionSigner(transaction);
if (isNonSequential(transaction.auth.spendingCondition.hashMode)) {
publicKeys.sort();
}
for (const publicKey of publicKeys) {
const signerKey = signerKeys.find(key => bytesToHex(pubKeyfromPrivKey(key).data) === publicKey);
if (signerKey) {
signer.signOrigin(createStacksPrivateKey(signerKey));
}
else {
signer.appendOrigin(publicKeyFromBytes(hexToBytes(publicKey)));
}
}
}
//# sourceMappingURL=builders.js.map

@@ -26,4 +26,6 @@ import { AddressHashMode, AddressVersion, RECOVERABLE_ECDSA_SIG_LENGTH_BYTES, StacksMessageType, TransactionVersion, } from './constants';

case AddressHashMode.SerializeP2SH:
case AddressHashMode.SerializeP2SHNonSequential:
case AddressHashMode.SerializeP2WPKH:
case AddressHashMode.SerializeP2WSH:
case AddressHashMode.SerializeP2WSHNonSequential:
switch (txVersion) {

@@ -30,0 +32,0 @@ case TransactionVersion.Mainnet:

{
"name": "@stacks/transactions",
"version": "6.15.1-pr.3bb63ea0.7+3bb63ea0",
"version": "6.15.1-pr.3c36e222.10+3c36e222",
"description": "Javascript library for constructing transactions on the Stacks blockchain.",

@@ -30,4 +30,4 @@ "license": "MIT",

"@noble/secp256k1": "1.7.1",
"@stacks/common": "^6.15.1-pr.3bb63ea0.7+3bb63ea0",
"@stacks/network": "^6.15.1-pr.3bb63ea0.7+3bb63ea0",
"@stacks/common": "^6.15.1-pr.3c36e222.10+3c36e222",
"@stacks/network": "^6.15.1-pr.3c36e222.10+3c36e222",
"c32check": "^2.0.0",

@@ -37,3 +37,3 @@ "lodash.clonedeep": "^4.5.0"

"devDependencies": {
"@stacks/encryption": "^6.15.1-pr.3bb63ea0.7+3bb63ea0",
"@stacks/encryption": "^6.15.1-pr.3c36e222.10+3c36e222",
"@types/common-tags": "^1.8.0",

@@ -67,3 +67,3 @@ "@types/elliptic": "^6.4.12",

},
"gitHead": "3bb63ea04540f8cab9e7771cffc9ceda986a8700"
"gitHead": "3c36e2221b394f20707cbcad3f679ee39188b0b4"
}

@@ -762,25 +762,4 @@ import { bytesToHex, hexToBytes, IntegerType, intToBigInt } from '@stacks/common';

const signer = new TransactionSigner(transaction);
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
const publicKeys = txOptions.publicKeys.slice();
// sort public keys (only for newer non-sequential multi-sig for backwards compatibility)
if (isNonSequential(transaction.auth.spendingCondition.hashMode)) {
publicKeys.sort();
}
// sign in order of public keys
for (const publicKey of publicKeys) {
const signerKey = txOptions.signerKeys.find(
key => bytesToHex(pubKeyfromPrivKey(key).data) === publicKey
);
if (signerKey) {
// either sign and append message signature (which allows for recovering the public key)
signer.signOrigin(createStacksPrivateKey(signerKey));
} else {
// or append the public key (which did not sign here)
signer.appendOrigin(publicKeyFromBytes(hexToBytes(publicKey)));
}
}
return transaction;

@@ -898,3 +877,3 @@ }

if ('senderKey' in txOptions) {
// txOptions is SignedContractDeployOptions
// single-sig
const publicKey = publicKeyToString(getPublicKey(createStacksPrivateKey(txOptions.senderKey)));

@@ -910,18 +889,8 @@ const options = omit(txOptions, 'senderKey');

} else {
// txOptions is SignedMultiSigContractDeployOptions
// multi-sig
const options = omit(txOptions, 'signerKeys');
const transaction = await makeUnsignedContractDeploy(options);
const signer = new TransactionSigner(transaction);
let pubKeys = txOptions.publicKeys;
for (const key of txOptions.signerKeys) {
const pubKey = pubKeyfromPrivKey(key);
pubKeys = pubKeys.filter(pk => pk !== bytesToHex(pubKey.data));
signer.signOrigin(createStacksPrivateKey(key));
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
for (const key of pubKeys) {
signer.appendOrigin(publicKeyFromBytes(hexToBytes(key)));
}
return transaction;

@@ -1235,2 +1204,3 @@ }

if ('senderKey' in txOptions) {
// single-sig
const publicKey = publicKeyToString(getPublicKey(createStacksPrivateKey(txOptions.senderKey)));

@@ -1246,17 +1216,8 @@ const options = omit(txOptions, 'senderKey');

} else {
// multi-sig
const options = omit(txOptions, 'signerKeys');
const transaction = await makeUnsignedContractCall(options);
const signer = new TransactionSigner(transaction);
let pubKeys = txOptions.publicKeys;
for (const key of txOptions.signerKeys) {
const pubKey = pubKeyfromPrivKey(key);
pubKeys = pubKeys.filter(pk => pk !== bytesToHex(pubKey.data));
signer.signOrigin(createStacksPrivateKey(key));
}
mutatingSignMultiSig(transaction, txOptions.publicKeys.slice(), txOptions.signerKeys);
for (const key of pubKeys) {
signer.appendOrigin(publicKeyFromBytes(hexToBytes(key)));
}
return transaction;

@@ -1710,1 +1671,28 @@ }

}
/** @internal multi-sig signing re-use */
function mutatingSignMultiSig(
/** **Warning:** method mutates `transaction` */
transaction: StacksTransaction,
publicKeys: string[],
signerKeys: string[]
) {
const signer = new TransactionSigner(transaction);
// sort public keys (only for newer non-sequential multi-sig for backwards compatibility)
if (isNonSequential(transaction.auth.spendingCondition.hashMode)) {
publicKeys.sort();
}
// sign in order of public keys
for (const publicKey of publicKeys) {
const signerKey = signerKeys.find(key => bytesToHex(pubKeyfromPrivKey(key).data) === publicKey);
if (signerKey) {
// either sign and append message signature (which allows for recovering the public key)
signer.signOrigin(createStacksPrivateKey(signerKey));
} else {
// or append the public key (which did not sign here)
signer.appendOrigin(publicKeyFromBytes(hexToBytes(publicKey)));
}
}
}

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

): AddressVersion {
// todo: `next` refacto with network param
switch (hashMode) {

@@ -57,4 +58,6 @@ case AddressHashMode.SerializeP2PKH:

case AddressHashMode.SerializeP2SH:
case AddressHashMode.SerializeP2SHNonSequential:
case AddressHashMode.SerializeP2WPKH:
case AddressHashMode.SerializeP2WSH:
case AddressHashMode.SerializeP2WSHNonSequential:
switch (txVersion) {

@@ -61,0 +64,0 @@ case TransactionVersion.Mainnet:

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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

Sorry, the diff of this file is not supported yet

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