- Use Rust (via anchorpy-core) to parse IDLs.
This removes the
anchorpy.idl.Idl
class 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
import
code 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.readonly
constructor for using AnchorPy only to fetch data (#58)commitment
parameter in.fetch
and.fetch_multiple
methods (#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
pyheck
instead ofinflection
for case conversion - Update
solana
andapischema
dependencies.
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-py
0.19.0.
- Update
sumtypes
dep so it works on Python 3.10 - Fix handling of enums with C-like struct variants.
Program.fetch_raw_idl
method to fetch an IDL json without parsing it into anIdl
instance.
- Upgrade solana-py dep so
.send
returns the tx signature and not the signature status. - Dedupe transaction signers
- Missing
pytest-xprocess
dep (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.type
entries, and theaccounts
argument toContext
. - BREAKING:
instructions
is replaced withpre_instructions
andpost_instructions
. (kevinheavey#18) - BREAKING: User-defined types must now be constructed using the new
program.type
namespace. kevinheavey#7 This also affects the return type of.fetch
- the returned object is now a dataclass and requires.
access instead of[]
. - BREAKING:
provider.client
is renamed toprovider.connection
. - Refactor
.send
to use moresolana-py
functionality. 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
at
andfetch_idl
classmethods toProgram
. - Better error message when an incorrect number of arguments is passed to an RPC function.
- Allow for
state
when parsing the IDL. - Add support for filtering
.all()
with a buffer, like in the TS client. - Add missing
.accounts
utility method toInstructionFn
. - Add
py.typed
file for mypy support. - Add
utils.rpc.invoke
function.
- Fix missing async/await keywords in
simulate.py
. - Catch unhandled TypeError when looking for custom error code in RPC response.
associated_address
function 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 🚀