Alessandro Decina
2c8a3f39a6
Consolidate syscalls under solana_program::syscalls, implement static syscalls (sbfv2) ( #24188 )
...
Move all syscall declarations under solana_program::syscalls. If the target
supports static syscalls (sbfv2), then actually define them statically to avoid
dynamic relocations.
2022-05-26 23:01:55 +10:00
HaoranYi
be630a5213
typo ( #25479 )
2022-05-23 18:42:43 +00:00
Michael Vines
b05c7d91ed
Fix derive_partial_eq_without_eq clippy lint
2022-05-22 22:22:21 -07:00
Justin Starry
10d677a092
Fix flakey v0::Message::test_try_compile test ( #25438 )
2022-05-21 20:49:07 +08:00
Alessandro Decina
9bf07ee206
More target_arch = "bpf" => target_os = "solana"
...
Continuing the work started in https://github.com/solana-labs/solana/pull/25358
2022-05-20 16:57:18 +10:00
Dmitri Makarov
569b00025c
fix: replace rust cfg annotations that use bpf by target_os solana
2022-05-18 20:39:43 -07:00
Jack May
21e066ef26
Merge pull request from GHSA-wxrh-ff9f-fc6w
2022-05-16 12:30:37 -07:00
Justin Starry
6c10515ccf
Revert "Serialize lamports per signature in snapshots ( #25181 )" ( #25228 )
...
This reverts commit 35d2a0fd69
.
2022-05-15 12:04:17 +00:00
Ashwin Sekar
35d2a0fd69
Serialize lamports per signature in snapshots ( #25181 )
...
* Serialize lamports per signature
* pr comments
2022-05-14 10:57:51 -07:00
Justin Starry
d8a8393994
Don't extract invoked keys from a message when using a lookup table ( #25065 )
...
* Refactor message compiled keys
* Prohibit invoked keys from being extracted by lookup table
2022-05-13 10:32:10 +08:00
Justin Starry
68800982ea
Add size_of const fns for upgradeable loader states ( #25131 )
2022-05-11 22:22:59 +08:00
Justin Starry
e3bdc38f0a
Add sanitized types for use in banking stage ( #25067 )
2022-05-11 00:30:48 +08:00
Jason
c80896b58f
speedup sysvar or builtin test ( #25047 )
...
* Add a quick lookup table to speed up sysvar/builtin key check
* Fix up the syntax
* Fix syntax
* Fix syntax 2
* Rename the static variable, improve commenting
* Fix merge error
* Fixed two clippy suggestions
* Improved commenting
2022-05-10 10:37:51 -05:00
Brian Anderson
8dd7aa9b40
Update sysvar module short docs ( #25070 )
2022-05-09 05:51:17 +00:00
Brian Anderson
c785f1ffc5
Fix indentation of Message API examples ( #25051 )
2022-05-06 14:50:43 -06:00
Justin Starry
082502d4f3
Fail tx sanitization when ix program id uses lookup table ( #25035 )
...
* Fail tx sanitization when ix program id uses lookup table
* feedback
2022-05-07 03:19:50 +08:00
Jason
ee1b92c480
Reorder a boolean computation to speed up processing ( #24913 )
...
* Move a computation to where it's actually needed in is_writable(), which speeds up the code.
* Simplified a bool expr, even though it's a little less clear now
* Reorganize to make demote_program_id explicit again
* Remove the unnecessary let; replace it with a comment
* try different comment style
* Used cargo fmt that time
* Made demote_program_id its own function, for clarity
2022-05-05 15:19:06 -05:00
Jack May
224e0b27a1
Simplify register and bind ( #24724 )
...
* Revert "Bumps solana_rbpf to v0.2.27 (#24694 )"
This reverts commit f3d27cc400
.
* Simplify syscall register and bind (#24546 )
* declare syscalls with macro (#24564 )
2022-04-28 10:24:42 +02:00
Michael Vines
533eadd024
Remove StakeState::get_rent_exempt_reserve()
2022-04-25 21:43:04 -07:00
Brian Anderson
7206f894eb
Move solana_program::example_mocks declaration to appear last in source files ( #24577 )
2022-04-22 06:43:27 +00:00
Justin Starry
d5127abf46
Only add hashes for completed blocks to recent blockhashes ( #24389 )
...
* Only add hashes for completed blocks to recent blockhashes
* feedback
2022-04-21 21:05:29 +08:00
Brian Anderson
658752cda7
And short descriptions to all solana-program modules and macros. ( #24128 )
...
* And short descriptions to all solana-program modules and macros.
Also fill out some of the docs within these modules.
* Update sdk/program/src/lib.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/program/src/sanitize.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/program/src/pubkey.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/program/src/program_memory.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/program/src/program_memory.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/program/src/program_memory.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/program/src/program_memory.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/program/src/program_memory.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update hash module docs
* Make solana-program crate docs match Pubkey docs
* Update sdk/program/src/program_memory.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-04-20 19:20:17 -06:00
Justin Starry
2ad1baa753
Add const fn StakeState::size_of and static assertion ( #24416 )
2022-04-20 01:04:12 +08:00
behzad nouri
16222553b8
defines const fn for serialized size of VoteState, Feature and Nonce ( #24435 )
...
bincode::serialized_sized requires constructing a temporary object and
it is slow. Silently changing serialized size of these structs can also
be a backward incompatible change.
This commit instead hard-codes serialized size of VoteState, Feature and
Nonce, and defines the functions as const. Added tests verify hard-coded
values.
2022-04-19 13:10:14 +00:00
Caio
b7bf00a9ee
Implement From<[u8; 32]> for Pubkey and Hash ( #24427 )
2022-04-18 07:36:31 +00:00
arusso-certik
41a9eb1bf2
Update doc for sol_memset ( #24101 )
2022-04-16 22:11:19 +08:00
Brooks Prumo
2456a7be35
Deprecate `MINIMUM_STAKE_DELEGATION` ( #24329 )
2022-04-14 11:59:18 -05:00
Michael Vines
57ff7371b4
Add StakeInstruction::DeactivateDelinquent
2022-04-14 01:49:22 -04:00
Brooks Prumo
e146e860e2
Add convenience function for programs to get minimum delegation ( #24175 )
2022-04-13 14:41:52 -05:00
Michael Vines
a2be810dbc
Resolve new clippy complaints
2022-04-11 18:15:03 -04:00
Brian Anderson
b38833923d
Use atomics instead of mutable statics in slot_hashes ( #24091 )
2022-04-11 15:12:50 -06:00
Ikko Ashimine
ecfa1964ff
sdk: fix typo in lib.rs ( #24240 )
...
recieved -> received
2022-04-11 22:36:08 +08:00
ignassew
0c2d9194dd
Fix typo in solana-program lib.rs ( #24170 )
2022-04-07 11:23:54 -06:00
Brooks Prumo
b14b8b1efa
Un-deprecate `MINIMUM_STAKE_DELEGATION` ( #24089 )
2022-04-03 15:09:41 -05:00
Brooks Prumo
2af6753808
Add GetMinimumDelegation stake program instruction ( #24020 )
2022-04-02 05:11:10 +00:00
Justin Starry
97170a5d38
Bump bytemuck version in solana-program for consistency ( #24043 )
2022-04-01 22:25:53 +08:00
Justin Starry
88326533ed
Add SDK support for creating transactions with address table lookups ( #23728 )
...
* Add SDK support for creating transactions with address table lookups
* fix bpf compilation
* rename compile error variants to indicate overflow
* Add doc tests
* fix bpf compatibility
* use constant for overflow tests
* Use cfg_attr for dead code attribute
* resolve merge conflict
2022-03-31 17:44:20 +08:00
Brian Anderson
210d98bc06
Document APIs related to durable transaction nonces
2022-03-30 22:49:29 -06:00
Jack May
37497657c6
assert-type-assumptions ( #23996 )
2022-03-30 08:28:49 -07:00
Brian Anderson
492c54a28f
Fix example mock Signer API in solana-program ( #23911 )
2022-03-24 17:58:51 -04:00
Brian Anderson
6428602cd9
Make find_program_address client example runnable ( #23492 )
2022-03-23 19:37:12 -06:00
Will Hickey
a573cfa39d
Revert "Remove unneeded unit expression"
...
This reverts commit e8e009704681999946abffb050215d14b6d2c2b1.
2022-03-23 10:22:18 -07:00
Will Hickey
c4ecfa5716
Bump version to v1.11 ( #23807 )
...
* Revert crossbeam_epoch to stable. 0.9.8 only works with nightly
* Remove unneeded unit expression
2022-03-21 17:40:50 -05:00
Justin Starry
15357480ec
Refactor instruction compilation and update message account key ordering ( #23729 )
...
* Refactor: Make instruction compilation usable for other message versions
* apply trents feedback
* Fix tests
* Fix bpf compatiblity
2022-03-21 20:53:32 +08:00
Brian Anderson
c9b8977226
Add crate docs for solana-program ( #23363 )
...
* Add crate docs for solana-program
* Rework solana-program docs for pr feedback
* Clarify log module docs
* Remove address lookup table program from solana-program docs
2022-03-18 08:27:51 -07:00
Will Hickey
2f58c9e501
Bump version to 1.10.4 ( #23743 )
2022-03-17 14:02:13 -05:00
Justin Starry
9ed056424c
Remove unused `InstructionRecorder` and some `SanitizedMessage` methods ( #23723 )
2022-03-17 20:25:12 +08:00
Justin Starry
0eccacbd5b
Add CLI support for versioned transactions ( #23606 )
2022-03-17 11:43:04 +08:00
Will Hickey
63bf0f66af
Bump version to 1.10.3 ( #23648 )
2022-03-14 11:18:45 -05:00
Will Hickey
b444836a97
Bump version to 1.10.2 ( #23597 )
2022-03-10 16:41:06 -06:00
Russell Wong
7b238b3645
fix: renamed the internal wasm_bindgen init function to avoid collision
2022-03-10 11:33:24 -08:00
Brooks Prumo
3c6840050c
Ensure blocks do not exceed the max accounts data size during Replay Stage ( #23422 )
2022-03-10 10:24:31 -06:00
sethgirvan
37189f20c5
Fix error message typo ( #23574 )
2022-03-10 05:03:02 +00:00
dependabot[bot]
12337d8daf
chore: bump curve25519-dalek from 3.2.0 to 3.2.1 ( #23517 )
...
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek ) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases )
- [Changelog](https://github.com/dalek-cryptography/curve25519-dalek/blob/main/CHANGELOG.md )
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/3.2.0...3.2.1 )
---
updated-dependencies:
- dependency-name: curve25519-dalek
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 01:14:37 -07:00
Justin Starry
3114c199bd
Add RPC support for versioned transactions ( #22530 )
...
* Add RPC support for versioned transactions
* fix doc tests
* Add rpc test for versioned txs
* Switch to preflight bank
2022-03-08 15:20:34 +08:00
Will Hickey
1a99251498
Bump version to 1.10.1 ( #23453 )
2022-03-02 13:47:01 -06:00
Jeff Washington (jwash)
611d745241
refactor rent_due for normal case of exempt ( #23350 )
2022-02-28 09:42:42 -06:00
dependabot[bot]
856d29c7b7
chore: bump parking_lot from 0.11.2 to 0.12.0 ( #23087 )
...
* chore: bump parking_lot from 0.11.2 to 0.12.0
Bumps [parking_lot](https://github.com/Amanieu/parking_lot ) from 0.11.2 to 0.12.0.
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/0.11.2...0.12.0 )
---
updated-dependencies:
- dependency-name: parking_lot
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Sync parking_lot
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2022-02-23 20:07:07 -07:00
Brooks Prumo
ac70070e5b
Add MINIMUM_STAKE_DELEGATION constant ( #23259 )
...
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-02-22 09:21:23 -06:00
buffalu
70ebab2c82
Add rustfmt.toml and `cargo fmt` ( #23238 )
...
* fmt
* formatted
Co-authored-by: Lucas B <buffalu@jito.network>
2022-02-19 13:32:29 +08:00
Brian Anderson
f7753ce85f
Document message APIs ( #22873 )
...
* Document message APIs
* Ignore clippy
* Update sdk/program/src/message/mod.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Fix new_with_blockhash example
* Rename nonce_account_address in example
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
2022-02-11 11:47:36 -07:00
Justin Starry
ba215e94f6
Refactor: Add AccountKeys struct for static and dynamic message keys ( #22960 )
2022-02-05 20:00:31 +08:00
Jack May
ab02dba96f
Add get_processed_sibling_instruction syscall ( #22859 )
2022-02-02 16:45:57 -08:00
Will Hickey
75563f6c7b
Reject close of active vote accounts ( #22651 )
...
* 10461 Reject close of vote accounts unless it earned no credits in the previous epoch. This is checked by comparing current epoch (from clock sysvar) with the most recent epoch with credits in vote state.
2022-02-02 14:16:24 -06:00
Brooks Prumo
3993cd765c
Remove rewrite_rent_exempt_reserve() ( #22741 )
2022-01-26 18:42:44 -05:00
Dmitri Makarov
52045c761c
chore: remove remaining unused Xargo.toml files
2022-01-24 15:35:54 -08:00
Michael Vines
6d5bbca630
Pacify clippy
2022-01-21 19:12:57 -08:00
Brooks Prumo
a7f2fff219
Remove active features stake program v3 and v4 ( #22612 )
...
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-01-21 19:27:53 -06:00
Tyera Eulberg
fc8130955a
Impl get_/set_return_data syscalls for ProgramTest ( #22647 )
...
* Remove &mut self from set_return_data
* Impl get_/set_return_data for program-test SyscallStubs
* Add return_data program-test
2022-01-21 17:05:48 -07:00
Justin Starry
7ba57e7a7c
Refactor: move instructions sysvar serialization out of Message ( #22544 )
2022-01-20 17:33:49 +08:00
Justin Starry
f804ccdece
Store address table lookups in blockstore and bigtable ( #22402 )
2022-01-14 15:24:41 +08:00
Michael Vines
4c577d7f8c
`Bank::get_fee_for_message` is now nonce aware
2022-01-13 17:27:38 -08:00
Ashwin Sekar
eeec1ce2ad
Add local cluster test to repro slot hash expiry bug ( #21873 )
2022-01-10 00:58:21 -05:00
Evan Conrad
0f94e1d3a2
Clarify docs of `minimum_balance` ( #22385 )
2022-01-08 11:27:32 -07:00
Brooks Prumo
d90d5ee9b6
Refactor Rent::due() with RentDue enum ( #22346 )
2022-01-08 09:03:46 -06:00
Justin Starry
52d12cc802
Add runtime support for address table lookups ( #22223 )
...
* Add support for address table lookups in runtime
* feedback
* feedback
2022-01-07 11:59:09 +08:00
Michael Vines
bb3a1b6b31
Add zk_token_sdk_enabled feature to gate Zk Token proof program and `sol_zk_token_elgamal_op` syscalls
2022-01-05 11:57:37 -08:00
Justin Starry
2b5e00d36d
Limit number of accounts that a transaction can lock ( #22201 )
2022-01-04 14:25:23 +08:00
Justin Starry
2a00382d71
Refactor: cleanup solana_transaction_status crate ( #22230 )
2022-01-03 15:45:18 +00:00
Brooks Prumo
800472ddf5
Add AccountsDataMeter to InvokeContext ( #21813 )
2021-12-28 05:14:48 -06:00
Alexander Meißner
2ab4f34c02
Refactor: Remove `Message` and `CompiledInstruction` from `InvokeContext` interfaces ( #22102 )
...
* Introduces InstructionAccount which is like AccountMeta but uses an index instead of a Pubkey
* Renames InvokeContext::create_message() to InvokeContext::prepare_instruction()
* Removes Message and CompiledInstruction from InvokeContext interfaces.
* Resolves TODOs of sol_invoke_signed() in program-test.
* Moves CompiledInstruction::visit_each_account() into invoke_context.rs
2021-12-24 16:17:55 +01:00
Justin Starry
ec7536faf6
Add test to enforce that program id account info for CPI is optional ( #22069 )
...
* Update tests to demonstrate that program id account info for CPI is optional
* Clean up comments that say that program id account info is required
2021-12-24 00:43:15 +01:00
behzad nouri
f67ecd5c18
removes unused Cargo dependencies ( #22022 )
...
Also moving some to [dev-dependencies] so that they are not propagated
to other packages which depend on the package.
2021-12-22 17:01:33 +00:00
Alexander Meißner
ba8e15848e
Fix #21986 ( #22035 )
...
* Partial revert "Updates documentation around what needs to be passed in CPI. (#21633 )"
* Enforces the program_id being passed explicitly by removing it from get_instruction_keyed_accounts().
* instruction_accounts => instructions_account
2021-12-21 12:53:22 +01:00
Justin Starry
6ff0be6a82
Clean up demote program write lock feature ( #21949 )
...
* Clean up demote program write lock feature
* fix test
2021-12-16 17:27:22 -05:00
Brian Anderson
dcb5849484
Document solana_program::instruction ( #21817 )
...
* Document solana_program::instruction
* Apply suggestions from code review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-12-14 21:35:22 +00:00
Michael Vines
c5c699a918
Remove the 5 integer msg! form
2021-12-11 09:37:11 -08:00
Justin Starry
9b41ddd9ba
Add address lookup table program ( #21616 )
...
* Add address lookup table program
* feedback
2021-12-10 16:02:16 -05:00
Justin Starry
6c108c8fc3
Migrate from address maps to address lookup tables ( #21634 )
...
* Migrate from address maps to address lookup tables
* update sanitize error
* cargo fmt
* update abi
2021-12-10 11:04:04 -05:00
Michael Vines
a35df1cb02
Add initial wasm bindings for `Instruction`, `SystemProgram` and `Transaction`
2021-12-09 15:53:58 -08:00
Michael Vines
03a956e8d9
Add wasm bindings for `Hash`
2021-12-09 15:53:58 -08:00
Michael Vines
488dc37fec
Add wasm bindings for `Pubkey` and `Keypair`
2021-12-09 15:53:58 -08:00
Brian Anderson
6919c4863b
Expand docs for Pubkey::create_program_address ( #21750 )
...
* Expand docs for Pubkey::create_program_address
* Update sdk/program/src/pubkey.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-12-09 23:45:23 +00:00
dependabot[bot]
f865392eee
chore: bump digest from 0.9.0 to 0.10.0 ( #21742 )
...
* chore: bump digest from 0.9.0 to 0.10.0
Bumps [digest](https://github.com/RustCrypto/traits ) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/RustCrypto/traits/releases )
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.9.0...digest-v0.10.0 )
---
updated-dependencies:
- dependency-name: digest
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* tree; multiple versions of digest required
* Bump sha3 as well
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-12-09 23:32:21 +00:00
dependabot[bot]
b61b7189a5
chore: bump hmac from 0.11.0 to 0.12.0 ( #21681 )
...
* chore: bump hmac from 0.11.0 to 0.12.0
Bumps [hmac](https://github.com/RustCrypto/MACs ) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/RustCrypto/MACs/releases )
- [Commits](https://github.com/RustCrypto/MACs/compare/hmac-v0.11.0...hmac-v0.12.0 )
---
updated-dependencies:
- dependency-name: hmac
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
* Update dependabot-pr.sh
* Bump sha2 and pbkdf2 as well
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: axleiro <83293196+axleiro@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-12-08 18:12:35 -07:00
Jarred Nicholls
4da435f2a0
Avoid entropy sources when constructing a solana_program::message::Message.
...
The solana-program crate can be used in certain embedded environments (HSMs) where
the source of entropy, whether used for cryptographic purposes or not, is tightly
controlled. In these cases, using the default OS source of entrophy is not always
acceptable. Thus, using the default Rust stdlib entropy source for seeding its
default hasher, is prohibited. This means any use of HashMap/HashSet must be able
to be constructed and used with a custom hasher implementation.
This commit removes the use of Itertools::unique() to dedupe Instructions that are
being compiled into a new Message, which uses a default-configured HashMap
under-the-hood. Instead, we use a BTreeSet which does not invoke any entropy
source in order to seed a hash implementation.
2021-12-07 19:19:01 -08:00
Alexander Meißner
6f3f6eddb2
Updates documentation around what needs to be passed in CPI. ( #21633 )
2021-12-06 21:20:16 +01:00
Brian Anderson
df2b448993
Fix incorrect nonoverlapping test in sol_memcpy ( #21007 )
...
Thanks!
2021-12-06 09:26:46 -08:00
Brian Anderson
d1c101cde2
Rework docs for Pubkey::find_program_address and friends ( #21528 )
...
* Rework docs for Pubkey::find_program_address and friends
* Remove circular dependency
* Minor tweaks
* Apply suggestions from code review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Sort solana-program dev-dependencies
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-12-06 17:00:50 +00:00
Trent Nelson
d6f22433d0
Bump version to v1.10.0
2021-12-04 20:17:54 +00:00
fee1-dead
c4a9c8b5e9
Remove dependency on `hex` ( #21567 )
...
* Remove dependency on `hex`
* Update lock file
* Use `debug_struct` instead of own format
* Share code, add test, and fix rent_epoch spelling
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-12-03 20:53:35 -07:00
Michael Vines
b8837c04ec
Reformat imports to a consistent style for imports
...
rustfmt.toml configuration:
imports_granularity = "One"
group_imports = "One"
2021-12-03 09:19:13 -08:00
Jarred Nicholls
18a16ad956
Support building solana-program on 32-bit architectures that do not ( #21577 )
...
have 64-bit atomics by using a Mutex<u64> on 32-bit architectures.
Currently the usage of atomics are only in functions that support
tests and benchmarks.
2021-12-03 01:18:21 +00:00
Brooks Prumo
cb368e6554
Pass Epoch by value in StakeHistory::get() ( #21523 )
2021-12-01 08:57:29 -06:00
Ikko Ashimine
1f13fd64bd
Fix typo in system_instruction.rs ( #21539 )
...
Uninitalized -> Uninitialized
2021-12-01 06:31:12 -05:00
Michael Vines
e922c2da9d
Update to Rust 1.56.1
2021-11-30 23:28:07 -08:00
Michael Vines
dd12d90eac
Upgrade to Rust 2021
2021-11-30 20:43:46 -08:00
Michael Vines
098dba607a
Fix more BPF alignment issues on arm64
2021-11-30 18:17:44 -08:00
Ikko Ashimine
4b67a6900d
Fix typo in program_option.rs ( #21444 )
...
accross -> across
2021-11-26 05:52:21 -06:00
Jack May
03c36d240a
Nonce naming cleanup ( #21336 )
2021-11-18 16:07:17 -08:00
Kirill Fomichev
1a7cefded7
Fix authority in bpf_loader_upgradeable::close_any ( #21344 )
2021-11-18 15:53:14 -08:00
carllin
b30c94ce55
ClusterInfoVoteListener send only missing votes to BankingStage ( #20873 )
2021-11-18 15:20:41 -08:00
Ben Newhouse
7e600bd451
Fix BPF parameter alignment to work regardless of target ABI ( #21271 )
2021-11-16 16:02:22 +01:00
Kirill Fomichev
d8a392c20b
add new macro: `pubkey!` ( #21245 )
...
* add new macro: `pubkey!`
* fmt
2021-11-15 11:22:51 -08:00
dependabot[bot]
48265ada39
chore: bump blake3 from 1.1.0 to 1.2.0 ( #21203 )
...
* chore: bump blake3 from 1.1.0 to 1.2.0
Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3 ) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases )
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.1.0...1.2.0 )
---
updated-dependencies:
- dependency-name: blake3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
* Make versions consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-11-08 15:27:37 -07:00
Alexander Meißner
29ad081555
Stop caching sysvars, instead load them ahead of time. ( #21108 )
2021-11-04 09:48:34 +01:00
Jack May
bced07a099
Update fee api to use blockhash ( #21054 )
2021-10-29 13:52:59 -07:00
Brian Anderson
62c8fb4792
Document next_account_info(s) ( #21076 )
2021-10-29 14:17:21 -06:00
Brian Anderson
ced1505b75
Document `entrypoint!`, `custom_heap_default!`, and `custom_panic_default!` ( #21003 )
2021-10-26 22:48:10 -07:00
Jack May
4fe3354c8f
Instruction sysvar fixes, additions ( #20958 )
2021-10-26 13:07:40 -07:00
Jack May
2515f6a04f
Update deprecation versions ( #20959 )
2021-10-26 09:06:41 -07:00
Eugene Lomov
edf5bc242c
Fixed bug in AccountInfo::serialize()
...
Closes #20917
2021-10-23 17:25:04 -07:00
Jack May
bfbbc53dac
Divorce the runtime from FeeCalculator ( #20737 )
2021-10-22 14:32:40 -07:00
Brian Anderson
64e4bbf829
Fix weird attribute order
2021-10-21 18:40:44 -07:00
Jack May
a8098f37d0
add checked instructions sysvar api ( #20790 )
2021-10-19 21:01:58 -07:00
Brian Anderson
d9b0fc0e3e
Remove @brief annotations from Rust API docs ( #20769 )
2021-10-19 15:48:15 -06:00
Jon Cinque
dc1b8ddea1
stake: Add `BorshSerialize` trait to structs ( #20784 )
2021-10-19 20:10:15 +02:00
Michael Vines
2b76ea51b4
Reduce visibility of `Hash` struct contents
2021-10-19 09:30:47 -07:00
Jack May
4beabb3a43
charge for ed25519 sig verifies ( #20639 )
2021-10-14 08:52:59 -07:00
Michael Vines
13462d63a2
solana-sdk now builds for wasm32-unknown-unknown
2021-10-13 13:15:33 -07:00
Jack May
da45be366a
Remove blockhash from fee calculation ( #20641 )
2021-10-13 13:10:58 -07:00
Jack May
c231cfe235
Reduce budget request instruction length ( #20636 )
2021-10-12 20:56:24 -07:00
Michael Vines
f966859829
Derive Pod/Zeroable for Pubkey
2021-10-06 23:00:45 -07:00
Trent Nelson
767f740305
Bump version to 1.9.0
2021-10-06 17:57:41 -07:00
Michael Vines
7027d56064
Resolve nightly-2021-10-05 clippy complaints
2021-10-06 10:37:58 -07:00
Justin Starry
0ddb34a0b4
Add struct and convenience methods to track stake activation status ( #20392 )
...
* Add struct and convenience methods to track stake activation status
* fix nits
* rename
2021-10-04 18:59:11 -04:00
Jack May
8188c1dd59
add unchecked invokes ( #20313 )
2021-09-29 19:50:38 -07:00
Tyera Eulberg
2cd9dc99b6
Restore ability for programs to upgrade themselves ( #20265 )
...
* Make helper associated fn
* Add feature definition
* Add handling to preserve program-id write lock when upgradeable loader is present; restore bpf upgrade-self test
* Use single feature
2021-09-28 09:59:08 -06:00
Jack May
4e27543415
Allow programs to realloc their accounts within limits ( #19475 )
2021-09-28 01:13:03 -07:00
drbh
e94b7984a1
fix Borsh typo
...
changes `BORSH_IO_ERROR` from `unkown` to `unknown` error
2021-09-27 11:30:45 -07:00
Justin Starry
f220386917
Reorder serialized mapped message fields for improved compat
2021-09-26 08:57:29 -04:00
Sean Young
d714cf659c
Proposal: log binary data for Solidity
...
The program_id is not needed on "Program return data: " because it
always preceeded by the program invoke message, so no need to repeat
the program id. Also rename this to "Program return: " since "data"
is redundant.
2021-09-22 07:59:06 +01:00
Ryan M. Shea
8dbed193c2
Add new logos to README files and docs ( #20049 )
...
* Add new logos to README files and docs
* Add explorer logos
2021-09-21 13:35:36 -06:00
Jon Cinque
9eb98adf97
stake: Add BorshDeserialize trait to structs ( #19958 )
2021-09-17 10:14:23 +02:00
Sean Young
098585234d
Add return data implementation
...
This consists of:
- syscalls
- passing return data from invoked to invoker
- printing to stable log
- rust and C SDK changes
2021-09-10 14:25:54 +01:00
Jack May
778b2adbea
Check seed length before trying to cal program address ( #19699 )
2021-09-07 21:37:24 -07:00
Jack May
529fefc7cc
Remove native id check in pda creation ( #19595 )
2021-09-07 14:44:52 -07:00
Sean Young
8b9e472a6c
feat: add ed25519 signature verify program
...
Solang requires a method for verify ed25519 signatures. Add a new
builtin program at address Ed25519SigVerify111111111111111111111111111
which takes any number of ed25519 signature, public key, and message.
If any of the signatures fails to verify, an error is returned.
The changes for the web3.js package will go into another commit, since
the tests test against a released solana node. Adding web3.js ed25519
testing will break CI.
2021-09-05 18:59:37 +01:00
Tyera Eulberg
decec3cd8b
Demote write locks on transaction program ids ( #19593 )
...
* Add feature
* Demote write lock on program ids
* Fixup bpf tests
* Update MappedMessage::is_writable
* Comma nit
* Review comments
2021-09-04 03:05:30 +00:00
Jack May
a89f180145
Allow closing upgradeable program accounts ( #19319 )
2021-08-24 10:05:54 -07:00
Jon Cinque
73aa004c59
stake: Remove v2 program references ( #19308 )
...
* stake: Remove v2 program references
* Remove stake v2 feature, along with stake rewrite
2021-08-20 01:08:44 -04:00
Justin Starry
c50b01cb60
Store versioned transactions in the ledger, disabled by default ( #19139 )
...
* Add support for versioned transactions, but disable by default
* merge conflicts
* trent's feedback
* bump Cargo.lock
* Fix transaction error encoding
* Rename legacy_transaction method
* cargo clippy
* Clean up casts, int arithmetic, and unused methods
* Check for duplicates in sanitized message conversion
* fix clippy
* fix new test
* Fix bpf conditional compilation for message module
2021-08-17 15:17:56 -07:00
Justin Starry
fd33f523ab
Generate packet offsets for versioned messages ( #19138 )
...
* Add support for generating packet offsets for new versioned message
* Remove outdated test
* match over version
2021-08-16 17:55:15 -07:00
Kirill Fomichev
d10e37a829
add test for AsRef
2021-08-15 07:43:50 -07:00
Kirill Fomichev
930465e67c
Add AsRef<AccountInfo> for AccountInfo
2021-08-15 07:43:50 -07:00
Jack May
0b50bb2b20
Deprecate FeeCalculator returning APIs ( #19120 )
2021-08-13 09:08:20 -07:00
Justin Starry
8817f59b6e
Version transaction message and add new message format ( #18725 )
...
* Version transaction message and add new message format
* Update abi digest due to message path change
* Update v0.rs
Fix comment
* Update original.rs
* Update message versions name and address map indexes field name
* s/original/legacy
* update comment
* cargo fmt
* Update abi digest due to legacy rename
2021-08-09 22:03:39 -07:00
Jack May
77861e2d40
Feature disable fees sysvar ( #18981 )
...
* Feature disable fees sysvar
* nudge
2021-08-02 00:31:11 +00:00
Trent Nelson
21bc43ed58
nonce: Unify `NonceError` with `SystemError`
2021-07-30 14:47:14 -06:00
Jack May
dfbb0c559b
deprecate fees sysvar ( #18960 )
2021-07-29 10:48:14 -07:00
Jack May
9529284194
Nonce gets blockhash from invoke_context ( #18950 )
2021-07-29 01:50:20 -07:00
dependabot[bot]
14f0ce850d
chore: bump blake3 from 0.3.8 to 1.0.0 ( #18908 )
...
* chore: bump blake3 from 0.3.8 to 1.0.0
Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3 ) from 0.3.8 to 1.0.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases )
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/0.3.8...1.0.0 )
---
updated-dependencies:
- dependency-name: blake3
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make versions consistent
* Enable new feature
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-07-27 17:55:21 -06:00
Jack May
72e374d0f3
Deprecate SysvarRecentBlockhashes ( #18875 )
2021-07-27 16:34:21 -07:00
niedhui
dc6ec02021
Fix link typo in program README ( #18916 )
...
Signed-off-by: niedhui <niedhui@gmail.com>
2021-07-27 08:54:37 -05:00
Jack May
eaeeffa5a3
Add macros for deprecacted ids ( #18907 )
2021-07-26 20:54:46 -07:00
dependabot[bot]
395ee4ec68
chore: bump libsecp256k1 from 0.5.0 to 0.6.0 ( #18774 )
...
* chore: bump libsecp256k1 from 0.5.0 to 0.6.0
Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1 ) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/paritytech/libsecp256k1/releases )
- [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/libsecp256k1/commits )
---
updated-dependencies:
- dependency-name: libsecp256k1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update all versions, lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-07-20 13:14:47 -06:00
Justin Starry
207c90bd8b
Shorten long SerializeWith type paths in abi digest ( #18734 )
2021-07-20 08:59:50 -05:00
steviez
b9dc85a934
Add comments on how to add a new feature switch ( #18686 )
2021-07-18 12:48:09 -05:00
Brian Anderson
37ee0b5599
Eliminate doc warnings and fix some markdown ( #18566 )
...
* Fix link target in doc comment
* Fix formatting of log examples in process_instruction
* Fix doc markdown in solana-gossip
* Fix doc markdown in solana-runtime
* Escape square braces in doc comments to avoid warnings
* Surround 'account references' doc items in code spans to avoid warnings
* Fix code block in loader_upgradeable_instruction
* Fix doctest for loader_upgradable_instruction
2021-07-16 00:40:07 +00:00
Trent Nelson
abe5a0a349
gate libsecp256k1 upgrade to v0.5.0
2021-07-15 18:43:55 +00:00
Trent Nelson
3a85b77bb5
hijack secp256k1 enablement feature plumbing for libsecp256k1 upgrade
2021-07-15 18:43:55 +00:00
Trent Nelson
568660b402
Revert "Remove feature switch for secp256k1 program ( #18467 )"
...
This reverts commit fd574dcb3b
.
2021-07-15 18:43:55 +00:00
dependabot[bot]
21868439d5
chore: bump borsh from 0.9.0 to 0.9.1 ( #18664 )
...
* chore: bump borsh from 0.9.0 to 0.9.1
Bumps [borsh](https://github.com/near/borsh-rs ) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/near/borsh-rs/releases )
- [Changelog](https://github.com/near/borsh-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/near/borsh-rs/compare/v0.9.0...v0.9.1 )
---
updated-dependencies:
- dependency-name: borsh
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
* Bump other borsh deps
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-07-14 22:31:12 -06:00
Kirill Fomichev
5cea25ac3e
Add method `id` to SysbarId trait ( #18604 )
2021-07-13 16:01:32 +00:00
Justin Starry
e806d31224
Optimize Message::is_non_loader_key method ( #18579 )
2021-07-12 10:42:22 -05:00
Justin Starry
fd574dcb3b
Remove feature switch for secp256k1 program ( #18467 )
...
* Remove feature switch for secp256k1 program
* fix tests
2021-07-09 10:08:03 -05:00
Michael Vines
f6371cce17
Comment cleanup
2021-07-08 21:35:58 -07:00
s-medvedev
1f288ce527
Add ecrecover syscall ( #17720 )
...
Co-authored-by: Anton Lisanin <lisanin.anton@gmail.com>
2021-07-07 13:15:14 -07:00
Michael Vines
ee219ffa47
Add vote/stake checked instructions
2021-07-06 21:53:18 +00:00
Justin Starry
100fabf469
Remove feature switch for demoting sysvar write locks ( #18373 )
2021-07-06 21:22:22 +00:00
Michael Vines
e7b36c8484
borsh: add bool type
2021-07-05 13:14:18 -07:00
Trent Nelson
216983c50e
SDK: Add test for illegal `Pubkey::create_with_seed` owners
2021-07-02 23:37:15 +00:00
Ruud van Asseldonk
94ab0eb49f
Document order of recent blockhashes sysvar
...
I wanted to use this sysvar to get a recent block hash, but I didn't
know whether the first or the last entry contains the most recent block
hash.
By calling it for mainnet, printing the results, and comparing that to
the recent blocks on solanabeach.io/blocks, I discovered that the
entries are ordered from most recent to least recent. Document this to
save future readers the trouble.
2021-07-01 22:22:52 -07:00
Trent Nelson
d3a7e22112
sdk: refactor pda generation
2021-06-30 19:01:51 -06:00
dependabot[bot]
78968d132f
chore: bump log from 0.4.11 to 0.4.14 ( #18323 )
...
* chore: bump log from 0.4.11 to 0.4.14
Bumps [log](https://github.com/rust-lang/log ) from 0.4.11 to 0.4.14.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.14 )
---
updated-dependencies:
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make version consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-30 18:32:01 +00:00
Trent Nelson
02b14caa5f
test-validator: hold rent constant with `--slots-per-epoch`
2021-06-30 00:46:12 -06:00
dependabot[bot]
353bf6253b
chore: bump curve25519-dalek from 2.1.0 to 3.0.0 ( #18188 )
...
* chore: bump curve25519-dalek from 2.1.0 to 3.0.0
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek ) from 2.1.0 to 3.0.0.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases )
- [Changelog](https://github.com/dalek-cryptography/curve25519-dalek/blob/main/CHANGELOG.md )
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/2.1.0...3.0.0 )
---
updated-dependencies:
- dependency-name: curve25519-dalek
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make version consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-24 22:32:32 -06:00
Jack May
94905dae52
Add sdk and program READMEs ( #18154 )
2021-06-23 21:22:35 +00:00
hrls
755b7c7aee
chore(pubkey): remove dead code
2021-06-22 19:43:15 -06:00
Jack May
d18e02ef44
fix loader instruction checker ( #18047 )
2021-06-18 11:37:39 -07:00
Alexander Meißner
789f33e8db
chore: cargo fmt
2021-06-18 10:42:46 -07:00
Alexander Meißner
6514096a67
chore: cargo +nightly clippy --fix -Z unstable-options
2021-06-18 10:42:46 -07:00
Jon Cinque
1b1d34da59
Refactor stake program into solana_program ( #17906 )
...
* Move stake state / instructions into solana_program
* Update account-decoder
* Update cli and runtime
* Update all other parts
* Commit Cargo.lock changes in programs/bpf
* Update cli stake instruction import
* Allow integer arithmetic
* Update ABI digest
* Bump rust mem instruction count
* Remove useless structs
* Move stake::id() -> stake::program::id()
* Re-export from solana_sdk and mark deprecated
* Address feedback
* Run cargo fmt
2021-06-15 18:04:00 +02:00
carllin
ccc013e134
Handle removing slots during account scans ( #17471 )
2021-06-14 21:04:01 -07:00
dependabot[bot]
a0872232d3
chore: bump itertools from 0.9.0 to 0.10.1 ( #17929 )
...
* chore: bump itertools from 0.9.0 to 0.10.1
Bumps [itertools](https://github.com/rust-itertools/itertools ) from 0.9.0 to 0.10.1.
- [Release notes](https://github.com/rust-itertools/itertools/releases )
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.9.0...v0.10.1 )
---
updated-dependencies:
- dependency-name: itertools
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Fix versions
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-14 18:32:20 +00:00
Dmitri Makarov
361c1bdd57
Fix file permissions ( #17910 )
2021-06-12 02:03:32 +00:00
Jack May
fa6bdd2d12
Warn about InstructionError meta ( #17864 )
2021-06-10 15:13:56 -07:00
dependabot[bot]
9a2ca8dd2f
chore: bump rustc_version from 0.2.3 to 0.4.0 ( #17854 )
...
* chore: bump rustc_version from 0.2.3 to 0.4.0
Bumps [rustc_version](https://github.com/Kimundi/rustc-version-rs ) from 0.2.3 to 0.4.0.
- [Release notes](https://github.com/Kimundi/rustc-version-rs/releases )
- [Commits](https://github.com/Kimundi/rustc-version-rs/compare/v0.2.3...v0.4.0 )
---
updated-dependencies:
- dependency-name: rustc_version
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make versions consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-09 16:57:39 +00:00
Arthur Greef
28fdfed1ba
Blake3 syscall ( #17358 )
2021-06-08 11:04:10 -07:00
dependabot[bot]
cb086ae492
chore: bump borsh from 0.8.1 to 0.9.0 ( #17780 )
...
* chore: bump borsh from 0.8.1 to 0.9.0
Bumps [borsh](https://github.com/near/borsh-rs ) from 0.8.1 to 0.9.0.
- [Release notes](https://github.com/near/borsh-rs/releases )
- [Changelog](https://github.com/near/borsh-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/near/borsh-rs/compare/v0.8.1...v0.9.0 )
---
updated-dependencies:
- dependency-name: borsh
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Clean bump and cargo-for-all-lock-files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-07 21:11:38 +00:00