valiksinev
5f7fea100a
Big integer modular exponentiation (EIP-198) ( #28503 )
...
* big_mod_exp impl
* fix programs/sbf/Cargo.lock
* ComputeBudget impl
* update compute_budget
* compute_budget update
* fix build
* fix tests
* fix cargo clippy
* fix clippy
* fix bpf_loader dependency sorting
* fix sorting
* fix merge from master
* fix cargo fmt
* fix C-tests
* fix cargo fmt
* comments apply
* fix programs/sbf/Cargo.lock
* update compude_budget cost
* remove whitespaces
* fix cargo fmt
Co-authored-by: sinev-valentine <sinev-valentine@yandex.ru>
2023-01-20 18:42:37 +09:00
Trent Nelson
c4e43f1de4
vote: encapsulate `Lockout` ( #29753 )
2023-01-18 19:28:28 -07:00
Ryo Onodera
254381e3ca
Bump chrono to v0.4.23 ( #29709 )
...
* Bump chrono to v0.4.23
* fmt...
2023-01-18 13:54:02 +09:00
Tao Zhu
1d88654116
Revert "Cap accounts data a transaction can load by its requested limit" ( #29373 )
...
Revert "Cap accounts data a transaction can load by its requested limit (#27840 )"
This reverts commit 81dc2e56ac
.
2023-01-17 11:34:18 +01:00
Alexander Meißner
c5380d4699
Adds symmetric tests for all cases of un-/re-/deployment inside the same transaction ( #29725 )
...
Unifies test_program_sbf_upgrade_and_invoke_in_same_tx() and test_program_sbf_upgrade_self_via_cpi() into test_program_sbf_invoke_in_same_tx_as_redeployment().
Adds test_program_sbf_invoke_in_same_tx_as_deployment() and test_program_sbf_invoke_in_same_tx_as_undeployment().
2023-01-17 09:44:27 +01:00
Alexander Meißner
9d1a0c52f8
Cleanup - `disable_deprecated_loader` ( #29653 )
...
* Removes the gating of disable_deprecated_loader.
* Adds create_program().
Renames create_deprecated_program() -> load_program().
Renames load_and_finalize_deprecated_program() -> load_and_finalize_program().
* Fixes test_sol_alloc_free_no_longer_deployable().
2023-01-14 13:02:10 +01:00
Alexander Meißner
ab97d37e3d
Refactor - Simplify loader utils ( #29699 )
...
* Moves all the common code of tests and benches into loader utils.
* Removes write_sbf_program().
* Removes ignored test: test_program_sbf_test_use_latest_executor2().
2023-01-13 20:38:36 +01:00
dependabot[bot]
d32256d2af
Bump pem from 1.1.0 to 1.1.1 ( #29673 )
...
* Bump pem from 1.1.0 to 1.1.1
Bumps [pem](https://github.com/jcreekmore/pem-rs ) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/jcreekmore/pem-rs/releases )
- [Changelog](https://github.com/jcreekmore/pem-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/jcreekmore/pem-rs/compare/v1.1.0...v1.1.1 )
---
updated-dependencies:
- dependency-name: pem
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-01-12 19:39:02 -07:00
dependabot[bot]
10f8b5faa3
Bump memmap2 from 0.5.3 to 0.5.8 ( #29674 )
...
* Bump memmap2 from 0.5.3 to 0.5.8
Bumps [memmap2](https://github.com/RazrFalcon/memmap2-rs ) from 0.5.3 to 0.5.8.
- [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.5.3...v0.5.8 )
---
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-01-12 19:38:38 -07:00
dependabot[bot]
a08124e7bb
Bump tonic from 0.8.0 to 0.8.2 ( #29644 )
...
* Bump tonic from 0.8.0 to 0.8.2
Bumps [tonic](https://github.com/hyperium/tonic ) from 0.8.0 to 0.8.2.
- [Release notes](https://github.com/hyperium/tonic/releases )
- [Changelog](https://github.com/hyperium/tonic/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/tonic/compare/v0.8.0...v0.8.2 )
---
updated-dependencies:
- dependency-name: tonic
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-01-12 00:13:51 -07:00
Lijun Wang
7c8b846344
Update quinn versions ( #29603 )
...
* chore: bump quinn-udp from 0.1.3 to 0.3.2
Bumps [quinn-udp](https://github.com/quinn-rs/quinn ) from 0.1.3 to 0.3.2.
- [Release notes](https://github.com/quinn-rs/quinn/releases )
- [Commits](https://github.com/quinn-rs/quinn/commits )
---
updated-dependencies:
- dependency-name: quinn-udp
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Try to use quinn 0.9.3 and quinn-proto 0.9.2
* Update streamer and client for quic to support qunn 0.9.3
* Update Cargo.lock
* Fixed unit test failure for quic tests
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 10:08:22 -08:00
dependabot[bot]
fadf027851
Bump semver from 1.0.14 to 1.0.16 ( #29645 )
...
* Bump semver from 1.0.14 to 1.0.16
Bumps [semver](https://github.com/dtolnay/semver ) from 1.0.14 to 1.0.16.
- [Release notes](https://github.com/dtolnay/semver/releases )
- [Commits](https://github.com/dtolnay/semver/compare/1.0.14...1.0.16 )
---
updated-dependencies:
- dependency-name: semver
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-01-11 10:07:58 -07:00
dependabot[bot]
758311b073
chore: bump either from 1.7.0 to 1.8.0 ( #29425 )
...
* chore: bump either from 1.7.0 to 1.8.0
Bumps [either](https://github.com/bluss/either ) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/bluss/either/releases )
- [Commits](https://github.com/bluss/either/compare/1.7.0...1.8.0 )
---
updated-dependencies:
- dependency-name: either
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-01-11 09:48:12 -07:00
Yihau Chen
b1b683d2af
chore: bump hyper to 0.4.23 ( #29619 )
2023-01-11 14:19:32 +08:00
dependabot[bot]
864a7d8d6f
Bump bzip2 from 0.4.3 to 0.4.4 ( #29630 )
...
* Bump bzip2 from 0.4.3 to 0.4.4
Bumps [bzip2](https://github.com/alexcrichton/bzip2-rs ) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/alexcrichton/bzip2-rs/releases )
- [Commits](https://github.com/alexcrichton/bzip2-rs/commits/0.4.4 )
---
updated-dependencies:
- dependency-name: bzip2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-01-10 23:08:22 -07:00
dependabot[bot]
04b8e8f5be
chore: bump cc from 1.0.73 to 1.0.78 ( #29387 )
...
* chore: bump cc from 1.0.73 to 1.0.78
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.0.73 to 1.0.78.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.73...1.0.78 )
---
updated-dependencies:
- dependency-name: cc
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2023-01-10 22:50:03 -07:00
Trent Nelson
61e2da45f8
fix: synchronize cpi error prioritization with v1.14 (fp #29593 ) ( #29621 )
...
* Revert "Removes `serialized_len_ptr` from `CallerAccount`. (#26737 )"
36cfa78fa0
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net>
2023-01-10 14:28:38 -07:00
behzad nouri
12da2da389
fixes errors from clippy::redundant_clone ( #29536 )
...
https://rust-lang.github.io/rust-clippy/master/index.html#redundant_clone
2023-01-05 18:42:19 +00:00
Jon Cinque
aa593a31f8
logger: Update to env_logger 0.9.3 ( #29510 )
2023-01-04 21:35:37 +01:00
Jeff Washington (jwash)
cf1aa4beea
feature: set rent_epoch to Epoch::MAX ( #28690 )
...
* check android builds
* feature: set rent_epoch to Epoch::MAX
* tweaks
* Update runtime/src/rent_collector.rs
Co-authored-by: Brooks Prumo <brooks@prumo.org>
* simplify changes to tests
* back out some test changes
* calculate_rent_result passes through Exempt
* move calc outside loop
* if rent epoch is already max, use 'NoRentCollectionNow'
Co-authored-by: Brooks Prumo <brooks@prumo.org>
2023-01-02 07:51:08 -08:00
Dmitri Makarov
3a14e52eb7
Bump sbf-tools to v1.32 ( #29325 )
...
* Bump sbf-tools to v1.32
This version of sbf-tools is based on Rust 1.65.0 and LLVM 15.0.
* Temporary ignore build-sbf tests until issue with buildkite cache resolved
2022-12-24 11:34:12 -08:00
Jon Cinque
968b158494
vote: Prevent commission update in the second half of epochs ( #29362 )
...
* vote: Prevent commission update in the second half of epochs
* Address feedback
* Fix tests
* Make the feature enabled by single-contributor
* Use a cooler pubkey
2022-12-23 12:24:39 +01:00
dependabot[bot]
65391a70cb
chore: bump futures-util from 0.3.24 to 0.3.25 ( #29337 )
...
* chore: bump futures-util from 0.3.24 to 0.3.25
Bumps [futures-util](https://github.com/rust-lang/futures-rs ) from 0.3.24 to 0.3.25.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.24...0.3.25 )
---
updated-dependencies:
- dependency-name: futures-util
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-12-22 22:42:18 -07:00
Lijun Wang
0a7d8520b8
Make connection cache to support specified client endpoint ( #29240 )
...
ConnectionCache is being used for managing connections for sending messages using quic. In the current implementation the connection's endpoint is created in a lazy initialized fashion and set to one per connection pool. In repair we need all connections to use the same Endpoint so that the server can send back the response to the same Endpoint.
2022-12-22 12:35:32 -08:00
Alessandro Decina
0a5164d887
Remove checks for activated feature check_physical_overlapping ( #29355 )
2022-12-22 19:07:08 +11:00
dependabot[bot]
6ebbaf30c9
chore: bump rcgen from 0.9.2 to 0.9.3 ( #28021 )
...
* chore: bump rcgen from 0.9.2 to 0.9.3
Bumps [rcgen](https://github.com/est31/rcgen ) from 0.9.2 to 0.9.3.
- [Release notes](https://github.com/est31/rcgen/releases )
- [Changelog](https://github.com/est31/rcgen/blob/master/CHANGELOG.md )
- [Commits](https://github.com/est31/rcgen/compare/v0.9.2...v0.9.3 )
---
updated-dependencies:
- dependency-name: rcgen
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
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-12-20 02:12:53 +00:00
Brooks Prumo
4530d161b7
Fixes format strings ( #29327 )
2022-12-19 17:26:38 -05:00
Brennan Watt
830ccb9bff
Fix compile warning for some targets ( #29258 )
...
* Fix compile warning for some targets
* Reduce redundant code
2022-12-14 20:40:13 +01:00
Alexander Meißner
721496b900
Feature - Program redeployment cooldown ( #29136 )
...
* Registers the feature enable_program_redeployment_cooldown.
* Adds redeployment slot constraint.
* Adds test to assert that closed programs can not be reopened.
* Ensure that program close truncates the account data.
* Adds set_sysvar_for_tests() to SBF program tests.
2022-12-13 22:54:24 +01:00
dependabot[bot]
dca5d7f9b4
chore: bump test-case from 2.1.0 to 2.2.2 ( #28184 )
...
Bumps [test-case](https://github.com/frondeus/test-case ) from 2.1.0 to 2.2.2.
- [Release notes](https://github.com/frondeus/test-case/releases )
- [Changelog](https://github.com/frondeus/test-case/blob/master/CHANGELOG.md )
- [Commits](https://github.com/frondeus/test-case/compare/v2.1.0...v2.2.2 )
---
updated-dependencies:
- dependency-name: test-case
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-13 16:07:50 +00:00
Alexander Meißner
025b35af40
Cfg disable JIT code on systems where it is not supported ( #29208 )
...
Cfg disable JIT code on systems where it is not supported.
2022-12-12 15:29:38 +01:00
Alexander Meißner
013f784e92
Bump solana_rbpf to v0.2.38 ( #29137 )
...
* Refactor register_syscalls() => create_loader().
* Bumps solana_rbpf to v0.2.38
* Replaces Config::encrypt_environment_registers by Config::runtime_environment_key.
* Adds pc parameter to MemoryMapping::map()
* Removes debugger from rbpf CLI.
* Adds debugger to rbpf CLI again.
* Renames vm.context_object => vm.env.context_object_pointer.
* Renames SyscallRegistry => BuiltInProgram.
Renames SyscallFunction => BuiltInFunction.
Renames register_syscall_by_name() => register_function_by_name().
* Removes ContextObject from Analysis.
* Renames Config::error_on_syscall_bpf_function_hash_collisions => Config::external_internal_function_hash_collision.
2022-12-12 08:47:09 +01:00
HaoranYi
33b15240ac
Revert #28945 ( #29127 )
...
revert #28945
2022-12-06 17:08:56 -06:00
behzad nouri
9524c9dbff
patches errors from clippy::uninlined_format_args
...
https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
2022-12-06 19:32:15 +00:00
haoran
f716cad4af
don't use procfs as it is not supported on mac and windows.
...
make open_fd stats only on linux platform
2022-12-06 13:31:50 -06:00
Haoran Yi
e1ba5a2a63
add monitoring for open file descriptors stat
2022-12-06 13:31:50 -06:00
Haoran Yi
703511c3e8
log number of open files when panic
2022-12-06 13:31:50 -06:00
Alexander Meißner
0475c2f0af
Fix - Turns binary `&` into logical `&&` in `translate_slice_inner()`. ( #29038 )
...
Turns binary & into logical && in translate_slice_inner().
2022-12-02 15:10:07 +01:00
Alexander Meißner
f766895f78
Adds a feature ID for `enable_alt_bn128_syscall` ( #28908 )
...
Adds a feature ID for enable_alt_bn128_syscall.
2022-12-01 09:58:23 +01:00
Tyera
3d6eb16753
Bump spl-ata to v1.1.2 ( #28979 )
2022-11-30 03:46:42 +00:00
hanako mumei
015784ad07
update to spl-token-2022 0.5.0
...
* support CpiGuard and PermanentDelegate extensions in transaction-status and account-decoder
* update transaction-status and account-decoder to new ConfidentialTransfer interfaces
2022-11-28 11:30:41 -08:00
Alessandro Decina
bee24a81b8
Refactor CPI, add tests and sprinkle some comments ( #28544 )
...
* bpf_loader: cpi: split account update code to update_caller_account and add tests
* bpf_loader: cpi: set CallerAccount::original_data_len earlier
* cpi: add CallerAccount::from_account_info and CallerAccount::from_sol_account_info
* cpi: refactor common account info translation code in translate_account_infos
* update_caller docs
* cpi: rename translate_accounts to translate_and_update_accounts
* cpi: refactor pre-cpi account update code into update_callee_account
* cpi: add tests for CallerAccount::from_account_info
* cpi: add test for SyscallInvokeSignedRust::translate_accounts
* cpi: fix lints
* cpi: add test for translate_instruction()
* cpi: add test for translate_signers
* cpi: fix lint
* cpi: review fixups round 1
* cpi: more review fixups
Replace ugly MockInvokeContext with a macro
* cpi: more review fixes
replace get_callee with macro
* cpi: more review fixes
Add MockAccountInfo::new
* Fix rebase mistake
2022-11-23 23:22:50 +11:00
Alessandro Decina
1f40cb3d37
The syscall_saturated_math feature was activated, remove checks ( #28605 )
2022-11-23 20:42:59 +11:00
ananas-block
afc3fee937
added alt_bn syscalls ( #27961 )
...
* added alt_bn128_syscalls
* increased regression build redundancy to > 10
2022-11-21 17:43:06 +01:00
Yihau Chen
eaea3ec5bc
bump solana_rbpf to v0.2.37 ( #28857 )
2022-11-19 11:30:36 +08:00
Tyera
c32377b5af
Split out quic- and udp-client definitions ( #28762 )
...
* Move ConnectionCache back to solana-client, and duplicate ThinClient, TpuClient there
* Dedupe thin_client modules
* Dedupe tpu_client modules
* Move TpuClient to TpuConnectionCache
* Move ThinClient to TpuConnectionCache
* Move TpuConnection and quic/udp trait implementations back to solana-client
* Remove enum_dispatch from solana-tpu-client
* Move udp-client to its own crate
* Move quic-client to its own crate
2022-11-18 12:21:45 -07:00
Justin Starry
7371608722
Support versioned transactions in program test framework ( #28739 )
...
* Support versioned transactions in program test framework
* use working bank
* Update to process_transaction_with_metadata
* Migrate client apis from Transaction to Into<VersionedTransaction>
* feedback
2022-11-18 23:43:52 +08:00
Alexander Meißner
ff1ff587d1
Bump solana_rbpf to 0.2.36 ( #28794 )
...
* Bumps solana_rbpf to v0.2.36
* Removes ThisInstructionMeter.
* Removes one "unsafe" expression.
* Removes redundant call to solana_rbpf:🧝 :register_bpf_function().
* Adjusts SyscallFunction and SyscallRegistry.
* Inlines ProgramEnvironment into EbpfVm.
* Refactors trait SyscallConsume into fn consume_compute_meter().
* Inlines ComputeMeter into InvokeContext.
* Removes solana-metrics dependency from bpf_loader.
* Replaces RBPF tracer functionality by the debugger.
* Take compute_units_consumed from execute_program().
* Merges execute_program_interpreted() and execute_program_jit().
2022-11-15 15:21:11 +01:00
Tao Zhu
81dc2e56ac
Cap accounts data a transaction can load by its requested limit ( #27840 )
...
- Add new compute-budget instruction to set transaction-wide accounts data size limit
- Set default accounts data limit to 10MB, and max to 100MB, per transaction;
- Add getters to make changing default and/or max values easier in the future with feature gates;
- added error counter for transactions exceed data size limit
2022-11-14 10:29:35 -06:00
Alexander Meißner
66d06b3f99
Revert #27444 ( #28784 )
...
* Removes SyscallSetAccountProperties.
* Removes TransactionContextAttribute.
2022-11-11 10:26:55 +01:00