* associated-token-account: Add transfer / close nested accounts
* Swap wallet and wrong_wallet in test
* Use new error
* Force destination to wallet and ATA
* Fix merge conflicts
* Add more vanilla spl-token tests
* Improve test, fix instruction comments
* Address feedback
* Rename CloseNested -> RecoverNested, add comment
* Fix typo in comment
* token: Support both token programs in associated-token-account
* Rename spl-token -> spl-token-2022, spl-token-legacy -> spl-token
* Use spl-token by default
* Check mint in get_account_data_len
* Add checks for either token program
* Rebase fix
* Update version comments in tests
* Pass by ref
* Dedupe ExtensionTypes in length apis
* Depend on deduplication in ExtensionType::get_account_len
* Add Reallocate instruction
* Remove unneeded api
* Add set_account_type helper and remove unneeded StateWithExtensionsMut api
* Use token-2022 in ProgramTest
* Add get_account_len() helper with CPI to spl_token::get_account_data_size()
* Add test for extended mints/accounts using transfer_fee
* feat: create explicit CreateAssociatedTokenAccount instruction
* feat: add create_associated_token_account for explicit instruction
* chore: update comments and make clippy happy
* chore: redirect legacy instruction creator to new instruction
* chore: update comments
* wip: scaffold mint to instruction creator and test
* Revert "wip: scaffold mint to instruction creator and test"
This reverts commit f8254050f8dd0c1b3d103277697be3d1037c8a5e.
* chore: flag legacy create_associated_token_account as deprecated
* chore: rename CreateAssociatedTokenAccount to Create
* chore: move create_pda_account to tools:account
* chore: comment deprecated attribute to prevent warnings until 1.0.4 is released
* chore: fix test name
* feat: remove Rent account from explicit instruction
* chore: use current spl_token for implicit instruction test
* chore: replicate legacy implicit instruction in test
* chore: remove program name from instruction msg