bitpay / bitcore

A full stack for bitcoin and blockchain-based applications
https://bitcore.io/
MIT License
4.84k stars 2.08k forks source link

v8 utxos data not compatible with bitcore.Transaction() #2163

Open thackerronak opened 5 years ago

thackerronak commented 5 years ago
https://api.bitcore.io/api/BTC/testnet/address/mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v

[
{"_id":"5cc2c6ea12025b0a3975a053","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"","mintTxid":"e40d48fc829e6c0bbaa28b0d154be8c6f3553be52cf21255b0654af7e626a3bc","mintHeight":1512424,"spentHeight":-2,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":11410868,"confirmations":-1},
{"_id":"5cc2c1e412025b0a396f9e19","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"e40d48fc829e6c0bbaa28b0d154be8c6f3553be52cf21255b0654af7e626a3bc","mintTxid":"aaba13f6769e6196f9c29d97f0bca0efb1e5c6d9f01ff05511fc6fb6aa89772e","mintHeight":1512417,"spentHeight":1512424,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":11411367,"confirmations":-1},
{"_id":"5cc2c0d212025b0a396e5cb9","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"aaba13f6769e6196f9c29d97f0bca0efb1e5c6d9f01ff05511fc6fb6aa89772e","mintTxid":"5d561c4f67db00993091386603ad2c5df9c88d8148c5de6ee1b36fcf15596229","mintHeight":1512417,"spentHeight":1512417,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":11411866,"confirmations":-1},
{"_id":"5cc05df212025b0a398fdd81","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"5d561c4f67db00993091386603ad2c5df9c88d8148c5de6ee1b36fcf15596229","mintTxid":"69d961ac9be33f4996f7a7e3c18eb056b104dfdf5170a8f5f8c07c622c462818","mintHeight":1512009,"spentHeight":1512417,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":11412365,"confirmations":-1},
{"_id":"5cb9ae0c12025b0a3946c11a","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"69d961ac9be33f4996f7a7e3c18eb056b104dfdf5170a8f5f8c07c622c462818","mintTxid":"f50304eda660737bedb8c526cdefe0bc0330b498d45523443159b15293178502","mintHeight":1489768,"spentHeight":1512009,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":16414675,"confirmations":-1},
{"_id":"5cb555e412025b0a3998766e","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"f50304eda660737bedb8c526cdefe0bc0330b498d45523443159b15293178502","mintTxid":"70b5f141cdfa469263ab5e9c562931eaf3148e736f6624da7d86d8dd65dd93fb","mintHeight":1489268,"spentHeight":1489768,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":5649619,"confirmations":-1},
{"_id":"5cad789612025b0a39dd306e","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"f50304eda660737bedb8c526cdefe0bc0330b498d45523443159b15293178502","mintTxid":"cf3bdf76a1c8b7284d2eef1f5f1a09d81b7a7d7d6a9e09268042596b0511c3bc","mintHeight":1488413,"spentHeight":1489768,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":6052359,"confirmations":-1},
{"_id":"5caacdb912025b0a39d5f3e0","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"f50304eda660737bedb8c526cdefe0bc0330b498d45523443159b15293178502","mintTxid":"46ba4d1f602934f73720184c12b73b59b92fee246c7569919d55d11949161ece","mintHeight":1488123,"spentHeight":1489768,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":8713603,"confirmations":-1},
{"_id":"5ca6f41412025b0a39bcbf4e","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"46ba4d1f602934f73720184c12b73b59b92fee246c7569919d55d11949161ece","mintTxid":"6856ef97a436bbf8ee5117b736dacee8ef4a83ac027d85f1488c1794c9336944","mintHeight":1487658,"spentHeight":1488123,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":8813832,"confirmations":-1},
{"_id":"5ca5d4b312025b0a39805a90","chain":"BTC","network":"testnet","coinbase":false,"mintIndex":1,"spentTxid":"6856ef97a436bbf8ee5117b736dacee8ef4a83ac027d85f1488c1794c9336944","mintTxid":"64f646b8cf62b14e127bfdae823e26654f7dde6ad9addc3ec3b41bae03000514","mintHeight":1487489,"spentHeight":1487658,"address":"mguBjiMsX1tZyATsWbEf42w8aJWxmbEJ6v","script":"76a9140f2c7f83b78a6fea0d483c7afe9a2c8b92e1e86888ac","value":8839061,"confirmations":-1}
]

const tx = new bitcore.Transaction()
                            .from(utxo)
                            .to(receiverAddress, amountSat)
                            .change(address);

getting error while creating transaction.

Error : Error: Invalid TXID in object
micahriggan commented 5 years ago

Currently bitcore-lib has a different format for utxos than what comes from bitcore-node.

https://github.com/bitpay/bitcore/blob/519ca42be7049e38cc4314f275377cc8e56c31f3/packages/bitcore-client/src/providers/tx-provider/btc/index.ts#L10

Here's an example of the mapping you can use to convert them to bitcore-lib's format

thackerronak commented 5 years ago

@micahriggan Yes, we have to convert it. Thanks for the quick update.

SPXTekDev commented 5 years ago

I'm sorry but I can't seem to figure out what you mean by converting!

This is the result I get for utxos:

{ utxos: 
   [ { txid: '2c0c11c6b1a0f255e89007bbe3321f5abfc6b694188003549c5908c2282b96e2',
       vout: 0,
       amount: 0.00012,
       satoshis: 12000,
       height: 591319,
       confirmations: 159 },
     { txid: '1e5489246102f067fa4616cd01a7e6b2865693bdcf08094daf41b58a9b0db43c',
       vout: 0,
       amount: 0.0001,
       satoshis: 10000,
       height: 591314,
       confirmations: 164 } ],
  legacyAddress: '148p6kJmK8w5hw1zTqMVQSqrEh4kuCEkd5',
  cashAddress: 'bitcoincash:qq3x9xhu3h35l0fz05sju0q87rwrzl3t3c03km3qf4',
  slpAddress: 'simpleledger:qq3x9xhu3h35l0fz05sju0q87rwrzl3t3cr2aqyqht',
  scriptPubKey: '76a91422629afc8de34fbd227d212e3c07f0dc317e2b8e88ac' }

and I get the "Invalid TXID in object" error.

I guess my question is: how do I convert this? not the code, but what to match to what?