- Use Rust (via anchorpy-core) to parse IDLs.
This removes the
anchorpy.idl.Idlclass and replaces it withanchorpy_core.idl.Idl, which uses some different types and supports newer IDL features. This change only affects code that used the Idl class directly; normal AnchorPy behaviour is unchanged.
- Use latest solana-py #(92)
- Remove vestigial sumtypes dep #(91)
- Added support for docs in IDLs #(88)
- Add first-class support for
remaining_accounts#(83) - Allow dynamically overriding
program_id#(83)
- Fix identifiers clashing with Python keywords #(87)
Add missing BorshPubkey import in generated client types #(81)
Use latest solana-py #(78)
- Handle empty structs in clientgen #(75)
- Fixed edge case where invalid
importcode gets generated #(71) - Include logs in ProgramError instances #(72)
- Updated error codes (#69)
- Updated event parser to support sol_log_data (#68)
- Updated solana-py dependency to 0.23.1 (#67)
Upgraded zstandard dependency (#60)
Provider.readonlyconstructor for using AnchorPy only to fetch data (#58)commitmentparameter in.fetchand.fetch_multiplemethods (#58)
- Cache some generated Python types to avoid issues with checking equality (#57)
- Add experimental support for tuple enum variants
- Don't crash when loading a Program that uses unsupported types
Update pytest and pytest-asyncio dependencies.
Update ipython dependency to pick up ACE vulnerability patch. More here.
Some more deps needed upating.
Release again because last release was made before merging.
- Use
pyheckinstead ofinflectionfor case conversion - Update
solanaandapischemadependencies.
Added AnchorPy CLI (#42).
Bumped apischema dependency to latest version (#42).
- AnchorPy now targets Anchor 0.19.0 (#39)
- Fixed event parser (#38)
- Support
solana-py0.19.0.
- Update
sumtypesdep so it works on Python 3.10 - Fix handling of enums with C-like struct variants.
Program.fetch_raw_idlmethod to fetch an IDL json without parsing it into anIdlinstance.
- Upgrade solana-py dep so
.sendreturns the tx signature and not the signature status. - Dedupe transaction signers
- Missing
pytest-xprocessdep (it was marked as a dev dependency only)
- BREAKING: Some program namespace entries are now snake-case (kevinheavey#13).
This affects
program.rpc,program.instruction, fields insideprogram.typeentries, and theaccountsargument toContext. - BREAKING:
instructionsis replaced withpre_instructionsandpost_instructions. (kevinheavey#18) - BREAKING: User-defined types must now be constructed using the new
program.typenamespace. kevinheavey#7 This also affects the return type of.fetch- the returned object is now a dataclass and requires.access instead of[]. - BREAKING:
provider.clientis renamed toprovider.connection. - Refactor
.sendto use moresolana-pyfunctionality. kevinheavey#11
- Added a Pytest plugin for a better testing experience kevinheavey#5 kevinheavey#17
- Added support for fetching multiple accounts at once kevinheavey#19
- Add
atandfetch_idlclassmethods toProgram. - Better error message when an incorrect number of arguments is passed to an RPC function.
- Allow for
statewhen parsing the IDL. - Add support for filtering
.all()with a buffer, like in the TS client. - Add missing
.accountsutility method toInstructionFn. - Add
py.typedfile for mypy support. - Add
utils.rpc.invokefunction.
- Fix missing async/await keywords in
simulate.py. - Catch unhandled TypeError when looking for custom error code in RPC response.
associated_addressfunction inutils/token.py
- Fixed errors with non-string IDL types.
Add optional path and url parameters to create_workspace.
This is so we can overhaul the tests.
First release 🚀