- Relax solana-py dependency #(141)
- Use solana-py 0.33.0 #(138)
- Fix anchorpy import when no extras are included #(136)
- Add support for alias types in IDL #(129)
- Make the Pytest plugin dependencies optional. Install with
pip install anchorpy[pytest]
if you want the Pytest plugin #(129) - Update to Anchor 0.29.0 #(132)
- Update to solders 0.20.0 #(132)
- Update to solana-py 0.32.0 #(132)
Client-gen: add support for optional accounts #(128)
Client-gen: fix missing sanitization in to_json method generation #(129)
Use latest solders
and solana-py
#(126)
Use latest solders
and solana-py
#(125)
- Add
bankrun_fixture
toanchorpy.pytest_plugin
. This callssolders.bankrun.start()
and deploys programs to the test environment.
- Use latest solders and solana-py.
- Don't do any signing or blockhash fetching in
Provider.send
,.send_all
and.simulate
. - Remove
SendTxRequest
class - Replace
Transaction
withVersionedTransaction
in the.transaction
namespace. - Add mandatory
payer
andblockhash
params to.transaction
so it always returns a fully-formed tx.
Bump minimum version of zstandard dep #(112)
Use latest solana-py #(111)
Use latest solana-py #(106)
- Update pytest dependencies #(101)
- Add PDA resolution and common pubkeys to client-gen #(97)
- Add support for non-Anchor clients, starting with SPL Token (#98)
- Add methods builder (#99)
- 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 (#13).
This affects
program.rpc
,program.instruction
, fields insideprogram.type
entries, and theaccounts
argument toContext
. - BREAKING:
instructions
is replaced withpre_instructions
andpost_instructions
. (#18) - BREAKING: User-defined types must now be constructed using the new
program.type
namespace. #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. #11
- Added a Pytest plugin for a better testing experience #5 #17
- Added support for fetching multiple accounts at once #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 🚀