ergo
ergo copied to clipboard
POST `/transactions` returns indecipherable error `Malformed transaction: empty.max`
I expected a more detailed error description. The node version is v5.0.3. No mention of the tx id or any error in the node's log (debug).
The following tx (part of the chained txs on testnet):
{
"id": "e4563bb28cfe418f393b7958ce72ae4c10330dcc5eebde0cc3aba52bf88d898c",
"inputs": [
{
"boxId": "5998c324a86a3374f4c9e18153623e82064407f34562f69cab727967e690dcb8",
"spendingProof": {
"proofBytes": "d99708ebfc279b9df228b9f024b70c62fe3819c4948a099d414e18a0f76d47f9ea148f2b064cf176b1c0e4e240ec2ff92bb035649b0c188a",
"extension": {}
}
},
{
"boxId": "7c84af22f8a93d9f4de13b4b98ceb58416c06b7f6fb51374709dbe36d60dbbb0",
"spendingProof": {
"proofBytes": "6300bafb1ab08dd1be71d45e0d114d603200805205599de19c8cbf3fa1ad0b3eda91ee71d90145c63ee7a904be498867d3394c2ee52640cf",
"extension": {}
}
}
],
"dataInputs": [],
"outputs": [
{
"boxId": "11646891a52e94dfb4168b708a3185f9bdfd34bd42785e74f11893c185e7061e",
"value": 1100000,
"ergoTree": "0008cd0340191c66444bad57a1c80b19fa86d7483b4cde996747ce2cd76a81f3a5dd2aa6",
"assets": [
{
"tokenId": "5998c324a86a3374f4c9e18153623e82064407f34562f69cab727967e690dcb8",
"amount": 1
}
],
"additionalRegisters": {
"R4": "0e0b72656672657368204e4654",
"R6": "0e0131",
"R5": "0e0b72656672657368204e4654"
},
"creationHeight": 145398,
"transactionId": "e4563bb28cfe418f393b7958ce72ae4c10330dcc5eebde0cc3aba52bf88d898c",
"index": 0
},
{
"boxId": "385c9c30e83ed09e045522a97fccc19e8a027b10854ff7d16bfdada4a905a179",
"value": 6600000,
"ergoTree": "0008cd0340191c66444bad57a1c80b19fa86d7483b4cde996747ce2cd76a81f3a5dd2aa6",
"assets": [],
"additionalRegisters": {},
"creationHeight": 145398,
"transactionId": "e4563bb28cfe418f393b7958ce72ae4c10330dcc5eebde0cc3aba52bf88d898c",
"index": 1
},
{
"boxId": "07fc58183483abde549d9ac5193d52601bb29c2c4ab12a02534ccf3e99cd1252",
"value": 1800000,
"ergoTree": "0008cd0340191c66444bad57a1c80b19fa86d7483b4cde996747ce2cd76a81f3a5dd2aa6",
"assets": [
{
"tokenId": "7ba0e7bcd0f4c165e7f65b307f0989d569b02c25ccad6f5a0a28b566a0a80501",
"amount": 3
},
{
"tokenId": "b76359e49ffc64b220f6270d658309e8a732678b2fe86dc2355e19dddf9e2f60",
"amount": 1
},
{
"tokenId": "4ef9c5fa01d634eea5177eb9d5d73889a4b4a458c4024b1b646fc332c2346c27",
"amount": 15
}
],
"additionalRegisters": {},
"creationHeight": 145398,
"transactionId": "e4563bb28cfe418f393b7958ce72ae4c10330dcc5eebde0cc3aba52bf88d898c",
"index": 2
},
{
"boxId": "2e098d1da134eb36a4b86de2e121711a291357a1d9541e20dba41b1c07100b24",
"value": 1100000,
"ergoTree": "1005040004000e36100204a00b08cd0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ea02d192a39a8cc7a701730073011001020402d19683030193a38cc7b2a57300000193c2b2a57301007473027303830108cdeeac93b1a57304",
"assets": [],
"additionalRegisters": {},
"creationHeight": 145398,
"transactionId": "e4563bb28cfe418f393b7958ce72ae4c10330dcc5eebde0cc3aba52bf88d898c",
"index": 3
}
]
}
Discovered in https://github.com/ergoplatform/oracle-core/issues/182
@greenhat @aslesarenko I guess the error is coming from interpreter ?
@greenhat @aslesarenko I guess the error is coming from interpreter ?
I don't think so. It's a token minting tx, so all inputs should be p2pk.
The reason for this error is an empty boxesToSpend
(inputs not found) at https://github.com/ergoplatform/ergo/blob/37a2e078d6d4f0540ea785768533ec3334a6e490/src/main/scala/org/ergoplatform/modifiers/mempool/ErgoTransaction.scala#L385
Will do a better error for such case
@greenhat I moved boxes-to-spend check before outputs(w. creationHeight) check. Thus in case of empty boxesToSpend error would be "Missing inputs: ..."