Inputs don't belong to valid admin

+1 vote

REASON FOR THIS ERROR: The error occured because the neccessary txids / vouts were missing



first of all I get this message:
error code: -26
error message:
64: Inputs don't belong to valid admin

Now the details:

I create following raw transaction (I have shortend the addresses etc..):

createrawtransaction [{"txid":"TXID","vout":0}] {

"multiaddr. A (4..)":{"ASSET":1},

"addr. X (1..)":{"permissions":{"for":"ASSET_STREAM","type":"admin,write"}},

"addr. Y (1..)":{"permissions":{"for":"ASSET_STREAM","type":"write,admin","startblock":0,"endblock":0}}}

with asset ASSET and stream ASSET_STREAM. TXID is the transaction held by multisigaddress B.

The scenario is that 1 ASSET should be transfered from multisigaddress B to multisigaddress A. Simultaneously the write and admin permissions for ASSET_STREAM should be granted to address X and revoked from address Y.

The multisig-structure is as follows:

A = X + Z

B = Y + Z

Z is one other address (1..). X, Y and Z run on different nodes.

When I have finished the signing process and I get "complete" : true along with the tx-hex I try to send the transaction with

sendrawtransaction tx-hex

At this point I get the Message from the start.

What is happening here? What admin is meant? Is it even possible to bundle all these transactions into one?

Thanks for your help and explanation. :)


edit: I forgot to mention that the transaction TXID is held by multisigaddress B.


asked Jul 10, 2018 by zolar
edited Jul 12, 2018 by zolar
I had a second thought on this and I'm pretty sure I have to specify the TXIDs for sending the permissions.
Would be nice to have a confirmation on this though...

1 Answer

0 votes

I recommend using createrawsendfrom for this, rather than createrawtransaction. This lets you specify the from address to use for the transaction, automatically selects the right inputs, and still supports building these complex multi-function transactions.

answered Jul 11, 2018 by MultiChain
Thanks for the recommendation. Actually I tried createrawsendfrom. The problem is, that the transaction is more a request and not the execution. It would be "createrawsendfrom address_on_other_node {self:xxx}"
I had problems to use createrawsendfrom from a node that has no control of the address...

It works now with createrawtransaction! :)
I try it with createrawsendfrom the next time.