BitGo / bitgo-utxo-lib

UTXO coins functions implemented in pure JavaScript
83 stars 142 forks source link

error code: -22 error message: TX decode failed #88

Closed zhujinghe closed 3 years ago

zhujinghe commented 3 years ago

` const bitcore = require("bitcore-lib-zcash"); const bitgoUtxoLib = require('bitgo-utxo-lib-1.9.1');

const fromZec = "tmTEYjmn2Kyhks2EQzq9aNqcZPpeRchMYev" const privateKeyZec = "cQQcw2g2oNqJCDb9r5qRqtRAXCWenCbBr3gJJVcNVJP92RwN1nt6" const toZec = "tmUSpr2HzQMgQq8uopYtNGShdeUXs4tCP4o" const utxos = [ { "txid": "d9bbd01d69029e8563d2736761a7f132ea62d92d133b85236ce58d351cf5a58c",
"vout": 1, "address": "tmTEYjmn2Kyhks2EQzq9aNqcZPpeRchMYev", "amount": 89.99500000, "scriptPubKey": "76a914c03023a2285c20a5a64256b636eb9fd06406c9f788ac" }, ]

const ZcashTest = bitgoUtxoLib.networks.zcashTest

const tx = new bitgoUtxoLib.TransactionBuilder(ZcashTest);

let total = 0;

for (let key in utxos) { key = parseInt(key) const utxo = utxos[key];

tx.addInput(utxo.txid, utxo.vout); total += bitcore.Unit.fromBTC(utxo.amount).toSatoshis(); }

let send = 100000000

const fees = 500000; const change = total - send - fees;

tx.addOutput(toZec, send); tx.addOutput(fromZec, change);

const keyPair = bitgoUtxoLib.ECPair.fromWIF(privateKeyZec, ZcashTest)

tx.setVersion(4) tx.setVersionGroupId(0xE9FF75A6)

for (let key in utxos) { key = parseInt(key) tx.sign(key, keyPair, "", bitgoUtxoLib.Transaction.SIGHASH_ALL, bitcore.Unit.fromBTC(utxos[key].amount).toSatoshis()) }

const msg = tx.build().toHex();

`

zhujinghe commented 3 years ago

@OttoAllmendinger