An ICP account hash is a one-way hash of account principal and a sub account. You can’t get the principal and sub account from this address.
In comparison the newer ICRC1 address format is not a hash but a textual format that describes the principal and sub account. In this format you can still get the principal and sub account from the address.
So for sending ICP to a non ICRC1 address (old hash format in hex) you can use the older transfer method instead of icrc1_transfer on the ledger canister.
The old transfer function is not included in the candid and wasm files in the official example.
Because I found that the common ICP addresses on the market are all in the traditional Hex encoding format.
Can you please provide a candid and wasm file address that is compatible with the old method?
I can see the transfer method in the .did file you’ve linked, but locally deploying this canister with the new wasm doesn’t work for me. Deployed the ledger locally but still getting:
DestinationInvalid, "IC0302: Canister has no update method 'transfer'"
I deleted my .dfx folder but now I can’t deploy this. At first it complains record field send_whitelist not found. After adding this in I get cannot be of type variant { Upgrade : opt UpgradeArgs; Init : InitArgs }
What command did you use to deploy this version locally?