Jack May
4aa12a52b6
Feature cleanup ( #21038 )
2021-10-28 09:04:03 -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
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
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
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
Sean Young
098585234d
Add return data implementation
...
This consists of:
- syscalls
- passing return data from invoked to invoker
- printing to stable log
- rust and C SDK changes
2021-09-10 14:25:54 +01:00
Jack May
622a6fba7f
Add executor using the program's id during deploy ( #19555 )
2021-09-01 17:59:24 -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
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
ef17cf3bdb
Cleanup loader features ( #18977 )
2021-07-29 15:03:00 -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
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
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
Trent Nelson
d3a7e22112
sdk: refactor pda generation
2021-06-30 19:01:51 -06:00
Alexander Meißner
6514096a67
chore: cargo +nightly clippy --fix -Z unstable-options
2021-06-18 10:42:46 -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
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
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
Jack May
477898f682
Optimize aligned memory used by the runtime ( #17324 )
2021-05-19 13:43:59 -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)
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
Jeff Washington (jwash)
69bfbf9e98
AccountSharedData.set_executable ( #16836 )
2021-04-27 09:56:50 -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)
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
Jack May
08d5253651
Enforce host aligned memory for program regions ( #16590 )
2021-04-20 11:07:30 -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