Address with permission gets doesn't have permission error

+2 votes

After granting 'send' permission to an address, this address is unable to be used as a 'from' address in the 'sendwithmetadatafrom' command.  Below I have pasted relevant outputs from multichain:

Command:

multichain-cli accomplishments sendwithmetadatafrom 1PoxkF6j6CD65dcrRkhNJn6NKgmReNw2Tc4okY 1PoxkF6j6CD65dcrRkhNJn6NKgmReNw2Tc4okY 0 536F6D652044617461

 Output:

{"method":"sendwithmetadatafrom","params":["1PoxkF6j6CD65dcrRkhNJn6NKgmReNw2Tc4okY","1PoxkF6j6CD65dcrRkhNJn6NKgmReNw2Tc4okY",0,"536F6D652044617461"],"id":1,"chain_name":"accomplishments"}

 

error code: -5

error message:

from-address doesn't have send permission

Permission output for relevant address:

    {

        "address" : "1PoxkF6j6CD65dcrRkhNJn6NKgmReNw2Tc4okY",

        "for" : null,

        "type" : "send",

        "startblock" : 0,

        "endblock" : 4294967295,

        "admins" : [

            "1YSGrLsv8AS2qr9kwcyh3Jcz7KnfB9tZ5SpTAd"

        ],

        "pending" : [

        ]

    },

    {

        "address" : "1PoxkF6j6CD65dcrRkhNJn6NKgmReNw2Tc4okY",

        "for" : null,

        "type" : "receive",

        "startblock" : 0,

        "endblock" : 4294967295,

        "admins" : [

            "1YSGrLsv8AS2qr9kwcyh3Jcz7KnfB9tZ5SpTAd"

        ],

        "pending" : [

        ]

    }

 

If I run the `sendwithmetadata` command, omitting the from address, this call works fine.  Any insight as to why an address with the send permission would be getting an error saying it does not have the send permission?

I am running this as a single original node and one worker node.  I have run the above commands on the worker node.

 

asked Dec 6, 2016 by mlangreder

1 Answer

+2 votes
On first glance this does look like a bug, triggered by some edge case. Can you please let us know which version you are using? We may also ask you to send the blockchain files from this node.
answered Dec 6, 2016 by MultiChain
We're using multichain-1.0-alpha-24.
I've just updated to alpha-26.  When I do the above, I get a new error from multichain: "Private key for from-address is not found in this wallet".

For sending/issuing assets, is it required that the issuing keys be imported into multichain?
OK, so you just had a wrong error message in the older version - that makes sense. In general you can't perform any action on a MultiChain blockchain from a particular address unless the node has the private key for that address. Otherwise the entire idea of blockchain security would break down.
That makes sense, and was my hunch.  Appreciate the help!  Do keys need to be converted into multichain format before being imported?
If you use dumpprivkey to get them from one node, they'll already be formatted correctly for importing into another. See also: http://www.multichain.com/developers/address-key-format/
...