Jack May
12e160269e
cache executors on failed transactions ( #22308 )
2022-01-05 22:09:03 -08:00
Michael Vines
bb3a1b6b31
Add zk_token_sdk_enabled feature to gate Zk Token proof program and `sol_zk_token_elgamal_op` syscalls
2022-01-05 11:57:37 -08:00
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
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
Alexander Meißner
d6ec103bee
Bump rbpf to v0.2.21 ( #22216 )
2022-01-01 20:22:48 +00:00
Alexander Meißner
8a43e2d889
Bump solana_rbpf to version v0.2.20 ( #22164 )
2021-12-31 19:50:45 +01:00
Alexander Meißner
e529d03c11
Cleanup #22182 ( #22205 )
...
* Turns compute_units_consumed of ProcessInstructionResult into a &mut parameter.
* Removes second nesting level from test_process_instruction_compute_budget().
* Makes test_process_cross_program and test_native_invoke symmetric.
* Unifies test_process_cross_program(), test_native_invoke() and test_process_instruction_compute_budget() into test_process_instruction().
2021-12-31 17:55:27 +01:00
carllin
d06e6c7425
Count compute units even when transaction errors ( #22182 )
2021-12-30 21:21:42 -05: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
carllin
33d0b5e011
Revert "Count compute units even when transaction errors ( #22059 )" ( #22174 )
...
This reverts commit eaa8c67bde
.
2021-12-30 02:42:32 -05:00
carllin
eaa8c67bde
Count compute units even when transaction errors ( #22059 )
2021-12-28 17:05:11 -05: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
cc947cad03
Refactor: CPI Instruction Recording ( #22111 )
...
* Unifies all InstructionRecorders of a transaction into one.
* Stops explicitly compiling CPI instructions for recording,
uses the indices gathered from instruction_accounts instead.
2021-12-25 13:35:43 +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
carllin
37f6777ceb
Increment execution timings on errors as well ( #22053 )
2021-12-22 15:07:07 -05:00
Alexander Meißner
66fa8f9667
Refactor: Removes `Rc` from `Refcell<AccountSharedData>` in the program-runtime ( #21927 )
...
* Removes Rc from Rc<RefCell<AccountSharedData>> in the program-runtime.
* Adjusts tests in bpf_loader, system_instruction_processor, config_processor, vote_instruction and stake_instruction
2021-12-17 14:01:12 +01:00
Justin Starry
6ff0be6a82
Clean up demote program write lock feature ( #21949 )
...
* Clean up demote program write lock feature
* fix test
2021-12-16 17:27:22 -05:00
Michael Vines
8d22ca5076
Add helper crate to generate syscalls.txt
2021-12-14 21:20:13 -08: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
Alexander Meißner
4adc8b133f
Refactor: Remove Rc from PreAccount and InvokeContext::get_account() ( #21882 )
...
* Removes Rc and RefCell from PreAccount
* Splits get_account() into find_index_of_account() and get_account_at_index()
in order to remove Rc from return type.
2021-12-14 15:44:31 +01:00
Alexander Meißner
a5a0dabe7b
Bump solana_rbpf to version v0.2.18 ( #21774 )
2021-12-10 21:31:14 +01:00
Alexander Meißner
1df88837c8
- Implicitly fixes invoke_context.return_data not being reset between instructions in process_message. ( #21671 )
...
- Lets InvokeContext::process_cross_program_instruction() handle the first invocation depth too.
- Marks InvokeContext::verify(), InvokeContext::verify_and_update() and InvokeContext::process_executable_chain() private.
- Renames InvokeContext::process_cross_program_instruction() to InvokeContext::process_instruction().
- Removes InvokeContext::new_mock_with_sysvars().
2021-12-07 23:00:04 +01:00
Alexander Meißner
31b8fd3109
Bumps solana_rbpf to v0.2.17 ( #21672 )
2021-12-07 22:12:09 +01:00
Brian Anderson
df2b448993
Fix incorrect nonoverlapping test in sol_memcpy ( #21007 )
...
Thanks!
2021-12-06 09:26:46 -08:00
Trent Nelson
d6f22433d0
Bump version to v1.10.0
2021-12-04 20:17:54 +00: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
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
Alexander Meißner
a9d5ef2055
Cleanup: InvokeContext accessors ( #21574 )
...
* Removes blockhash accessors from InvokeContext.
* Removes lamports_per_signature accessors from InvokeContext.
* Removes return_data accessors from InvokeContext.
* Removes feature_set accessor from InvokeContext.
* Removes instruction_recorders and instruction_index accessors from InvokeContext.
* Moves get_sysvars() into InvokeContext.
* Removes compute_meter parameter from InvokeContext::new().
* Removes InvokeContext::new_mock_with_sysvars_and_features().
* Removes InvokeContext::update_timing().
2021-12-03 12:15:22 +01:00
Alexander Meißner
bfdb775ffc
Unifies ThisInvokeContext and dyn trait InvokeContext. ( #21563 )
2021-12-02 18:47:16 +01:00
Alexander Meißner
c825b0a84d
Fixes invoke_context.get_return_data() shadowing program_id. ( #21562 )
2021-12-02 13:12:11 +01:00
Alexander Meißner
6330cbcf33
Refactor: Use InvokeContext in all Syscalls ( #21545 )
...
* Adds ComputeMeter::mock_set_remaining().
* Adds InvokeContext::get_loader()
* Adds a LogCollector to InvokeContext::new_mock().
* Adds "invoke_context: Rc<RefCell<&'a mut dyn InvokeContext>>,"
to all SyscallObjects.
* Adds LogCollector::get_recorded_content().
* Removes loader_id parameter from bind_syscall_context_objects() and create_vm().
2021-12-02 08:58:02 +01:00
Michael Vines
0212a71d3e
Remove unused bpfloader openssl dependency
2021-12-01 09:05:39 -08:00
Alexander Meißner
3da914330d
Fix #21397 ( #21535 )
...
Adds InvokeContext::get_instruction_keyed_accounts() to skip first_instruction_account keyed_accounts in CPI.
2021-12-01 14:57:59 +01:00
Alexander Meißner
b78f5b6032
Refactor: Cleanup InstructionProcessor ( #21404 )
...
* Moves create_message(), native_invoke() and process_cross_program_instruction()
from the InstructionProcessor to the InvokeContext so that they can have a useful "self" parameter.
* Moves InstructionProcessor into InvokeContext and Bank.
* Moves ExecuteDetailsTimings into its own file.
* Moves Executor into invoke_context.rs
* Moves PreAccount into its own file.
* impl AbiExample for BuiltinPrograms
2021-12-01 08:54:42 +01: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
Alexander Meißner
c9aa7ed5ca
Bumps solana_rbpf to v0.2.16 ( #21492 )
2021-11-30 16:26:36 +01:00
Alexander Meißner
22a2537aac
Refactor: Cleanup program-runtime dyn Traits ( #21395 )
...
* Unifies dyn Trait ComputeMeter, ThisComputeMeter and TransactionComputeMeter.
* Unifies dyn Trait Logger and ThisLogger.
* Moves Logger to log_collector.rs
* Unifies Logger and LogCollector.
* Removes inner RefCell from LogCollector.
* Adds the log::debug!() message to ic_logger_msg!() again.
2021-11-23 13:23:40 +01:00
Jack May
e9c00d1e69
Spit log data charge into two ( #21349 )
2021-11-18 14:02:47 -08:00
Jack May
91fe1278f1
Charge for sol_log_data translates ( #21328 )
2021-11-17 14:11:57 -08: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
dependabot[bot]
c6baff6698
chore: bump solana_rbpf from 0.2.14 to 0.2.15 ( #21289 )
...
Bumps [solana_rbpf](https://github.com/solana-labs/rbpf ) from 0.2.14 to 0.2.15.
- [Release notes](https://github.com/solana-labs/rbpf/releases )
- [Commits](https://github.com/solana-labs/rbpf/compare/v0.2.14...v0.2.15 )
---
updated-dependencies:
- dependency-name: solana_rbpf
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-11-16 23:52:01 +00:00
Alexander Meißner
db6d291127
Inverts `disable_fees_sysvar` feature gating condition to match `is_fee_sysvar_via_syscall_active`. ( #21297 )
2021-11-16 18:41:33 +01: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
Alexander Meißner
a4a9b8f6a4
Changes test_serialize_parameters() to use an explicit InvokeContext. ( #21205 )
2021-11-08 18:51:36 +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
dependabot[bot]
9ff92cb0dc
chore: bump openssl from 0.10.37 to 0.10.38 ( #21126 )
...
* chore: bump openssl from 0.10.37 to 0.10.38
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.37 to 0.10.38.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.37...openssl-v0.10.38 )
---
updated-dependencies:
- dependency-name: openssl
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-02 13:16:06 -06:00
Jack May
e16c060abf
nit: better rust ( #21058 )
2021-10-28 17:13:42 -07:00
dependabot[bot]
976298b292
chore: bump openssl from 0.10.36 to 0.10.37 ( #21043 )
...
* chore: bump openssl from 0.10.36 to 0.10.37
Bumps [openssl](https://github.com/sfackler/rust-openssl ) from 0.10.36 to 0.10.37.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.36...openssl-v0.10.37 )
---
updated-dependencies:
- dependency-name: openssl
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-10-28 19:28:10 +00:00
Jack May
4aa12a52b6
Feature cleanup ( #21038 )
2021-10-28 09:04:03 -07:00
Jack May
53358ab1aa
fix account index ( #21041 )
2021-10-28 09:03:47 -07:00
Matt Wilde
920159fc63
Force a recent version of the openssl crate to allow this to build on M1 macs
2021-10-26 18:06:27 -07:00
Michael Vines
350bb561eb
Clippy
2021-10-23 08:21:20 +00: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
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
58164517e4
Add program heap bump instruction ( #20607 )
2021-10-19 21:01:39 -07:00
Alexander Meißner
8955c76d24
Adds test coverage for #20669 ( #20690 )
2021-10-18 09:55:31 +02:00
Alexander Meißner
bbc0bb4f02
Fix : #20598 ( #20669 )
...
* Makes argument / parameter interfaces more clear.
* Fixes the bug in #20598
2021-10-14 08:47:41 +02: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
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
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
Trent Nelson
767f740305
Bump version to 1.9.0
2021-10-06 17:57:41 -07:00
Michael Vines
7027d56064
Resolve nightly-2021-10-05 clippy complaints
2021-10-06 10:37:58 -07:00
Alexander Meißner
4de5fff3ca
Simplifies return_data accessors in InvokeContext. ( #20290 )
2021-09-29 19:11:06 +02:00
Jack May
8fee9a2e1a
Dont call precompiled programs ( #19930 )
2021-09-29 06:25:08 +00:00
Jack May
4e27543415
Allow programs to realloc their accounts within limits ( #19475 )
2021-09-28 01:13:03 -07: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
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
Alexander Meißner
36f46e1c31
CPI Account Reuse ( #19762 )
...
* Removes two account copy steps from InstructionProcessor::native_invoke().
* Moves gathering of keyed_accounts, caller_write_privileges and program_indices into InstructionProcessor::create_message().
* Explicitly routes the serialized account lengths to enable sharing of existing account structures.
* Recycles existing account structs in CPI syscall.
2021-09-18 08:09:47 +02:00
Justin Starry
efd024510a
Reduce payer balance needed to deploy programs ( #19645 )
...
* Reduce payer balance needed to deploy programs
* Fix test and unbalanced ix error
* fix test
* fix up tests
2021-09-17 19:49:53 -05:00
Jack May
7b0bf64404
cleanup old features ( #19956 )
2021-09-17 09:46:49 -07:00
Giles Cope
c9261e034e
remove dev deps
2021-09-11 14:33:53 -07:00
Giles Cope
c3a610374a
unused deps
2021-09-11 14:33:53 -07: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
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
Tyera Eulberg
decec3cd8b
Demote write locks on transaction program ids ( #19593 )
...
* Add feature
* Demote write lock on program ids
* Fixup bpf tests
* Update MappedMessage::is_writable
* Comma nit
* Review comments
2021-09-04 03:05:30 +00:00
Jack May
622a6fba7f
Add executor using the program's id during deploy ( #19555 )
2021-09-01 17:59:24 -07:00
Jack May
5cf8d8795b
Feature cleanup ( #19528 )
2021-08-31 14:51:26 -07:00
Justin Starry
4305d4b7b1
Add missing owner check to bpf loader close ix ( #19460 )
2021-08-27 08:44:38 -07:00
Justin Starry
2d7f036afd
Add solana-program-runtime crate ( #19438 )
2021-08-27 00:30:36 +00:00
Jack May
a89f180145
Allow closing upgradeable program accounts ( #19319 )
2021-08-24 10:05:54 -07:00
Jack May
9be988db41
Fix memoverlap check ( #19232 )
2021-08-16 16:16:52 -07:00
Jeff Washington (jwash)
14361906ca
for all tests, bank::new -> bank::new_for_tests ( #19064 )
2021-08-05 08:42:38 -05: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
Jack May
77861e2d40
Feature disable fees sysvar ( #18981 )
...
* Feature disable fees sysvar
* nudge
2021-08-02 00:31:11 +00: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
Jack May
718939b6a0
Reduce bpf_loader test dependencies ( #18949 )
2021-07-28 14:47:21 -07:00
Jack May
7fc4cfebc8
Rename BpfComputeBudget ( #18768 )
2021-07-22 10:18:51 -07:00
dependabot[bot]
395ee4ec68
chore: bump libsecp256k1 from 0.5.0 to 0.6.0 ( #18774 )
...
* chore: bump libsecp256k1 from 0.5.0 to 0.6.0
Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1 ) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/paritytech/libsecp256k1/releases )
- [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/libsecp256k1/commits )
---
updated-dependencies:
- dependency-name: libsecp256k1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update all versions, lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-07-20 13:14:47 -06:00
Trent Nelson
abe5a0a349
gate libsecp256k1 upgrade to v0.5.0
2021-07-15 18:43:55 +00:00
Ryo Onodera
f96de208e2
Implement MockInvokeContext::is_feature_active properly
2021-07-09 09:08:38 -07:00
Ryo Onodera
f029af0fca
Remove sysvar special cases for rent and assign
2021-07-09 09:08:38 -07:00
Jack May
2867584985
Bump compute budget for neon evm ( #17700 )
2021-07-08 10:43:34 -07:00
s-medvedev
1f288ce527
Add ecrecover syscall ( #17720 )
...
Co-authored-by: Anton Lisanin <lisanin.anton@gmail.com>
2021-07-07 13:15:14 -07:00
Alexander Meißner
8d5c04e257
Bump solana_rbpf to version 0.2.13 ( #18068 )
...
* Moves syscall_registry into the rbpf Executable constructor.
* Adds the reject_unresolved_syscalls flag which is only set when deploying programs via the CLI.
2021-07-07 09:50:11 +02:00
Justin Starry
100fabf469
Remove feature switch for demoting sysvar write locks ( #18373 )
2021-07-06 21:22:22 +00:00
Alexander Meißner
7462c27d07
Refactoring: Unify account_deps and accounts ( #17898 )
...
* Changes ThisInvokeContext::get_account() to use accounts instead of pre_accounts.
* Adds explicit keys to accounts to make them symmetric to account_deps.
* Appends account_deps to accounts in transaction loading and removes account_deps everywhere else.
2021-07-05 13:49:37 +02:00
Trent Nelson
d3a7e22112
sdk: refactor pda generation
2021-06-30 19:01:51 -06:00
dependabot[bot]
78968d132f
chore: bump log from 0.4.11 to 0.4.14 ( #18323 )
...
* chore: bump log from 0.4.11 to 0.4.14
Bumps [log](https://github.com/rust-lang/log ) from 0.4.11 to 0.4.14.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.14 )
---
updated-dependencies:
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make version consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-30 18:32:01 +00:00
dependabot[bot]
52fd10ce03
chore: bump byteorder from 1.3.4 to 1.4.3 ( #18300 )
...
* chore: bump byteorder from 1.3.4 to 1.4.3
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.4 to 1.4.3.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.4...1.4.3 )
---
updated-dependencies:
- dependency-name: byteorder
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
* Bump expected instruction count
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-06-29 15:08:04 -06:00
dependabot[bot]
7782a0855d
chore: bump rand_core from 0.6.2 to 0.6.3 ( #18263 )
...
* chore: bump rand_core from 0.6.2 to 0.6.3
Bumps [rand_core](https://github.com/rust-random/rand ) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/rand_core-0.6.2...rand_core-0.6.3 )
---
updated-dependencies:
- dependency-name: rand_core
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-28 12:07:27 -06:00
Sebastian Bor
3a4176aa3e
feat: remove set_upgrade_authority_via_cpi_enabled feature ( #17933 )
2021-06-22 10:05:33 +01:00
dependabot[bot]
d458fac2ff
chore: bump bincode from 1.3.1 to 1.3.3 ( #18087 )
...
* chore: bump bincode from 1.3.1 to 1.3.3
Bumps [bincode](https://github.com/servo/bincode ) from 1.3.1 to 1.3.3.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/compare/v1.3.1...v1.3.3 )
---
updated-dependencies:
- dependency-name: bincode
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-06-21 16:06:31 +00:00
Alexander Meißner
6514096a67
chore: cargo +nightly clippy --fix -Z unstable-options
2021-06-18 10:42:46 -07:00
Dmitri Makarov
32742df1b4
Add build script to extract a list of registered syscalls
...
The list is used in cargo-build-bpf to check generated .so modules for
undefined symbols that are not known run-time syscalls.
2021-06-14 04:51:30 -07:00
Dmitri Makarov
361c1bdd57
Fix file permissions ( #17910 )
2021-06-12 02:03:32 +00:00
Arthur Greef
28fdfed1ba
Blake3 syscall ( #17358 )
2021-06-08 11:04:10 -07:00
Jack May
83b9a046d1
Add missing ProgramError to InstructionError mappings ( #16231 )
...
* Add missing ProgramError to InstructionError mappings
* add note
* Clarify process of adding new program error
2021-06-03 21:59:04 +00:00
Jack May
2b50529265
Add memory operation syscalls ( #16447 )
2021-06-01 15:33:17 -07:00
dependabot[bot]
88a22d7b0f
Bump rustversion from 1.0.4 to 1.0.5 ( #17610 )
...
* Bump rustversion from 1.0.4 to 1.0.5
Bumps [rustversion](https://github.com/dtolnay/rustversion ) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/dtolnay/rustversion/releases )
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.4...1.0.5 )
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-05-31 16:54:15 +00:00
Jack May
89ee8778bc
Unify BPF verifiers ( #17585 )
2021-05-28 14:24:02 -07:00
Jack May
a3240aebde
Always bail if program modifies a ro account ( #17569 )
2021-05-28 09:50:25 -07:00
Michael Vines
8eab0e8602
Bump version to v1.8.0 ( #17541 )
2021-05-27 08:51:53 -07:00
Dmitri Makarov
85b647d80f
Bump solana_rbpf to version 0.2.11 ( #17404 )
2021-05-25 08:05:35 +00:00
Alexander Meißner
855ae79598
Fix InvokeContext::push() account_deps ( #17350 )
...
* Reverts aliasing of account_deps with the previous invocation stack frame in InvokeContext::push().
* Adds explicit assert of programdata account content in test_program_bpf_upgrade_via_cpi.
2021-05-21 22:34:07 +02:00
Michael Vines
2c99b23ad7
Add get_sysvar() helper to sdk
2021-05-21 01:30:12 +00:00
Jack May
477898f682
Optimize aligned memory used by the runtime ( #17324 )
2021-05-19 13:43:59 -07:00
Tao Zhu
0781fe1b4f
Upgrade Rust to 1.52.0 ( #17096 )
...
* Upgrade Rust to 1.52.0
update nightly_version to newly pushed docker image
fix clippy lint errors
1.52 comes with grcov 0.8.0, include this version to script
* upgrade to Rust 1.52.1
* disabling Serum from downstream projects until it is upgraded to Rust 1.52.1
2021-05-19 09:31:47 -05:00
Jack May
8eb05d6ed4
Add Keccak256 syscall and sdk support ( #16498 )
2021-05-10 16:16:58 -07:00
Jeff Washington (jwash)
541aa5ad85
tests: lamports -> lamports() ( #16982 )
2021-05-03 10:45:54 -05:00
Jeff Washington (jwash)
763c04adf3
lamports = -> .set_lamports() ( #16980 )
2021-04-30 21:17:05 +00:00
Jeff Washington (jwash)
ac87bc40ca
tests: .lamports -> .lamports() ( #16976 )
2021-04-30 18:16:58 +00:00
Jeff Washington (jwash)
59e19828ea
set_lamports() ( #16914 )
2021-04-29 10:43:26 -05:00
Jeff Washington (jwash)
82e11588a5
lamports -> lamports() ( #16915 )
2021-04-28 14:55:55 -05:00
Jeff Washington (jwash)
a7a671b3aa
AccountSharedData.set_executable() ( #16881 )
2021-04-28 14:07:43 +00:00
Jeff Washington (jwash)
2021255f91
executable() ( #16880 )
2021-04-28 08:53:54 -05:00
Jack May
9b3a59f030
Retain alloc'd and updated data in cpi ( #16850 )
2021-04-27 13:36:42 -07:00
Jeff Washington (jwash)
1bd623cd15
private AccountSharedData.rent_epoch ( #16844 )
2021-04-27 13:51:13 -05:00
Jeff Washington (jwash)
69bfbf9e98
AccountSharedData.set_executable ( #16836 )
2021-04-27 09:56:50 -05:00
Jeff Washington (jwash)
998cba74b5
AccountSharedData.executable() ( #16835 )
2021-04-27 09:12:17 -05:00
Jeff Washington (jwash)
4e7e675c07
lamports += -> checked_add_lamports ( #16791 )
2021-04-27 09:11:35 -05:00
Jeff Washington (jwash)
aeff911c93
owner -> owner() ( #16784 )
2021-04-26 10:40:11 -05:00
Jeff Washington (jwash)
ca14c18998
owner -> owner() ( #16782 )
2021-04-23 22:49:47 +00:00
Jeff Washington (jwash)
1a4a7059af
owner -> owner() ( #16785 )
2021-04-23 15:59:13 -05:00
Jeff Washington (jwash)
fb0b76c1f3
account.owner = X -> account.set_owner(X) ( #16754 )
2021-04-23 12:34:22 -05:00
Jeff Washington (jwash)
87e2e07d34
AccountSharedData.copy_into_owner_from_slice ( #16755 )
2021-04-23 09:34:08 -05:00
Jack May
be4df39a4c
Remove unactivated ristretto syscall ( #16727 )
2021-04-22 09:29:42 -07:00
Sebastian Bor
1a658c7f31
Allow SetUpgradeAuthority instruction in CPI calls ( #16676 )
...
* feat: allow SetAuthority in CLI calls
* chore: clippy match_like_matches_macro
* chore: clippy match_like_matches_macro
* chore: rename CLI to CPI
* chore: move check for cpi authorised instruction to syscalls
* chore: add set_upgrade_authority cpi test
* chore: assert upgrade authority was changed
* feat: gate set_upgrade_authority via cpi with a feature
* chore: move feature to the end of the list
* chore: remove white spaces
* chore: remove white spaces
* chore: update comment to rerun build
2021-04-22 00:06:59 +01:00
Jeff Washington (jwash)
03f7b251b8
ReadableAccount.data returns slice ( #16686 )
...
* ReadAbleAccount.data returns slice
* more slice fixup
* more slice
* slice
2021-04-20 16:41:16 -05:00
Jack May
08d5253651
Enforce host aligned memory for program regions ( #16590 )
2021-04-20 11:07:30 -07:00
Jack May
2409bb18f3
Remove unwrap from bpf_loader serialization ( #16645 )
2021-04-19 13:30:31 -07:00
Alexander Meißner
9dfcb921cf
Refactoring: Move KeyedAccounts to InvokeContext ( #15410 )
...
Collects all parametric occurrences and the construction of keyed_accounts and puts them into InvokeContext.
2021-04-19 18:48:48 +02:00
Michael Vines
a911ae00ba
clippy
2021-04-18 20:55:02 -07:00