Author Topic: Transaction sent to unknown public key  (Read 2934 times)

0 Members and 1 Guest are viewing this topic.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Here is the result of wallet_list_my_accounts

Code: [Select]
[{
    "index": 11,
    "id": 0,
    "name": "gatewayclient",
    "public_data": null,
    "owner_key": "BTS5AfzawTGh4gmoDBmxgBgAn38UeiDLy2e8VdB6dgn6n3iE2SzHq",
    "active_key_history": [[
        "2015-01-09T08:47:05",
        "BTS6hySPYfrGHLELX6TML6d8stR5wMdsoZyXPmJcBSiwHL31xaskB"
      ]
    ],
    "registration_date": "1970-01-01T00:00:00",
    "last_update": "2015-01-09T08:47:05",
    "delegate_info": null,
    "meta_data": null,
    "is_my_account": true,
    "approved": 0,
    "is_favorite": false,
    "block_production_enabled": false,
    "last_used_gen_sequence": 4,
    "private_data": {
      "gui_data": {}
    }
  }
]

I've pasted this here because I don't understand why the owner key and the active key are different?

BTS6hySPYfrGHLELX6TML6d8stR5wMdsoZyXPmJcBSiwHL31xaskB is the one shown in the GUI and therefore the one I added to the sender wallet in order to send funds to this key.

I know the the wallet is synced because I was able to send funds OK to the address returned by wallet_get_account_public_address.

I am not a 100% sure how the mechanics work in detail .. but you are supposed to add a contact using the owner's key ... though we can fix your issue easily:

1) dump the private key for the pubkey "BTS6hySPYfrGHLELX6TML6d8stR5wMdsoZyXPmJcBSiwHL31xaskB" with wallet_dump_private_key (don't share)
2) use the key from 1 to create a new (local account) with "wallet_import_private_key <wif_key> tempname true"
3) you now have a new account tempname that uses the 'active key' as account owner key and can therefore find those TITAN transactions
4) simply rescan the block that contains the tx in question with "scan <blockid>"

should work :)

Offline monsterer

Here is the result of wallet_list_my_accounts

Code: [Select]
[{
    "index": 11,
    "id": 0,
    "name": "gatewayclient",
    "public_data": null,
    "owner_key": "BTS5AfzawTGh4gmoDBmxgBgAn38UeiDLy2e8VdB6dgn6n3iE2SzHq",
    "active_key_history": [[
        "2015-01-09T08:47:05",
        "BTS6hySPYfrGHLELX6TML6d8stR5wMdsoZyXPmJcBSiwHL31xaskB"
      ]
    ],
    "registration_date": "1970-01-01T00:00:00",
    "last_update": "2015-01-09T08:47:05",
    "delegate_info": null,
    "meta_data": null,
    "is_my_account": true,
    "approved": 0,
    "is_favorite": false,
    "block_production_enabled": false,
    "last_used_gen_sequence": 4,
    "private_data": {
      "gui_data": {}
    }
  }
]

I've pasted this here because I don't understand why the owner key and the active key are different?

BTS6hySPYfrGHLELX6TML6d8stR5wMdsoZyXPmJcBSiwHL31xaskB is the one shown in the GUI and therefore the one I added to the sender wallet in order to send funds to this key.

I know the the wallet is synced because I was able to send funds OK to the address returned by wallet_get_account_public_address.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I assume you made a TITAN transaction using wallet_transfer <account-name>?

No, I transferred using the GUI. edit: the sender account was registered, so I guess that makes it TITAN?

Quote
If so, what you see is a "stealth" public key ..

check with this command from within the wallet that should have received the funds
Code: [Select]
wallet_verify_titan_deposit <transaction_id_prefix>                                                   Verify whether the specified transaction made a TITAN deposit to the current wallet; returns null if not
Verify whether the specified transaction made a TITAN deposit to the current wallet; returns null if not

Parameters:
  transaction_id_prefix (string, required): the id (or id prefix) of the transaction record

Returns:
  optional_variant_object


That returns null on the machine which should have but did not receive the funds.

This definitely is a TITAN transaction if you used the GUI with a registered name .. Hence the public key / address in the transactions CANNOT be linked to a account name from outside ..

you could try doing what is stated in
http://wiki.bitshares.org/index.php/RecoveringFunds#Regenerate_account_transaction_keys

But first, check that the client that should have received the funds
 - is synced fully
 - and has the account name with the correct public key in "wallet_list_my_accounts"
 - also you can try rescan the block that contains the transaction manually with "scan <blockid>" in the console

Offline monsterer

I assume you made a TITAN transaction using wallet_transfer <account-name>?

No, I transferred using the GUI. edit: the sender account was registered, so I guess that makes it TITAN?

Quote
If so, what you see is a "stealth" public key ..

check with this command from within the wallet that should have received the funds
Code: [Select]
wallet_verify_titan_deposit <transaction_id_prefix>                                                   Verify whether the specified transaction made a TITAN deposit to the current wallet; returns null if not
Verify whether the specified transaction made a TITAN deposit to the current wallet; returns null if not

Parameters:
  transaction_id_prefix (string, required): the id (or id prefix) of the transaction record

Returns:
  optional_variant_object


That returns null on the machine which should have but did not receive the funds.
« Last Edit: January 13, 2015, 01:15:44 pm by monsterer »
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
I assume you made a TITAN transaction using wallet_transfer <account-name>?

If so, what you see is a "stealth" public key ..

check with this command from within the wallet that should have received the funds
Code: [Select]
wallet_verify_titan_deposit <transaction_id_prefix>                                                   Verify whether the specified transaction made a TITAN deposit to the current wallet; returns null if not
Verify whether the specified transaction made a TITAN deposit to the current wallet; returns null if not

Parameters:
  transaction_id_prefix (string, required): the id (or id prefix) of the transaction record

Returns:
  optional_variant_object


Offline monsterer

For my gateway testing I've created an unregistered account on my spare lap top. To fund it, I had to add its public key and account name to my main wallet. This all worked fine.

However, when trying to send funds to this account I get a transaction ledger entry which shows the funds didn't go to the correct public key at all.

From account: BTS7usxZ6jKRptKTr3gAZEhgxceoBBvT7ZmrVxZ2b8LPrYfz4Lsib (pay.monsterer)
To account:BTS6hySPYfrGHLELX6TML6d8stR5wMdsoZyXPmJcBSiwHL31xaskB (gatewayclient)

The wallet GUI shows this transaction as being sent fine. However it never turned up on the gatewayclient wallet. Calling wallet_get_transaction 9076cce58527d0b92f65b74f9c405c0cb1b733df results in this:

Code: [Select]
"ledger_entries": [{
      "from_account": "BTS7usxZ6jKRptKTr3gAZEhgxceoBBvT7ZmrVxZ2b8LPrYfz4Lsib",
      "to_account": "BTS5dvyrpghWB9vmcZtcJVWJtYhLCQ4S8ptriskuLv45Qqi4FDe8X",
      "amount": {
        "amount": 100000,
        "asset_id": 0
      },

Notice the to_account is not correct?

Any idea what has happened here?

Cheers, Paul.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads