This issue has been present since V14 or so, it is the same as #1019 - but was missing an important detail which is why it was closed as un-reproducible
Description of bug:
When you use the rpc receive action on a node/development wallet then the representative is set to the account itself, rather than the wallet representative.
Example, if you have an account in the node wallet:
nano_1hmefcfq35td5f6rkh15hbpr4bkkhyyhmfhm7511jaka811bfp17xhkboyxo
And you do an RPC receive for any block, the representative for that account will become nano_1hmefcfq35td5f6rkh15hbpr4bkkhyyhmfhm7511jaka811bfp17xhkboyxo
This issue does not occur when transactions are auto-received, only when they are received using the RPC receive action.
Steps to reproduce the issue:
wallet_create with auto receive disabledaccount_createreceive to pocket the funds from the accountDescribe the results you received:
Accounts in the node/developer wallet always set the representative field to themselves when using rpc receive
Describe the results you expected:
Accounts use the wallet representative
Additional information you deem important (e.g. issue happens only occasionally):
Issue happens consistently and is repeatable.
Environment:
Thanks for the detailed report! Validated that this is happening and will change to respect the wallet representative.
Did you find anywhere on the documentation implying the expected behavior?
Closest thing after a quick search over the documentation is wallet_representative_set
I presume the desired behavior is:
1) Only set representative for the open block
a) Use wallet representative, if it's set
b) Use one of the preconfigured_representatives in node config, if wallet representative isn't set
Should be good for V21, thanks again. Documentation was updated for RPC receive: https://docs.nano.org/commands/rpc-protocol/#receive
Most helpful comment
Closest thing after a quick search over the documentation is wallet_representative_set
I presume the desired behavior is:
1) Only set representative for the open block
a) Use wallet representative, if it's set
b) Use one of the preconfigured_representatives in node config, if wallet representative isn't set