Commit Graph

31 Commits

Author SHA1 Message Date
Christian Kamm 27bb695685
Idl: Limit account size to 60kb, allow closing idl accounts (#2329) 2023-01-05 13:25:21 +00:00
Jean Marchand (Exotic Markets) 38bbb21c33
lang: remove the state and interface attributes (#2285) 2022-12-22 16:33:44 +00:00
Sammy Harris 484628070c
Feat: Optional Positional Accounts (#2101)
* optional accounts initial implementation

* cargo fmt

* panic if Account related traits are run on none

* Allow empty accounts to deserialize to None for optional accounts

* implement constraints for optional accounts

* optional accounts to idl gen

* accountstruct helper method

* implemented to_account_metas and infos

* add test program

* Rename optional to is_optional

* added more traits

* added TryKey error

* fix has_one

* update prelude

* is_optional

* add is_optional helper method

* Add TryAccountInfos trait

* improve constraint parser

* initial work on TryToAccountInfo

* Rename to TryToAccountInfo

* finished implementing tryToAccountInfo

* Using program method

* Formatting

* Fix program function call

* Remove function return borrow

* Fix access to program field

* finished implementing tryToAccountInfo

* add exit try_to_account_infos

* descriptive ID path

* try_to_account_info

* fix close constraint

* update test files

* completed typescript optional accounts implementation

* fix try accounts for init

* update tests

* fix to_account_metas

* update tests

* fix linting

* remove types/node

* update yarn.lock maybe?

* update optional test

* update optional test

* update optional rust cli test

* fix linting and tests

* fix tests

* update try_accounts to pass in accs during constraint gen

* Add default impl for TryToAccountInfos

* Removed TryToAccountInfos trait

* Formatting

* remove unneccesary traits and improve constraint gen drastically

* fix exit generation

* clippy

* improve cross check error message

* improve comments

* more comments

* update constraints hopefully good now?

* add new errors to ts client

* add new errors to ts client

* update optional test

* update anchor ts client

* update misc crate

* linting

* temporarily comment out optional rs tests

* update ts

* remove local test files

* linting

* optional client tests

* fix other lints to make the test pass

* remove comments

* remove misc-optional for now

* update optional program

* update optional program and client tests again

* update optional program and client tests again again

* added initialize tests that should pass

* undo unrelated anchor.toml change

* update close on optional program and improve tests

* update optional program again.

* update optional program and optional tests

* fix has one error message

* fix client example tests

* update lockfile

* update lockfile

* regenerate lockfile

* reset lockfile

* reset ts yarn lockfile

* update no caching tests

* update exit codegen to use generate_optional_check

* remove `try_to_account_infos`

* update parser to ignore method calls in constraints

* refactor and improve optional checks in constraints

* add misc-optional program and tests

* enable cpi for optional tests

* Revert "enable cpi for optional tests"

This reverts commit c864cd5d4f.

* simplify misc tests

* update version

* fix rust version and resolve merge conflicts

* prevent Option on composite accounts

* hopefully fixed ts stuff?

* hopefully fixed ts stuff?

* testing

* hopefully done?

* update misc test

* fix optional tests

* fix ts

* fix ts again!

* linting urg

* allow-missing-optionals feature

* fix client tests

* add bnjs types to tests

Co-authored-by: febo <febo@kent.ac.uk>
Co-authored-by: Henry-E <henry.elder@adaptcentre.ie>
2022-12-12 15:32:59 +00:00
Henry-E 19e00e5d8f
Don't allow the payer to be initialized as a program account (#2284)
* don't allow people to initialize the payer as a program account

* update changelog

* accidentally commented out part of another test

Co-authored-by: henrye <henry@notanemail>
2022-11-25 15:12:58 +00:00
Matthew Callens c47fb2877e
lang: adjust `realloc` implementation to safeguard max increase and idempotency (#1986) 2022-07-05 15:54:40 -04:00
guibescos 0916361f5e
Feature/error equality (#1544) 2022-04-20 19:12:50 -04:00
Paul 170a763625
lang: adjust error code so `#[error_code]` works with just importing `anchor_lang::error_code` (#1610) 2022-03-16 14:53:43 -04:00
Matthew Callens b376fd4615
lang: add additional `require_x` comparison macros (#1622) 2022-03-16 14:45:09 -04:00
Paul 721fe6693c
lang: add support for logging expected and actual values and pubkeys (#1572) 2022-03-15 11:42:17 -04:00
Matthew Callens a78c9c0341
lang: add sysvar custom error and failing test case (#1535) 2022-03-01 11:33:18 -05:00
Paul 40596824bf
error redesign (#1462) 2022-02-20 17:28:24 -05:00
Armani Ferrante f39ea73a65
lang: cargo fmt (#1459) 2022-02-16 22:07:56 -05:00
Paul 2d9209ba33
improve error code reference (#1454) 2022-02-16 16:11:12 +01:00
Paul 1f56a62bab
lang: add check that declared id == program id (#1451) 2022-02-15 18:16:06 -05:00
Paul 2390a4f167
lang: fix error mod exports (#1426) 2022-02-10 15:54:12 -05:00
Paul b3720a0b84
lang, ts: fix init_if_needed missing ATA address check (#1221) 2022-01-01 21:47:13 -05:00
Paul 4013ec9337
lang, docs: ErrorCode docs (#1204) 2021-12-30 20:46:49 -05:00
Paul d43d965cfb
lang: fix constraint typo (#1166) 2021-12-21 22:13:51 +03:00
man0s 561f7cdaa8
Change AccoutNotProgramOwned error to AccountOwnedByWrongProgram (#1154) 2021-12-17 13:34:43 +01:00
Paul 423ddde30a
lang: Always execute constraints for init_if_needed (#1096) 2021-12-08 16:50:08 -05:00
Paul 3321a3f9c9
lang: Add ProgramData account (#1095) 2021-12-05 14:14:16 -05:00
Mikhail Gorbachev 2d44654a4b
lang: Add `AccountNotInitialized` error (#1024) 2021-11-18 07:42:07 -08:00
Matthew Callens 20726d06bd
lang: Add `SystemAccount<'info>` Account Type (#954) 2021-10-30 11:45:06 -05:00
Armani Ferrante b1ef7431ec
lang, spl: Program and Signer types (#705) 2021-09-11 14:43:12 -07:00
Armani Ferrante 75c20856e4
lang: Consistent init constraints (#641) 2021-08-29 14:25:38 -07:00
Kirill Fomichev 2d974604ae
lang: Remove belongs_to in favor of has_one (#459) 2021-07-03 11:58:23 -07:00
Armani Ferrante f067624add
Token PDAs and CLI scripts (#400) 2021-06-27 13:17:05 -07:00
Armani Ferrante df51a27a48
lang, ts: Account close constraint (#371) 2021-06-09 15:40:43 -07:00
Armani Ferrante ba99c9c920
lang: Framework defined error codes (#354) 2021-06-09 13:02:50 -07:00
Armani Ferrante 81e03c5e37
lang: Cleanup private apis and documentation (#169) 2021-04-10 17:47:14 -07:00
Armani Ferrante f0297012c6
Create lang dir 2021-01-30 05:23:23 -08:00