Skip to content

request: wallet/api/unsigned_transaction.cpp deprecate recipientAddress() for confirmationMessage() #10919

Description

@plowsof

result.push_back(cryptonote::get_account_address_as_str(m_wallet.m_wallet->nettype(), utx.dests[0].is_subaddress, utx.dests[0].addr));

when testing offline signer wallets - i noticed cupcake had an issue with a pay-to-many transaction. they have a check to confirm (amts.length != addrs.length) but are only given dests[0] where as amount returns all

anonero also uses recipientAddress() . anonero-fork has provided a solution to move to pay-to-many

reason for deprecation is this could lead to a huge gotcha bug where consumers of the api using recipientAddress() only show dest[0] of a pay to many transaction - possibly leading to the cold wallet being drained. cupcake have protections against this but anonero does not (these are universal* cold signers so could be presented a pay-to-many transaction from a compatible wallet)

monero-gui and feather are looping over the recipientAddress() is dead code?

monero-gui uses m_confirmationMessage here which contains all the destinations just fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions