Author Topic: BTS wallet_contact issues  (Read 1048 times)

0 Members and 1 Guest are viewing this topic.

Offline nethyb

  • Full Member
  • ***
  • Posts: 197
    • View Profile
  • BitShares: nethyb
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.

Code: [Select]
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

Code: [Select]
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 …

Code: [Select]
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!

Code: [Select]
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...

Code: [Select]
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....

Code: [Select]
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…

Code: [Select]
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

Code: [Select]
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!

Code: [Select]
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…

Code: [Select]
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