Brooks Prumo
d90d5ee9b6
Refactor Rent::due() with RentDue enum ( #22346 )
2022-01-08 09:03:46 -06:00
dependabot[bot]
2759cb860b
Bump sha2 from 0.10.0 to 0.10.1 ( #22359 )
...
* Bump sha2 from 0.10.0 to 0.10.1
Bumps [sha2](https://github.com/RustCrypto/hashes ) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.0...sha2-v0.10.1 )
---
updated-dependencies:
- dependency-name: sha2
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-08 00:17:32 -07: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
Alessandro Decina
0459f0a4c0
cargo-build-bpf: don't set -C linker on windows ( #22314 )
...
* cargo-build-bpf: don't set -C linker on windows
Since we're now linking using rust-lld
(87ba5c61a5
)
which is guaranteed to always be in the sysroot, hardcoding the linker path
shouldn't be needed anymore.
* Update Cargo.lock
2022-01-07 07:41:13 +11:00
Trent Nelson
deb9344e49
Add helper macro for `AddAssign`ing with saturating arithmetic
2022-01-06 03:56:46 -07:00
Alessandro Decina
959ea26816
Re-enable LTO ( #22287 )
...
LTO seems to work fine now. It was possibly fixed by either the LLVM13 upgrade
or by b2ed47a925
,
which fixed a LTO issue with tests.
2022-01-06 09:16:50 +11: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
dependabot[bot]
98e7fada15
Bump generic-array from 0.14.4 to 0.14.5 ( #22297 )
...
* Bump generic-array from 0.14.4 to 0.14.5
Bumps [generic-array](https://github.com/fizyk20/generic-array ) from 0.14.4 to 0.14.5.
- [Release notes](https://github.com/fizyk20/generic-array/releases )
- [Changelog](https://github.com/fizyk20/generic-array/blob/master/CHANGELOG.md )
- [Commits](https://github.com/fizyk20/generic-array/commits )
---
updated-dependencies:
- dependency-name: generic-array
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-05 12:01:15 -07:00
Alexander Meißner
9f63493789
Refactor: Remove KeyedAccounts (2) ( #22274 )
...
* Adds InstructionContext::get_signers().
Improves error messages when modifying borrowed accounts.
* Removes keyed_accounts from InvokeContext tests.
* Removes keyed_accounts from message_processor.rs
* Removes keyed_accounts from bank.rs
* Removes keyed_accounts from bpf serialization.
2022-01-05 09:39:37 +01:00
behzad nouri
01a096adc8
adds bitflags to Packet.Meta
...
Instead of a separate bool type for each flag, all the flags can be
encoded in a type-safe bitflags encoded in a single u8:
https://github.com/solana-labs/solana/blob/d6ec103be/sdk/src/packet.rs#L19-L31
2022-01-04 13:53:40 +00:00
behzad nouri
73a7741c49
uses std::net::IpAddr type for Packet.Meta.addr
2022-01-04 13:53:40 +00:00
behzad nouri
aa9f7ed7e8
removes seed and slot fields from Packet.Meta
...
507367e6ac
updated window-service to send shreds (as opposed to packets) to
retransmit-stage and so seed and slot fields in Packet.Meta are unused:
https://github.com/solana-labs/solana/blob/d6ec103be/sdk/src/packet.rs#L27-L28
2022-01-04 13:53:40 +00:00
Justin Starry
2b5e00d36d
Limit number of accounts that a transaction can lock ( #22201 )
2022-01-04 14:25:23 +08:00
Alexander Meißner
73e6038986
Refactor: Remove `KeyedAccount` from program runtime ( #22226 )
...
* Makes error handling in BorrowedAccount optional.
Adds BorrowedAccount ::get_rent_epoch().
Exposes InstructionContext::get_index_in_transaction().
Turns accounts and account_keys into pinned boxed slices.
* Introduces "unsafe" to InvokeContext::push().
* Turns &TransactionContext into &mut TransactionContext in InvokeContext.
* Push and pop InstructionContext in InvokeContext.
Makes test_process_cross_program and test_native_invoke symmetric.
Removes the borrow check from test_invoke_context_verify.
* Removes keyed_accounts from prepare_instruction()
* Removes usage of invoke_stack.
* Removes keyed_accounts from program-test.
* Removes caller_write_privileges.
* Removes keyed_accounts from BPF parameter (de-)serialization.
2022-01-03 23:30:56 +01:00
dependabot[bot]
672fed04cb
Bump serde from 1.0.132 to 1.0.133 ( #22233 )
...
* Bump serde from 1.0.132 to 1.0.133
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.132 to 1.0.133.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.132...v1.0.133 )
---
updated-dependencies:
- dependency-name: serde
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-03 22:19:39 +00:00
dependabot[bot]
ecbfc70bfa
Bump serde_json from 1.0.73 to 1.0.74 ( #22231 )
...
* Bump serde_json from 1.0.73 to 1.0.74
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.73 to 1.0.74.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.73...v1.0.74 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-01-03 10:36:59 -07:00
Justin Starry
2a00382d71
Refactor: cleanup solana_transaction_status crate ( #22230 )
2022-01-03 15:45:18 +00:00
Alexander Meißner
edb20d6909
Splits index of InstructionAccount into index_in_transaction and index_in_caller. ( #22165 )
2021-12-30 15:46:36 +01:00
Justin Starry
b1d9a2e60e
Don't forward packets received from TPU forwards port ( #22078 )
...
* Don't forward packets received from TPU forwards port
* Add banking stage test
2021-12-29 19:34:31 +01:00
Jon Cinque
57986f982a
cargo-build-bpf: Add Windows support ( #20276 )
...
* cargo-build-bpf: Add Windows support
* Update error message
2021-12-28 18:37:35 -05:00
Tyera Eulberg
422a095647
Add (preflight) simulation to BanksClient ( #22084 )
...
* Add more-legitimate conversion from legacy Transaction to SanitizedTransaction
* Add Banks method with preflight checks
* Expose BanksClient method with preflight checks
* Unwrap simulation err
* Add Bank simulation method that works on unfrozen Banks
* Add simpler api
* Better name: BanksTransactionResultWithSimulation
2021-12-28 19:25:46 +00:00
Brooks Prumo
800472ddf5
Add AccountsDataMeter to InvokeContext ( #21813 )
2021-12-28 05:14:48 -06:00
Alexander Meißner
a06646631c
Feature: TransactionContext, InstructionContext and BorrowedAccount ( #21706 )
...
* Adds TransactionContext, InstructionContext and BorrowedAccount.
* Redirects the usage of accounts in InvokeContext through TransactionContext.
Also use the types declared in transaction_context.rs everywhere.
* Adjusts all affected tests.
2021-12-27 18:49:32 +01: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
Dmitri Makarov
298c2d0f62
Display bpf-tools version in cargo-build-bpf version string ( #22061 )
...
* Display bpf-tools version in cargo-build-bpf version string
* Print cargo-build-bpf version in CI for reference in stable-bpf jobs
2021-12-22 23:10:25 +00: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
Dmitri Makarov
7cc6262b5a
Bump bpf-tools to v1.21
2021-12-21 16:40:42 -08: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
dependabot[bot]
755e816521
chore: bump bytemuck from 1.7.2 to 1.7.3 ( #22032 )
...
* chore: bump bytemuck from 1.7.2 to 1.7.3
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/Lokathor/bytemuck/releases )
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.7.2...v1.7.3 )
---
updated-dependencies:
- dependency-name: bytemuck
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-20 16:34:55 -07:00
dependabot[bot]
8f547a6c98
chore: bump serde from 1.0.131 to 1.0.132 ( #21989 )
...
* chore: bump serde from 1.0.131 to 1.0.132
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.131 to 1.0.132.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.131...v1.0.132 )
---
updated-dependencies:
- dependency-name: serde
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-18 07:45:20 +00:00
dependabot[bot]
68a2570ebd
chore: bump digest from 0.10.0 to 0.10.1 ( #21977 )
...
* chore: bump digest from 0.10.0 to 0.10.1
Bumps [digest](https://github.com/RustCrypto/traits ) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/RustCrypto/traits/releases )
- [Commits](https://github.com/RustCrypto/traits/compare/digest-v0.10.0...digest-v0.10.1 )
---
updated-dependencies:
- dependency-name: digest
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-17 14:30:42 -07: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
dependabot[bot]
a5769c029f
chore: bump tar from 0.4.37 to 0.4.38 ( #21921 )
...
* chore: bump tar from 0.4.37 to 0.4.38
Bumps [tar](https://github.com/alexcrichton/tar-rs ) from 0.4.37 to 0.4.38.
- [Release notes](https://github.com/alexcrichton/tar-rs/releases )
- [Commits](https://github.com/alexcrichton/tar-rs/compare/0.4.37...0.4.38 )
---
updated-dependencies:
- dependency-name: tar
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-16 15:06:56 -07: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
Jack May
509bcd2e74
Bump rbpf to v0.2.19 ( #21880 )
...
* Bump rbpf to v0.2.19
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
2021-12-14 16:51:23 +01:00
Justin Starry
e5476913fe
Remove activated feature that checks tx signature len ( #21747 )
2021-12-14 09:23:05 -05:00
dependabot[bot]
018b54dbd7
chore: bump serde_json from 1.0.72 to 1.0.73 ( #21856 )
...
* chore: bump serde_json from 1.0.72 to 1.0.73
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.72 to 1.0.73.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.72...v1.0.73 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-14 04:08:22 +00:00
Ashwin Sekar
4bc5bfb2df
Addressing leftover comments from #21531 ( #21782 )
...
* Addressing leftover comments from #21531
* Add feature flag
* Feature gate new vote instruction
* add clock & slot hashes sysvar to test
2021-12-13 07:52:22 -08:00
Jeff Washington (jwash)
90f41fd9b7
use cost model to limit new account creation ( #21369 )
...
* use cost model to limit new account creation
* handle every system instruction
* remove &
* simplify match
* simplify match
* add datapoint for account data size
* add postgres error handling
* handle accounts:unlock_accounts
2021-12-12 14:57:18 -06: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
dependabot[bot]
d870f566ef
chore: bump serde from 1.0.130 to 1.0.131 ( #21758 )
...
* chore: bump serde from 1.0.130 to 1.0.131
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.130 to 1.0.131.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.130...v1.0.131 )
---
updated-dependencies:
- dependency-name: serde
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-10 08:47:46 +00: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
Justin Starry
6fc329180b
Add more reporting for invalid stake cache members and prune them ( #21654 )
...
* Add more reporting for invalid stake cache members
* feedback
2021-12-09 14:12:11 -05: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
Jon Cinque
923720f529
SDK: Add stdlib.h include to pull in `abort()` ( #21700 )
2021-12-08 17:00:16 +01: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
Sean Young
45e56c599d
Ensure we have keys to activate these features ( #21669 )
2021-12-07 18:58:59 +00:00
dependabot[bot]
f6801a4af4
chore: bump itertools from 0.10.1 to 0.10.3 ( #21643 )
...
* chore: bump itertools from 0.10.1 to 0.10.3
Bumps [itertools](https://github.com/rust-itertools/itertools ) from 0.10.1 to 0.10.3.
- [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.10.1...v0.10.3 )
---
updated-dependencies:
- dependency-name: itertools
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-06 23:23:26 -07:00
Justin Starry
e123883b26
Reject vote withdraws that create non-rent-exempt accounts ( #21639 )
...
* Reject vote withdraws that create non-rent-exempt accounts
* fix mocked instruction test
2021-12-06 17:01:20 -05:00
dependabot[bot]
008655e3a4
chore: bump rustversion from 1.0.5 to 1.0.6 ( #21636 )
...
* chore: bump rustversion from 1.0.5 to 1.0.6
Bumps [rustversion](https://github.com/dtolnay/rustversion ) from 1.0.5 to 1.0.6.
- [Release notes](https://github.com/dtolnay/rustversion/releases )
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.5...1.0.6 )
---
updated-dependencies:
- dependency-name: rustversion
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-12-06 14:47:26 -07:00
Alexander Meißner
6f3f6eddb2
Updates documentation around what needs to be passed in CPI. ( #21633 )
2021-12-06 21:20:16 +01:00
Justin Starry
3dab1e711d
Move transaction error code into new module ( #21635 )
2021-12-06 12:45:33 -05: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
Alexander Meißner
1a4a039913
Adds feature reject_empty_instruction_without_program. ( #21591 )
2021-12-03 15:47:18 +01:00
Alexander Meißner
015250f96c
Feature gates for rbpf v0.2.16 ( #21590 )
...
- Adds feature reject_section_virtual_address_file_offset_mismatch.
- Adds feature start_verify_shift32_imm.
- Enables enable_symbol_and_section_labels only in the rbpf-cli.
2021-12-03 15:45:25 +01: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
Jack May
976eb81d4f
Cleanup the bank's use of nonces ( #21246 )
2021-12-02 09:57:05 -08:00
Caio
d1d7182365
[sdk] Remove unused dependency
2021-12-02 08:03:56 -08: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
0937e407fa
Remove solana-crate-features
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
ryleung-solana
8cf36e5cb0
Add GPU sigverify for verify path ( #20851 )
...
Allows the use of GPU acceleration in verifying the signatures in Entry's after deserialization in the replay stage
Co-authored-by: Stephen Akridge <sakridge@gmail.com>
Co-authored-by: Ryan Leung <ryan.leung@solana.com>
2021-11-30 21:16:13 -05:00
dependabot[bot]
a125e7b8c2
chore: bump serde_json from 1.0.71 to 1.0.72 ( #21426 )
...
* chore: bump serde_json from 1.0.71 to 1.0.72
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.71 to 1.0.72.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.71...v1.0.72 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-11-30 18:03:09 +00:00
Ikko Ashimine
4b67a6900d
Fix typo in program_option.rs ( #21444 )
...
accross -> across
2021-11-26 05:52:21 -06:00
Jon Cinque
02bc4e3fc1
spl-token: New program feature flag ( #21354 )
...
* spl-token: Add feature flag for new release
* Remove all spl token version declarations
2021-11-21 14:27:03 +01:00
Dmitri Makarov
bae5dae61d
Bump bpf-tools to v1.20
...
- Fix C standard library to include only reentrant versions of functions
- Use a version of solana_rbpf with fixed relocations handling
- Add a test of using C standard library functions in on-chain program
2021-11-18 20:50:58 -08: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
dependabot[bot]
89102540b1
chore: bump serde_json from 1.0.70 to 1.0.71 ( #21338 )
...
* chore: bump serde_json from 1.0.70 to 1.0.71
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.70 to 1.0.71.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.70...v1.0.71 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-11-18 02:58:30 +00:00
Alexander Meißner
e540b1cf3c
Refactor: Move sdk::process_instruction in program-runtime-crate ( #21180 )
...
* Moves the Executor dyn Trait to instruction_processor.rs
* Moves the Logger dyn Trait as well as the ic_msg and ic_logger_msg macros to log_collector.rs,
and moves the stable_log to stable_log.rs
* Moves the ComputeMeter dyn Trait to invoke_context.rs
* Moves the InvokeContext dyn Trait and the ProcessInstructionWithContext type to invoke_context.rs
* Updates cargo files.
* Re-export InvokeContext in program-test
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2021-11-17 19:35:07 +01:00
Jack May
cb0bb5bd1e
Nonce accounts must be writeable ( #21260 )
...
* Nonce accounts must be writeable
* feedback
* feedback
2021-11-16 23:01:00 +00:00
Alexander Meißner
0661aa67ed
Adds a feature gate to reject the deployment of programs with unresolved syscall symbols. ( #21298 )
2021-11-16 18:21:16 +01:00
Ben Newhouse
7e600bd451
Fix BPF parameter alignment to work regardless of target ABI ( #21271 )
2021-11-16 16:02:22 +01:00
dependabot[bot]
55ea672041
chore: bump serde_json from 1.0.69 to 1.0.70 ( #21285 )
...
* chore: bump serde_json from 1.0.69 to 1.0.70
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.69 to 1.0.70.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.69...v1.0.70 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-11-15 15:27:47 -07:00
Kirill Fomichev
d8a392c20b
add new macro: `pubkey!` ( #21245 )
...
* add new macro: `pubkey!`
* fmt
2021-11-15 11:22:51 -08:00
Dmitri Makarov
3f4f05865d
Bump bpf-tools to v1.19 ( #21256 )
...
Toolchain upgrade to rust 1.56.0 and clang 13.0.
2021-11-13 19:36:28 +00:00
Jeff Washington (jwash)
f8dcb2f38b
report mem stats ( #21258 )
2021-11-13 00:59:41 +00:00
Tao Zhu
11153e1f87
refactor cost calculation ( #21062 )
...
* - cache calculated transaction cost to allow sharing;
- atomic cost tracking op;
- only lock accounts for transactions eligible for current block;
- moved qos service and stats reporting to its own model;
- add cost_weight default to neutral (as 1), vote has zero weight;
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update core/src/qos_service.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update core/src/qos_service.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-11-12 01:04:53 -06:00
Jack May
131c0d78c4
Fix compute budget bump ( #21238 )
2021-11-11 14:09:28 -08:00
dependabot[bot]
3c5f505d3e
chore: bump serde_json from 1.0.68 to 1.0.69 ( #21211 )
...
* chore: bump serde_json from 1.0.68 to 1.0.69
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.68 to 1.0.69.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.68...v1.0.69 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-11-09 11:04:40 -07: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
6704fa011f
Removes native loader entrypoints from the SDK and thus from the public interface. ( #21185 )
2021-11-05 12:49:04 +01:00
Alexander Meißner
7200c5106e
Replaces MockInvokeContext by ThisInvokeContext in tests ( #20881 )
...
* Replaces MockInvokeContext by ThisInvokeContext in BpfLoader, SystemInstructionProcessor, CLIs, ConfigProcessor, StakeProcessor and VoteProcessor.
* Finally, removes MockInvokeContext, MockComputeMeter and MockLogger.
* Adjusts assert_instruction_count test.
* Moves ThisInvokeContext to the program-runtime crate.
2021-11-04 21:47:32 +01:00
Alexander Meißner
29ad081555
Stop caching sysvars, instead load them ahead of time. ( #21108 )
2021-11-04 09:48:34 +01:00
Dmitri Makarov
55d19e61da
Make cargo-build-bpf clean up after failed installation of bpf-tools ( #21143 )
2021-11-03 21:06:14 +00:00
Justin Starry
140a5f633d
Simplify replay vote tracking by using packet metadata ( #21112 )
2021-11-03 09:02:48 +00:00
Jack May
1adf255e3a
Deprecate more Fee/Blockhash APIs ( #21140 )
2021-11-02 16:38:23 -07:00
Dmitri Makarov
b9eee66f94
Add cargo-build-bpf logic to recover from failed package downloads ( #21138 )
2021-11-02 22:41:06 +00: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
dependabot[bot]
d5104d95d1
chore: bump cargo_metadata from 0.14.0 to 0.14.1 ( #21042 )
...
Bumps [cargo_metadata](https://github.com/oli-obk/cargo_metadata ) from 0.14.0 to 0.14.1.
- [Release notes](https://github.com/oli-obk/cargo_metadata/releases )
- [Commits](https://github.com/oli-obk/cargo_metadata/compare/v0.14.0...0.14.1 )
---
updated-dependencies:
- dependency-name: cargo_metadata
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>
2021-10-28 18:43:26 +00:00
Jack May
4aa12a52b6
Feature cleanup ( #21038 )
2021-10-28 09:04:03 -07:00
Justin Starry
036d7fcc81
Clean up sanitized tx creation for tests ( #21006 )
2021-10-27 18:09:16 +01:00
Brian Anderson
ced1505b75
Document `entrypoint!`, `custom_heap_default!`, and `custom_panic_default!` ( #21003 )
2021-10-26 22:48:10 -07:00
Jack May
1e2bef76e3
Add compute budget program as a noop ( #20992 )
2021-10-26 20:08:59 -07:00
Dmitri Makarov
4287bf6b8b
Bump bpf-tools to v1.18 ( #20991 )
...
- added newlib standard C library to clang toolchain
- fixed BPF backend bug that accidentally deleted code, issue #20538
2021-10-26 22:51:44 +00: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
Alexander Meißner
cf0fd5b2ca
Moves NonceKeyedAccount from the SDK to the Runtime. ( #20954 )
2021-10-25 22:58:18 +02: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
Alexander Meißner
e7c9b9329d
Fixes a bug in MockInvokeContext::get_compute_meter() and adjusts the test assert_instruction_count accordingly. ( #20854 )
...
The get_compute_meter() method created a reference to a clone instead of cloning the reference.
2021-10-22 09:46:47 +02:00
Brian Anderson
64e4bbf829
Fix weird attribute order
2021-10-21 18:40:44 -07:00
Alexander Meißner
97c2732d02
Refactor: Cleanup InvokeContext ( #20785 )
...
* Move blockhash and fee_calculator in ThisInvokeContext instead of using a reference.
* Moves tx_wide_compute_cap into InvokeContext::push().
* Adds ThisInvokeContext::new_mock() constructor.
* Adds missing loader account in uses of MockInvokeContext.
* Use keyed_account_at_index() when accessing keyed_accounts.
* Makes sysvar interface consistent between ThisInvokeContext and MockInvokeContext,
in order to add InvokeContext::get_sysvars().
* Adds InvokeContext::set_blockhash() and InvokeContext ::set_fee_calculator().
* Adds new_mock_with_features.
* Makes ancestors optional in ThisInvokeContext.
* Adds prepare_mock_invoke_context() and mock_process_instruction().
2021-10-21 20:57:42 +02:00
Jack May
a8098f37d0
add checked instructions sysvar api ( #20790 )
2021-10-19 21:01:58 -07:00
Jack May
58164517e4
Add program heap bump instruction ( #20607 )
2021-10-19 21:01:39 -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
Alexander Meißner
e98cfbb570
Removes deprecated BpfComputeBudget. ( #20728 )
2021-10-18 09:55:41 +02:00
Jack May
4beabb3a43
charge for ed25519 sig verifies ( #20639 )
2021-10-14 08:52:59 -07:00
behzad nouri
0c0384ec32
revises turbine peers shuffling order ( #20480 )
...
Turbine randomly shuffles cluster nodes on a broadcast tree for each
shred. This requires knowing the stakes and nodes' contact-infos (from
gossip).
However gossip is subject to partitioning and propogation delays.
Additionally unstaked nodes may join and leave the cluster at any
moment, changing the cluster view from one node to another.
This commit:
* Always arranges the unstaked nodes at the bottom of turbine broadcast
tree.
* Staked nodes are always included regardless of if their contact-info
is available in gossip or not.
* Uses the unbiased WeightedShuffle construct for shuffling nodes.
2021-10-14 15:09:36 +00: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
Alexander Meißner
1d813ea078
Refactor: Make program_id always last in program chain ( #20598 )
...
* Replaces program_id field in InvokeContextStackFrame by index.
* Swaps order of program account and programdata account.
* Removes program_id parameter from InvokeContext::push().
2021-10-13 08:58:20 +02:00
Jack May
c231cfe235
Reduce budget request instruction length ( #20636 )
2021-10-12 20:56:24 -07:00
Alexander Meißner
f30f3bddbb
Refactor: Remove program_id from process_instruction() ( #20540 )
...
* Replaces usage of program_id parameter by invoke_context.get_caller()?.
* Removes "pubkey: &Pubkey" parameter from "process_instruction()".
2021-10-10 22:29:18 +02:00
Sean Young
e03022101b
Fix solana docker image
...
Running the image fails with:
solana-validator: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by solana-validator)
2021-10-09 20:35:39 +01:00
Alexander Meißner
4e65487d2f
Refactor: process_instruction() ( #20448 )
...
* Adds first_instruction_account parameter to process_instruction().
* Removes InvokeContext::remove_first_keyed_account() from all BPF loaders.
* Removes InvokeContext::remove_first_keyed_account() from all builtin programs.
* Removes InvokeContext::remove_first_keyed_account() from all mock ups.
* Deprecates InvokeContext::remove_first_keyed_account().
* Documents index base of keyed_account_at_index().
* Adds dynamic offset to call sites of "keyed_account_at_index()".
2021-10-08 11:41:07 +02:00
Tao Zhu
177a375479
Tpu vote 1.7 ( #20187 ) ( #20494 )
...
* Add separate vote processing tpu port
* Add feature to send to tpu vote port
* Add vote rejecting sigverify mode
* use packet.meta.is_simple_vote_tx in place of deserialization
* consolidate code that identifies vote tx atcommon path for cpu and gpu
* new key for feature set
* banking forward tpu vote
* add tpu vote port to dockerfile and other review changes
* Simplify thread id compare
* fix a test; updated cluster_info ABI change
Co-authored-by: Tao Zhu <tao@solana.com>
Co-authored-by: sakridge <sakridge@gmail.com>
2021-10-07 09:38:23 +00: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
Jack May
785fcb63f5
Remove support for dynamically loaded native programs ( #20444 )
2021-10-06 14:53:23 -07:00
Michael Vines
7027d56064
Resolve nightly-2021-10-05 clippy complaints
2021-10-06 10:37:58 -07:00
Justin Starry
129716f3f0
Optimize stakes cache and rewards at epoch boundaries ( #20432 )
...
* Optimize stakes cache and rewards at epoch boundaries
* Fetch from accounts db
* Add cli flag for disabling epoch boundary optimization
2021-10-06 00:53:26 -04:00
Sean Young
2400e86d13
Simplify ed25519 instruction index
...
Allow u16::MAX to be specified for the instruction index. This makes it
possible to specify the current instruction, so it is not necessary to
know the instruction number.
2021-10-05 14:14:05 +01: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
dependabot[bot]
bcf92b63bf
chore: bump tiny-bip39 from 0.8.1 to 0.8.2 ( #20346 )
...
* chore: bump tiny-bip39 from 0.8.1 to 0.8.2
Bumps [tiny-bip39](https://github.com/maciejhirsz/tiny-bip39 ) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/maciejhirsz/tiny-bip39/releases )
- [Changelog](https://github.com/maciejhirsz/tiny-bip39/blob/master/CHANGELOG.md )
- [Commits](https://github.com/maciejhirsz/tiny-bip39/compare/v0.8.1...v0.8.2 )
---
updated-dependencies:
- dependency-name: tiny-bip39
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-09-30 13:19:12 -06:00
Jack May
8188c1dd59
add unchecked invokes ( #20313 )
2021-09-29 19:50:38 -07:00
Alexander Meißner
4de5fff3ca
Simplifies return_data accessors in InvokeContext. ( #20290 )
2021-09-29 19:11:06 +02:00
Alexander Meißner
57c8abf499
Refactor: Merge message processor into invoke context ( #20308 )
...
* Inlines MessageProcessor::execute_instruction() in MessageProcessor::process_message().
* Moves MessageProcessor::create_pre_accounts() into ThisInvokeContext::push().
* Move instruction_recorders slice into InvokeContext.
* Makes account_indices optional in InvokeContext::push().
* Separates initial InvokeContext::push() from ThisInvokeContext::new().
* invoke_context.pop() the base invocation frame.
* Zip message.instructions.iter() and program_indices.iter().
* Moves ThisInvokeContext::new() to the beginning of the loop inside MessageProcessor::process_message().
* Hoists ThisInvokeContext::new() out of loop inside MessageProcessor::process_message().
* Removes unnecessary clone() from ThisInvokeContext::new() in MessageProcessor ::process_message().
* Stop ignoring errors from MessageProcessor::create_pre_accounts().
* Moves MessageProcessor::verify_account_references() and MessageProcessor::verify() into InvokeContext::verify().
2021-09-29 12:05:25 -05:00
Jack May
8fee9a2e1a
Dont call precompiled programs ( #19930 )
2021-09-29 06:25:08 +00:00
Jack May
491877de3d
Revert "Refactor: Merge MessageProcessor into InvokeContext ( #20165 )" ( #20301 )
...
This reverts commit df6905c3a6
.
2021-09-28 16:59:01 -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
Alexander Meißner
df6905c3a6
Refactor: Merge MessageProcessor into InvokeContext ( #20165 )
...
* Inlines MessageProcessor::execute_instruction() in MessageProcessor::process_message().
* Moves MessageProcessor::create_pre_accounts() into ThisInvokeContext::push().
* Hoists ThisInvokeContext::new() out of loop inside MessageProcessor::process_message().
* Moves MessageProcessor::verify_account_references() and MessageProcessor::verify() into InvokeContext::verify().
2021-09-27 08:28:45 +02:00
Tao Zhu
198929fe8b
sigverify to identify and mark simple vote transaction
2021-09-26 08:57:29 -04:00
Justin Starry
f220386917
Reorder serialized mapped message fields for improved compat
2021-09-26 08:57:29 -04:00
Jeff Washington (jwash)
88fd9670df
add a few useful methods to AtomicInterval ( #20152 )
2021-09-24 10:27:23 -05:00
dependabot[bot]
038d77347a
chore: bump tiny-bip39 from 0.8.0 to 0.8.1 ( #20136 )
...
* chore: bump tiny-bip39 from 0.8.0 to 0.8.1
Bumps [tiny-bip39](https://github.com/maciejhirsz/tiny-bip39 ) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/maciejhirsz/tiny-bip39/releases )
- [Changelog](https://github.com/maciejhirsz/tiny-bip39/blob/master/CHANGELOG.md )
- [Commits](https://github.com/maciejhirsz/tiny-bip39/compare/v0.8.0...v0.8.1 )
---
updated-dependencies:
- dependency-name: tiny-bip39
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <anatoly+githubjenkins@solana.io>
2021-09-23 10:31:14 -06:00
Trent Nelson
7b365c564f
runtime: remove inactive delegation from stakes cache
2021-09-22 20:50:58 -06: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
dependabot[bot]
1b58166e9d
chore: bump memmap2 from 0.4.0 to 0.5.0 ( #20057 )
...
* chore: bump memmap2 from 0.4.0 to 0.5.0
Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs ) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/RazrFalcon/memmap2-rs/releases )
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.4.0...v0.5.0 )
---
updated-dependencies:
- dependency-name: memmap2
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-09-21 17:20:49 -06: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
Alexander Meißner
b507715d44
CPI without Account Refs ( #20034 )
...
* Removes search for accounts and unsafe lifetime transmute in InvokeContext::push().
* Replaces accounts by account_indices in verify_and_update() and process_cross_program_instruction().
Co-authored-by: Justin Starry <justin.m.starry@gmail.com>
2021-09-21 14:41:02 +02:00
Justin Starry
ea34eb8a4b
Update feature switch for reduced required deploy balance ( #19999 )
2021-09-19 14:50:41 -05:00
Pavel Strakhov
65227f44dc
Optimize RPC pubsub for multiple clients with the same subscription ( #18943 )
...
* reimplement rpc pubsub with a broadcast queue
* update tests for new pubsub implementation
* fix: fix review suggestions
* chore(rpc): add additional pubsub metrics
* integrate max subscriptions check into SubscriptionTracker to reduce locking
* separate subscription control from tracker
* limit memory usage of items in pubsub broadcast queue, improve error handling
* add more pubsub metrics
* add final count metrics to pubsub
* add metric for total number of subscriptions
* fix small review suggestions
* remove by_params from SubscriptionTracker and add node_progress_watchers map instead
* add subscription tracker tests
* add metrics for number of pubsub notifications as a counter
* ignore clippy lint in TokenCounter
* fix underflow in token counter
* reduce queue capacity in pubsub tests
* fix(rpc): fix test timeouts
* fix race in account subscription test
* Add RpcSubscriptions::new_for_tests
Co-authored-by: Pavel Strakhov <p.strakhov@iconic.vc>
Co-authored-by: Nikita Podoliako <n.podoliako@zubr.io>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-09-17 13:40:14 -06:00
Jack May
fc2bf2d3b6
Cleanup and standardize precompiles ( #19918 )
2021-09-17 11:36:57 -07:00
Jack May
7b0bf64404
cleanup old features ( #19956 )
2021-09-17 09:46:49 -07:00
dependabot[bot]
b8106e2450
chore: bump memmap2 from 0.3.1 to 0.4.0 ( #19974 )
...
* chore: bump memmap2 from 0.3.1 to 0.4.0
Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs ) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/RazrFalcon/memmap2-rs/releases )
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v0.3.1...v0.4.0 )
---
updated-dependencies:
- dependency-name: memmap2
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-09-17 10:00:12 -06:00
Jon Cinque
9eb98adf97
stake: Add BorshDeserialize trait to structs ( #19958 )
2021-09-17 10:14:23 +02:00
dependabot[bot]
68da1909de
chore: bump serde_json from 1.0.67 to 1.0.68 ( #19942 )
...
* chore: bump serde_json from 1.0.67 to 1.0.68
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.67 to 1.0.68.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.67...v1.0.68 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-09-16 20:23:25 +00:00
Jack May
00d7981f64
Fix native invoke writable privileges ( #19750 )
...
* Fix native invoke writable privileges
* build downstream spl bpf programs for tests
2021-09-13 22:57:37 -07:00
dependabot[bot]
857fce13f9
chore: bump sha2 from 0.9.6 to 0.9.8 ( #19760 )
...
* chore: bump sha2 from 0.9.6 to 0.9.8
Bumps [sha2](https://github.com/RustCrypto/hashes ) from 0.9.6 to 0.9.8.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.9.6...sha2-v0.9.8 )
---
updated-dependencies:
- dependency-name: sha2
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-09-11 16:22:40 -06:00
Giles Cope
c3a610374a
unused deps
2021-09-11 14:33:53 -07:00
Trent Nelson
92e343da26
move `./run.sh` into `./scripts`
2021-09-11 14:49:17 -06: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
Alexander Meißner
88c1b8f047
Index loaders / executable accounts ( #19469 )
...
* Appends loaders / executable_accounts to accounts in transaction loading.
* Adds indices to loaders / executable_accounts.
* Moves MessageProcessor::create_keyed_accounts() into InvokeContext::push().
* Removes "executable_accounts",
now referenced by transaction wide index into "accounts".
* Removes create_pre_accounts() from InstructionProcessor,
as it is already in MessageProcessor.
* Collect program account indices directly in load_executable_accounts().
2021-09-10 08:36:21 +02:00
Tyera Eulberg
38bbb77989
Return error if Transaction contains writable executable or ProgramData accounts ( #19629 )
...
* Return error if Transaction locks an executable as writable
* Return error if a ProgramData account is writable but the upgradable loader isn't present
* Remove unreachable clause
* Fixup bpf tests
* Review comments
* Add new TransactionError
* Disallow writes to any upgradeable-loader account when loader not present; remove is_upgradeable_loader_present exception for all other executables
2021-09-08 15:21:52 -06: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
Justin Starry
76176a4620
Recover from interrupted bpf sdk installs ( #19651 )
2021-09-06 01:59:58 -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
Sean Young
d461a9ac10
verify_precompiles needs FeatureSet
...
Rather than pass in individual features, pass in the entire feature set
so that we can add the ed25519 program feature in a later commit.
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
Jon Cinque
2c3bdedea3
stake: Advance `credits_observed` on activation epoch ( #19309 )
...
* stake: Advance `credits_observed` on activation epoch
* Add test for merging stakes just after activation
2021-09-03 23:20:56 +02:00
Jack May
5cf8d8795b
Feature cleanup ( #19528 )
2021-08-31 14:51:26 -07:00
dependabot[bot]
c21bf29ce7
chore: bump serde_json from 1.0.66 to 1.0.67 ( #19501 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.66 to 1.0.67.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.66...v1.0.67 )
---
updated-dependencies:
- dependency-name: serde_json
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>
2021-08-31 06:05:25 +00:00
dependabot[bot]
dc3d7ad2bd
chore: bump sha2 from 0.9.5 to 0.9.6 ( #19511 )
...
* chore: bump sha2 from 0.9.5 to 0.9.6
Bumps [sha2](https://github.com/RustCrypto/hashes ) from 0.9.5 to 0.9.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.9.5...sha2-v0.9.6 )
---
updated-dependencies:
- dependency-name: sha2
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-08-30 19:58:26 -06:00
Kenta Iwasaki
4ad7069827
cargo-build-bpf: allow sdk path to be set by environment variables
...
In many Linux distros such as NixOS, the directory in which packages are
installed is assumed to be read-only. To work around this, it is
expected that the filepaths which packaged CLI tools take in are able to
be freely configured through either 1) command-line flags, 2)
environment variables, or 3) a configuration file.
In this commit, environment variables 'BPF_SDK_PATH' and 'BPF_OUT_PATH',
which map respectively to command-line flags '--bpf-sdk-path' and
'--bpf-out-dir', are now handled in cargo-build-bpf.
Additionally, given that arbitrary filepaths may now be set in which the
BPF SDK is located, the requirement in which
'$BPF_SDK_PATH/dependencies/bpf-tools' must strictly be a symbolic link
to the directory '$HOME/.cache/solana/${bpf-tools.version}/bpf-tools has
been relaxed.
Ideally, the directory in which bpf-tools is expected to be downloaded
to and stored should be configurable. Though, this commit serves as a
temporary fix which enables NixOS users to now start being able to build
applications with the Solana SDK.
2021-08-30 23:11:48 +02:00
dependabot[bot]
6a53ec28e0
chore: bump serde from 1.0.129 to 1.0.130 ( #19497 )
...
* chore: bump serde from 1.0.129 to 1.0.130
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.129 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130 )
---
updated-dependencies:
- dependency-name: serde
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-08-30 18:19:34 +00:00
dependabot[bot]
f19ff84593
chore: bump pbkdf2 from 0.8.0 to 0.9.0 ( #19492 )
...
* chore: bump pbkdf2 from 0.8.0 to 0.9.0
Bumps [pbkdf2](https://github.com/RustCrypto/password-hashes ) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/RustCrypto/password-hashes/releases )
- [Commits](https://github.com/RustCrypto/password-hashes/commits )
---
updated-dependencies:
- dependency-name: pbkdf2
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <anatoly+githubjenkins@solana.io>
2021-08-30 09:36:40 -06:00
behzad nouri
6909a79b6f
removes require-stake-for-gossip feature ( #19476 )
...
The feature is already activated on all clusters.
2021-08-27 21:17:15 +00:00
Justin Starry
c52d3736e8
Clean up feature set entries ( #19427 )
...
* Clean up feature set entries
* fix test
* bump
2021-08-25 13:57:27 -07:00
dependabot[bot]
46890ac197
chore: bump serde from 1.0.128 to 1.0.129 ( #19395 )
...
* chore: bump serde from 1.0.128 to 1.0.129
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.128 to 1.0.129.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.128...v1.0.129 )
---
updated-dependencies:
- dependency-name: serde
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-08-24 12:32:30 -06:00
Jack May
a89f180145
Allow closing upgradeable program accounts ( #19319 )
2021-08-24 10:05:54 -07:00
Brooks Prumo
96360f3139
clippy: Use `unwrap_or_default()`
...
Clippy was unhappy:
```text
error: use of `.unwrap_or_else(..)` to construct default value
--> sdk/src/signer/keypair.rs:171:27
|
171 | let derivation_path = derivation_path.unwrap_or_else(DerivationPath::default);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `derivation_path.unwrap_or_default()`
|
= note: `-D clippy::unwrap-or-else-default` implied by `-D warnings`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_else_default
```
2021-08-23 11:17:21 -05:00
dependabot[bot]
aea9960c75
chore: bump serde from 1.0.127 to 1.0.128 ( #19370 )
...
* chore: bump serde from 1.0.127 to 1.0.128
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.127 to 1.0.128.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.128 )
---
updated-dependencies:
- dependency-name: serde
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <anatoly+githubjenkins@solana.io>
2021-08-23 09:33:34 -06:00
jon-chuang
3e5ba8dcaa
bug: `sysvar::Instructions` is not owned by `Sysvar1111111111111111111111111111111111111` ( #19242 )
...
* Fix instructions sysvar owner
* Update feature switch address
Co-authored-by: Justin Starry <justin@solana.com>
2021-08-20 08:32:28 -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
Jack May
3ec33e7d02
Fail secp256k1 if the instruction data looks incorrect ( #19300 )
2021-08-19 13:13:54 -07:00
Jack May
e1fb45bd3f
nit: fix case ( #19321 )
2021-08-19 09:46:06 -07:00
Jeff Washington (jwash)
89a31ff473
change untar to use unpack instead of unpack_in ( #19216 )
...
* change untar to use unpack instead of unpack_in
* hacky, but maybe passes tests
* chore: bump tar from 0.4.35 to 0.4.37
Bumps [tar](https://github.com/alexcrichton/tar-rs ) from 0.4.35 to 0.4.37.
- [Release notes](https://github.com/alexcrichton/tar-rs/releases )
- [Commits](https://github.com/alexcrichton/tar-rs/compare/0.4.35...0.4.37 )
---
updated-dependencies:
- dependency-name: tar
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
* cleanup
* cleanup, add validate_inside_dst
* collapse use
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* delete comment line
* add comments
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 <teulberg@gmail.com>
2021-08-18 15:49:02 -05: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
dependabot[bot]
098e2b2de3
chore: bump memmap2 from 0.3.0 to 0.3.1 ( #19255 )
...
* chore: bump memmap2 from 0.3.0 to 0.3.1
Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs ) from 0.3.0 to 0.3.1.
- [Release notes](https://github.com/RazrFalcon/memmap2-rs/releases )
- [Changelog](https://github.com/RazrFalcon/memmap2-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/RazrFalcon/memmap2-rs/compare/v.0.3.0...v0.3.1 )
---
updated-dependencies:
- dependency-name: memmap2
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-08-17 15:49:50 -06: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
Jack May
9be988db41
Fix memoverlap check ( #19232 )
2021-08-16 16:16:52 -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
04c0c608a3
Split solana_sdk.h ( #19172 )
2021-08-13 09:49:24 -07:00
Jack May
0b50bb2b20
Deprecate FeeCalculator returning APIs ( #19120 )
2021-08-13 09:08:20 -07:00
Tao Zhu
414d904959
Reject blocks for costs above the max block cost ( #18994 )
...
* added realtime cost checking logic to reject block that would exceed max limit:
- defines max limits at block_cost_limits.rs
- right after each bath's execution, accumulate its cost and check again
limit, return error if limit is exceeded
* update abi that changed due to adding additional TransactionError
* To avoid counting stats mltiple times, only accumulate execute-timing when a bank is completed
* gate it by a feature
* move cost const def into block_cost_limits.rs
* redefine the cost for signature and account access, removed signer part as it is not well defined for now
* check if per_program_timings of execute_timings before sending
2021-08-12 10:48:47 -05:00
Alexander Meißner
85befbc8cd
Removes bpf_loader_upgradeable_program feature gate. ( #19102 )
2021-08-11 00:08:57 +02:00
Dmitri Makarov
d6a2b70438
Bump bpf-tools to v1.15 ( #19117 )
...
- update to rust 1.54.0
2021-08-10 07:21:14 +00: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
Brian Anderson
b67ffab370
Add more API documentation for Rust RpcClient ( #19021 )
...
* Add doc links to Transaction API docs
* Add more RpcClient API docs
* Reflow some rpc_client docs
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update client/src/rpc_client.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update sdk/src/transaction.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update RpcClient docs per review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-08-05 15:03:33 -06:00
Trent Nelson
d60ccf64e1
bump recommended maps/nofiles
2021-08-04 11:15:18 -06:00
dependabot[bot]
6d95d679c4
chore: bump curve25519-dalek from 3.1.0 to 3.2.0 ( #19051 )
...
* chore: bump curve25519-dalek from 3.1.0 to 3.2.0
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek ) from 3.1.0 to 3.2.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/3.1.0...3.2.0 )
---
updated-dependencies:
- dependency-name: curve25519-dalek
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-08-04 09:14:32 -06:00
Jon Cinque
2b33c0c165
stake: Allow stakes with unmatched credits observed to merge ( #18985 )
...
* stake: Allow stakes with unmatched credits observed to merge
* Address feedback
* Remove branch by doing a ceiling in one calc
2021-08-04 10:43:34 -04:00
Alexander Meißner
0a63f65c03
Bumps solana_rbpf to v0.2.14 ( #18869 )
...
* Bumps solana_rbpf to v0.2.14
* Feature gate for verify_mul64_imm_nonzero as discussed in #17520 .
2021-08-04 09:50:28 +02:00
Dmitri Makarov
cde1461555
Bump bpf-tools to v1.14 ( #19023 )
...
- improved memory operations performance
- minor fixes
2021-08-03 09:13:58 +00:00
dependabot[bot]
c16bf02448
chore: bump serde from 1.0.126 to 1.0.127 ( #19010 )
...
* chore: bump serde from 1.0.126 to 1.0.127
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.126 to 1.0.127.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.126...v1.0.127 )
---
updated-dependencies:
- dependency-name: serde
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-08-02 21:16:34 +00: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
dependabot[bot]
fe1ee49807
chore: bump serde_json from 1.0.65 to 1.0.66 ( #18990 )
...
* chore: bump serde_json from 1.0.65 to 1.0.66
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.65 to 1.0.66.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.65...v1.0.66 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
2021-07-30 10:46:47 -06:00
Jack May
ef17cf3bdb
Cleanup loader features ( #18977 )
2021-07-29 15:03:00 -07:00
Jack May
dfbb0c559b
deprecate fees sysvar ( #18960 )
2021-07-29 10:48:14 -07:00
dependabot[bot]
0cf52e2060
chore: bump serde_json from 1.0.64 to 1.0.65 ( #18968 )
...
* chore: bump serde_json from 1.0.64 to 1.0.65
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.64 to 1.0.65.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.64...v1.0.65 )
---
updated-dependencies:
- dependency-name: serde_json
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
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-07-29 16:52:02 +00:00
Jack May
9529284194
Nonce gets blockhash from invoke_context ( #18950 )
2021-07-29 01:50:20 -07:00
sakridge
84e78316b1
Write helper for multithread update ( #18808 )
2021-07-29 03:16:36 +02:00
Jack May
0167daa116
cleanup feature consistent_recent_blockhashes_sysvar ( #18932 )
2021-07-28 10:25:33 -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
Brian Anderson
846787e7f4
Autolink URL in docs for sdk::feature_set ( #18874 )
2021-07-23 18:48:37 +00:00
Jack May
7fc4cfebc8
Rename BpfComputeBudget ( #18768 )
2021-07-22 10:18:51 -07:00
Jon Cinque
51f3b9aa7c
feature: add new token program feature ( #18780 )
...
* feature: add new token program feature
* Fixup test
* Update to spl-token v3.2.0
* Update Cargo.lock + fmt
* Update token program version in fetch-spl.sh
* Bump associated token program to 1.0.3
* Add aToken so
2021-07-21 14:34:25 +02: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
Jack May
5f9f3724d0
Remove unused compute budget item ( #18706 )
2021-07-16 09:12:17 +00:00
Jack May
6cf3c1ab8f
tx wide compute budget ( #18631 )
2021-07-16 00:31:22 -07:00
Justin Starry
d166b9856a
Move transaction sanitization earlier in the pipeline ( #18655 )
...
* Move transaction sanitization earlier in the pipeline
* Renamed HashedTransaction to SanitizedTransaction
* Implement deref for sanitized transaction
* bring back process_transactions test method
* Use sanitized transactions for cost model calculation
2021-07-15 22:51:27 -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
Dmitri Makarov
d117be6792
Reword help of generate-child-script-on-failure cargo bpf tools option ( #18685 )
2021-07-15 03:31:33 +00:00
Dmitri Makarov
6f72f8b1fc
Generate a script to rerun the failed sub-command in cargo-test-bpf ( #18582 )
...
* Generate a script to rerun the failed sub-command in cargo-test-bpf
* Generate a script to rerun the failed sub-command in cargo-build-bpf
* Add cargo-build-bpf test for generate-child-script-on-failure option
2021-07-15 01:02:42 +00:00
sakridge
7f2254225e
Move entry/poh to own crate to speed up poh bench build ( #18225 )
2021-07-14 14:16:29 +02: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