• About
  • FAQ
  • Earn Bitcoin while Surfing the net
  • Buy & Sell Crypto on Paxful
Newsletter
Approx Foundation
  • Home
    • Home – Layout 1
  • Bitcoin
  • Ethereum
  • Regulation
  • Market
  • Blockchain
  • Business
  • Guide
  • Contact Us
No Result
View All Result
  • Home
    • Home – Layout 1
  • Bitcoin
  • Ethereum
  • Regulation
  • Market
  • Blockchain
  • Business
  • Guide
  • Contact Us
No Result
View All Result
Approx Foundation
No Result
View All Result
Home Bitcoin

javascript – bitcoinjs – mandatory-script-verify-flag-failed (Signature must be zero for failed CHECK(MULTI)SIG operation)

Moussa by Moussa
February 1, 2024
in Bitcoin
0
peer discovery – how to obtain the IP addresses of nodes for mining pools?
189
SHARES
1.5k
VIEWS
Share on FacebookShare on Twitter


enter image description here

I’m trying to follow the below transaction example by magic eden and extend it to support multiple buyers and seller (in red). However I am having difficulties when I add more than one signature from another party (with one seller it broadcasts okay). The transaction builds and signs fine but when I try to broadcast it to the network it results in the error mandatory-script-verify-flag-failed (Signature must be zero for failed CHECK(MULTI)SIG operation). Using native segwit addresses for this (no-tr).

What am I missing or doing wrong?

Using the bitcoinjs library here is what I have so far (only the red):

Seller signing:

let psbt = new bitcoin.Psbt({ network });

const [ordinalUtxoTxId, ordinalUtxoVout] = ordinalOutput.split(":");
const tx = bitcoin.Transaction.fromHex(await getTxHexById(ordinalUtxoTxId));

try {
    tx.setWitness(parseInt(ordinalUtxoVout), []);
} catch {}

const input = {
  hash: ordinalUtxoTxId,
  index: parseInt(ordinalUtxoVout),
  nonWitnessUtxo: tx.toBuffer(),
  witnessUtxo: tx.outs[ordinalUtxoVout],
  sighashType:
    bitcoin.Transaction.SIGHASH_SINGLE |
    bitcoin.Transaction.SIGHASH_ANYONECANPAY,
};

psbt.addInput(input);

psbt.addOutput({
  address: paymentAddress,
  value: price,
});

Buyer Signing (ignoring padding inputs and outputs):

// Add inscriptions inputs and outputs
for (const signedPsbt of sellerSignedPsbts) {
    // Add inscription output
    psbt.addOutput({
        address: receiverAddress,
        value: signedPsbt.data.inputs[0].witnessUtxo.value,
    });

    // Add payer signed input
    psbt.addInput({
        ...signedPsbt.data.globalMap.unsignedTx.tx.ins[0],
        // ...signedPsbt.data.inputs[0],
        witnessUtxo: signedPsbt.data.inputs[0].witnessUtxo,
        nonWitnessUtxo: signedPsbt.data.inputs[0].nonWitnessUtxo,
        // finalScriptWitness: signedPsbt.data.inputs[0].finalScriptWitness,
    });

    input++;
}

// Add seller payment outputs for payee
for (const signedPsbt of sellerSignedPsbts) {
    // Add payer output
    psbt.addOutput({
        ...signedPsbt.data.globalMap.unsignedTx.tx.outs[0],
    });
}

Merge seller and buyer signed psbts:

const buyerSignedPsbt = bitcoin.Psbt.fromBase64(signedBuyingPSBTBase64);

for (let index = 0; index < signedListingsPSBTBase64.length; index++) {
    const sellerSignedPsbt = bitcoin.Psbt.fromBase64(signedListingsPSBTBase64[index]);

    buyerSignedPsbt.data.globalMap.unsignedTx.tx.ins[BUYING_PSBT_SELLER_SIGNATURE_INDEX + index] = sellerSignedPsbt.data.globalMap.unsignedTx.tx.ins[0];
    buyerSignedPsbt.data.inputs[BUYING_PSBT_SELLER_SIGNATURE_INDEX + index] = sellerSignedPsbt.data.inputs[0];
}

// broadcast buyerSignedPsbt



Source link

Related articles

Bitcoin News Today: Saylor Sets a 4-Year Minimum for Bitcoin Holders

Bitcoin News Today: Saylor Sets a 4-Year Minimum for Bitcoin Holders

August 19, 2026
President Trump To Host Crypto Execs At White House

President Trump To Host Crypto Execs At White House

August 19, 2026
Share76Tweet47

Related Posts

Bitcoin News Today: Saylor Sets a 4-Year Minimum for Bitcoin Holders

Bitcoin News Today: Saylor Sets a 4-Year Minimum for Bitcoin Holders

by Moussa
August 19, 2026
0

Michael Saylor has spent six years telling the world to buy Bitcoin. In Bitcoin news today, he told short-term traders...

President Trump To Host Crypto Execs At White House

President Trump To Host Crypto Execs At White House

by Moussa
August 19, 2026
0

U.S. President Donald Trump is set to host crypto bigwigs at the White House Wednesday.  The meeting — first reported...

Treasury Doubles Long-End Buybacks as Bitcoin and US Stocks Advance – Bitcoin News

Treasury Doubles Long-End Buybacks as Bitcoin and US Stocks Advance – Bitcoin News

by Moussa
August 19, 2026
0

Key TakeawaysTreasury lifts long-end buyback caps to at least $4 billion beginning Sept. 9.Bitcoin tested $65,000 as the Nasdaq reached...

Sam Altman ChatGPT AI Predicts Solana Could Challenge Its All-Time High Again

Sam Altman ChatGPT AI Predicts Solana Could Challenge Its All-Time High Again

by Moussa
August 19, 2026
0

Solana spent years being defined by memecoin volume, and $3.73B in tokenized real-world assets is starting to change that label....

LINK Pops 3% to $9.70 as Wyoming Shifts Stablecoin to CCIP

LINK Pops 3% to $9.70 as Wyoming Shifts Stablecoin to CCIP

by Moussa
August 19, 2026
0

Key TakeawaysWyoming migrated its FRNT token from Layerzero to Chainlink CCIP on August 18, 2026, over security concerns.Chainlink’s LINK rose...

Load More

youssufi.com

sephina.com

[vc_row full_width="stretch_row" parallax="content-moving" vc_row_background="" background_repeat="no-repeat" background_position="center center" footer_scheme="dark" css=".vc_custom_1517813231908{padding-top: 60px !important;padding-bottom: 30px !important;background-color: #191818 !important;background-position: center;background-repeat: no-repeat !important;background-size: cover !important;}" footer_widget_title_color="#fcbf46" footer_button_bg="#fcb11e"][vc_column width="1/4"]

We bring you the latest in Crypto News

[/vc_column][vc_column width="1/4"][vc_wp_categories]
[/vc_column][vc_column width="1/4"][vc_wp_tagcloud taxonomy="post_tag"][/vc_column][vc_column width="1/4"]

Newsletter

[vc_raw_html]JTNDcCUzRSUzQ2RpdiUyMGNsYXNzJTNEJTIydG5wJTIwdG5wLXN1YnNjcmlwdGlvbiUyMiUzRSUwQSUzQ2Zvcm0lMjBtZXRob2QlM0QlMjJwb3N0JTIyJTIwYWN0aW9uJTNEJTIyaHR0cHMlM0ElMkYlMkZhcHByb3gub3JnJTJGJTNGbmElM0RzJTIyJTNFJTBBJTBBJTNDaW5wdXQlMjB0eXBlJTNEJTIyaGlkZGVuJTIyJTIwbmFtZSUzRCUyMm5sYW5nJTIyJTIwdmFsdWUlM0QlMjIlMjIlM0UlM0NkaXYlMjBjbGFzcyUzRCUyMnRucC1maWVsZCUyMHRucC1maWVsZC1maXJzdG5hbWUlMjIlM0UlM0NsYWJlbCUyMGZvciUzRCUyMnRucC0xJTIyJTNFRmlyc3QlMjBuYW1lJTIwb3IlMjBmdWxsJTIwbmFtZSUzQyUyRmxhYmVsJTNFJTBBJTNDaW5wdXQlMjBjbGFzcyUzRCUyMnRucC1uYW1lJTIyJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBuYW1lJTNEJTIybm4lMjIlMjBpZCUzRCUyMnRucC0xJTIyJTIwdmFsdWUlM0QlMjIlMjIlM0UlM0MlMkZkaXYlM0UlMEElM0NkaXYlMjBjbGFzcyUzRCUyMnRucC1maWVsZCUyMHRucC1maWVsZC1lbWFpbCUyMiUzRSUzQ2xhYmVsJTIwZm9yJTNEJTIydG5wLTIlMjIlM0VFbWFpbCUzQyUyRmxhYmVsJTNFJTBBJTNDaW5wdXQlMjBjbGFzcyUzRCUyMnRucC1lbWFpbCUyMiUyMHR5cGUlM0QlMjJlbWFpbCUyMiUyMG5hbWUlM0QlMjJuZSUyMiUyMGlkJTNEJTIydG5wLTIlMjIlMjB2YWx1ZSUzRCUyMiUyMiUyMHJlcXVpcmVkJTNFJTNDJTJGZGl2JTNFJTBBJTNDZGl2JTIwY2xhc3MlM0QlMjJ0bnAtZmllbGQlMjB0bnAtcHJpdmFjeS1maWVsZCUyMiUzRSUzQ2xhYmVsJTNFJTNDaW5wdXQlMjB0eXBlJTNEJTIyY2hlY2tib3glMjIlMjBuYW1lJTNEJTIybnklMjIlMjByZXF1aXJlZCUyMGNsYXNzJTNEJTIydG5wLXByaXZhY3klMjIlM0UlQzIlQTBCeSUyMGNvbnRpbnVpbmclMkMlMjB5b3UlMjBhY2NlcHQlMjB0aGUlMjBwcml2YWN5JTIwcG9saWN5JTNDJTJGbGFiZWwlM0UlM0MlMkZkaXYlM0UlM0NkaXYlMjBjbGFzcyUzRCUyMnRucC1maWVsZCUyMHRucC1maWVsZC1idXR0b24lMjIlM0UlM0NpbnB1dCUyMGNsYXNzJTNEJTIydG5wLXN1Ym1pdCUyMiUyMHR5cGUlM0QlMjJzdWJtaXQlMjIlMjB2YWx1ZSUzRCUyMlN1YnNjcmliZSUyMiUyMCUzRSUwQSUzQyUyRmRpdiUzRSUwQSUzQyUyRmZvcm0lM0UlMEElM0MlMkZkaXYlM0UlM0NiciUyRiUzRSUzQyUyRnAlM0U=[/vc_raw_html][/vc_column][/vc_row]
No Result
View All Result
  • Contact Us
  • Homepages
  • Business
  • Guide

© 2024 APPROX FOUNDATION - The Crypto Currency News