I use BTS wallet contact accounts associated with BTS public keys to allow miners to mine BTS at minebitshares.com without having to register an account to login...
They simply user their BTS key as their username...
i.e. BTSX7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q
This has worked very well for the last few months, but since Dec 20th and "client_version": "v0.4.27.1", the pools auto payouts have failed due to issues with 'resolving' wallet contacts.
There are two issues it appears:
1. When I've created a local contact account using a public key, if the public key belongs to a registered account, it appears the client 'resolves' the key to the registered account name and I can no longer reference the local contact using the name I originally used as the contact name.
2. I cannot remove the contact - it appears as though wallet_remove_contact_account does not save the removal to the users wallet - the removed contact re-appears on restart
This is not true for newly registered accounts - this may be only true for accounts registered before the change from BTSX to BTS public keys.
It's effect means I've having to manually payout miners, which is a very time intensive process and so is delaying payments...
I've detailed the steps below so someone can repeat and confirm the issue, any help or confirmation that this is a know issue, would be very useful, I'll add it to github as well.
Adding a local contact account for a public key that has been registered.
btsx-minebitshares-pool-dev (unlocked) >>> wallet_add_contact_account lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q
Backing up wallet...
Wallet automatically backed up to: /home/ubuntu/coins/wallets/bitshares/wallets/.backups/btsx-minebitshares-pool-dev/btsx-minebitshares-pool-dev-20141229T074127-account_add.json
btsx-minebitshares-pool-dev (unlocked) >>> wallet_add_contact_account lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8qOK
btsx-minebitshares-pool-dev (unlocked) >>> wallet_list_accounts
NAME (* delegate) KEY REGISTERED FAVORITE APPROVAL
mulla BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q 2014-07-29T11:48:20 NO 0
payouts-minebitshares-com BTS6MGC2NPkVDHhdrDoEpFKyp6jSW9UzLGMZNJBn9NN3ghDhyCuSn 2014-12-29T07:13:30 NO 0
scrypt-btsx-pool-minebitshares-dev BTS8FfztmR6VaynkX73RUay8RZ74MHiBMA2MWaTZ3rnKH6GQte9kC NO NO 0
sha256-btsx-pool-minebitshares-dev BTS4vfunnBZomEjKnuSgtb2FRz4jwCSFQKa9SHAHYk6wJTduf6EwT NO NO 0
x11-btsx-pool-minebitshares-dev BTS6jRbVkT7kAdTM9x3B3AjpmjatQy7f9qfreZDCAiF6QdYRyVVaQ NO NO 0
Note: the client appears to have ‘resolved’ the contact into the registered name ‘mulla’ associated with the public key.
Right away, I’m able to refer to the contact account …
btsx-minebitshares-pool-dev (unlocked) >>> wallet_transfer 1 BTS lostfound lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q PayoutTest
TIMESTAMP BLOCK FROM TO AMOUNT MEMO FEE ID
======================================================================================================================================================================
2014-12-29T07:46:01 PENDING lostfound mulla 1.00000 BTS PayoutTest 0.50000 BTS 7d9530de
Email ea300bcfe53a09b820f62ae893015fe947b7b722 sent successfully, and is now known as 00036abf022762e49026f84212a4d816d4874889.
and...
btsx-minebitshares-pool-dev (unlocked) >>> wallet_get_account lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q
{
"index": 165,
"id": 13985,
"name": "mulla",
"public_data": {
"gravatarID": ""
},
"owner_key": "BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q",
"active_key_history": [[
"2014-07-29T11:48:20",
"BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q"
]
],
"registration_date": "2014-07-29T11:48:20",
"last_update": "2014-07-29T11:48:20",
"delegate_info": null,
"meta_data": null,
"is_my_account": false,
"approved": 0,
"is_favorite": false,
"block_production_enabled": false,
"last_used_gen_sequence": 0,
"private_data": null
}
But as soon as I restart the bitshares client…
The local contact can no longer be referenced!
btsx-minebitshares-pool-dev (unlocked) >>> wallet_get_account lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q
20006 unknown_account: unknown account
Unknown account name!
{"account_name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q"}
th_a wallet.cpp:1315 get_account
{}
th_a wallet.cpp:1334 get_account
{"account_name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q"}
th_a wallet_api.cpp:765 wallet_get_account
{}
th_a common_api_client.cpp:4546 wallet_get_account
{"command":"wallet_get_account"}
th_a cli.cpp:579 execute_command
btsx-minebitshares-pool-dev (unlocked) >>>
And I can no longer use the contact to send payments...
btsx-minebitshares-pool-dev (unlocked) >>> wallet_transfer 1 BTS lostfound lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q PayoutTest
20006 unknown_account: unknown account
Unknown account name!
{"account_name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q"}
th_a wallet.cpp:1315 get_account
{}
th_a wallet.cpp:1334 get_account
{}
th_a common_api_client.cpp:3759 wallet_transfer
{"command":"wallet_transfer"}
th_a cli.cpp:579 execute_command
If I try and add the contact again… it recognises the public key is associated to the registered name....
btsx-minebitshares-pool-dev (unlocked) >>> wallet_add_contact_account lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q
20038 duplicate_key: duplicate key
Provided key already belongs to another wallet account! Provided: lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q, existing: mulla
{"p":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q","e":"mulla"}
th_a wallet.cpp:1274 add_contact_account
{"account_name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q","key":"BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q"}
th_a wallet.cpp:1301 add_contact_account
{}
th_a common_api_client.cpp:3559 wallet_add_contact_account
{"command":"wallet_add_contact_account"}
th_a cli.cpp:579 execute_command
And if I try and remove the contact using the registered name it appears to work OK…
btsx-minebitshares-pool-dev (unlocked) >>> wallet_remove_contact_account mulla
OK
And is no longer listed using wallet_list_accounts
But I cannot create a new contact with that same public key
btsx-minebitshares-pool-dev (unlocked) >>> wallet_add_contact_account lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q
10 assert_exception: Assert Exception
!key_record.valid(): Wallet already contains that key
{}
th_a wallet_db.cpp:393 add_contact_account
{"blockchain_account_record":{"id":0,"name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q","public_data":null,"owner_key":"BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q","active_key_history":[["2014-12-29T07:52:45","BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q"]],"registration_date":"1970-01-01T00:00:00","last_update":"2014-12-29T07:52:45","delegate_info":null,"meta_data":null}}
th_a wallet_db.cpp:401 add_contact_account
{"account_name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q","key":"BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q"}
th_a wallet.cpp:1301 add_contact_account
{}
th_a common_api_client.cpp:3559 wallet_add_contact_account
{"command":"wallet_add_contact_account"}
th_a cli.cpp:579 execute_command
btsx-minebitshares-pool-dev (unlocked) >>>
And - it appears as though it was never actually deleted, because it appears again after I restart the client!
btsx-minebitshares-pool-dev (unlocked) >>> wallet_list_accounts
NAME (* delegate) KEY REGISTERED FAVORITE APPROVAL
mulla BTS7wjLyYs2cR1Gj9WX9vW1kELndM2u4UCEnr5VgLyTiH1wib3w8q 2014-07-29T11:48:20 NO 0
payouts-minebitshares-com BTS6MGC2NPkVDHhdrDoEpFKyp6jSW9UzLGMZNJBn9NN3ghDhyCuSn 2014-12-29T07:13:30 NO 0
scrypt-btsx-pool-minebitshares-dev BTS8FfztmR6VaynkX73RUay8RZ74MHiBMA2MWaTZ3rnKH6GQte9kC NO NO 0
sha256-btsx-pool-minebitshares-dev BTS4vfunnBZomEjKnuSgtb2FRz4jwCSFQKa9SHAHYk6wJTduf6EwT NO NO 0
x11-btsx-pool-minebitshares-dev BTS6jRbVkT7kAdTM9x3B3AjpmjatQy7f9qfreZDCAiF6QdYRyVVaQ NO NO 0
--- syncing with p2p network, 14959 blocks left to fetch
btsx-minebitshares-pool-dev (unlocked) >>>
And still cannot reference it…
btsx-minebitshares-pool-dev (unlocked) >>> wallet_get_account lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q
20006 unknown_account: unknown account
Unknown account name!
{"account_name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q"}
th_a wallet.cpp:1315 get_account
{}
th_a wallet.cpp:1334 get_account
{"account_name":"lc.bts7wjlyys2cr1gj9wx9vw1kelndm2u4ucenr5vglytih1wib3w8q"}
th_a wallet_api.cpp:765 wallet_get_account
{}
th_a common_api_client.cpp:4546 wallet_get_account
{"command":"wallet_get_account"}
th_a cli.cpp:579 execute_command