Sean Young
ebe77a0985
Proposal: log binary data for Solidity
...
Rename "Program return data: " to "Program return: " since "data" is
redundant.
(cherry picked from commit b89177c8de
)
Conflicts:
programs/bpf_loader/src/syscalls.rs
sdk/bpf/c/inc/sol/log.h
sdk/program/Cargo.toml
sdk/src/feature_set.rs
sdk/src/process_instruction.rs
2021-10-13 14:34:36 +01:00
Sean Young
927d3b5e0d
Add return data implementation
...
This consists of:
- syscalls
- passing return data from invoked to invoker
- printing to stable log
- rust and C SDK changes
(cherry picked from commit 53b47b87b2
)
2021-10-12 18:31:42 +01:00
mergify[bot]
ed4e7c0c87
Check seed length before trying to cal program address (backport #19699 ) ( #19708 )
...
* Check seed length before trying to cal program address (#19699 )
(cherry picked from commit 778b2adbea
)
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-09-08 08:26:07 +00:00
mergify[bot]
e9c3f11d24
Remove native id check in pda creation (backport #19595 ) ( #19689 )
...
* Remove native id check in pda creation (#19595 )
(cherry picked from commit 529fefc7cc
)
# Conflicts:
# programs/bpf/rust/invoke/src/lib.rs
# programs/bpf_loader/src/syscalls.rs
# sdk/src/feature_set.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-09-07 23:26:08 -07:00
mergify[bot]
fcda5d4a7d
Demote write locks on transaction program ids (backport #19593 ) ( #19633 )
...
* 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
(cherry picked from commit decec3cd8b
)
# Conflicts:
# core/src/banking_stage.rs
# core/src/cost_model.rs
# core/src/cost_tracker.rs
# ledger-tool/src/main.rs
# program-runtime/src/instruction_processor.rs
# programs/bpf/tests/programs.rs
# programs/bpf_loader/src/syscalls.rs
# rpc/src/transaction_status_service.rs
# runtime/src/accounts.rs
# runtime/src/bank.rs
# runtime/src/message_processor.rs
# sdk/benches/serialize_instructions.rs
# sdk/program/src/message/mapped.rs
# sdk/program/src/message/sanitized.rs
# sdk/src/transaction/sanitized.rs
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-09-04 06:46:09 +00:00
mergify[bot]
58bef3a94b
Allow closing upgradeable program accounts (backport #19319 ) ( #19411 )
...
* Allow closing upgradeable program accounts (#19319 )
(cherry picked from commit a89f180145
)
# Conflicts:
# programs/bpf_loader/src/lib.rs
# programs/bpf_loader/src/syscalls.rs
# sdk/src/feature_set.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
Co-authored-by: Justin Starry <justin@solana.com >
2021-08-27 08:56:51 +00:00
mergify[bot]
6f31882260
Fix memoverlap check (backport #19232 ) ( #19259 )
...
* Fix memoverlap check (#19232 )
(cherry picked from commit 9be988db41
)
# Conflicts:
# programs/bpf_loader/src/syscalls.rs
# sdk/src/feature_set.rs
* Resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-08-18 18:07:36 +00:00
mergify[bot]
c7c650fccc
Gate libsecp256k1 update (backport #18656 ) ( #18701 )
...
* hijack secp256k1 enablement feature plumbing for libsecp256k1 upgrade
* bump libsecp256k1 to v0.5.0
* gate libsecp256k1 upgrade to v0.5.0
* ci: allow clippy::inconsistent_struct_constructor
Co-authored-by: Trent Nelson <trent@solana.com >
2021-07-16 07:38:45 +00:00
mergify[bot]
8c328316ae
Add ecrecover syscall (backport #17720 ) ( #18500 )
...
* Add ecrecover syscall (#17720 )
Co-authored-by: Anton Lisanin <lisanin.anton@gmail.com >
(cherry picked from commit 1f288ce527
)
# Conflicts:
# Cargo.lock
# programs/bpf/Cargo.lock
# programs/bpf/tests/programs.rs
# programs/bpf_loader/Cargo.toml
# programs/bpf_loader/src/syscalls.rs
# sdk/program/Cargo.toml
* resolve conflicts
Co-authored-by: s-medvedev <40623263+s-medvedev@users.noreply.github.com >
Co-authored-by: Jack May <jack@solana.com >
2021-07-08 21:56:19 +00:00
mergify[bot]
5321463892
Refactoring: Unify account_deps and accounts (backport #17898 ) ( #18486 )
...
* 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.
(cherry picked from commit 7462c27d07
)
# Conflicts:
# program-test/src/lib.rs
# runtime/src/bank.rs
# runtime/src/message_processor.rs
* fix conflicts
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
Co-authored-by: Justin Starry <justin@solana.com >
2021-07-07 17:14:39 +00:00
mergify[bot]
72ed4f28b1
Remove feature switch for demoting sysvar write locks ( #18373 ) ( #18454 )
...
Co-authored-by: Justin Starry <justin@solana.com >
2021-07-06 23:25:28 +00:00
mergify[bot]
0e7512a225
Fix Nightly Clippy Warnings (backport #18065 ) ( #18070 )
...
* chore: cargo +nightly clippy --fix -Z unstable-options
(cherry picked from commit 6514096a67
)
# Conflicts:
# core/src/banking_stage.rs
# core/src/cost_model.rs
# core/src/cost_tracker.rs
# core/src/execute_cost_table.rs
# core/src/replay_stage.rs
# core/src/tvu.rs
# ledger-tool/src/main.rs
# programs/bpf_loader/build.rs
# rbpf-cli/src/main.rs
# sdk/cargo-build-bpf/src/main.rs
# sdk/cargo-test-bpf/src/main.rs
# sdk/src/secp256k1_instruction.rs
* chore: cargo fmt
(cherry picked from commit 789f33e8db
)
* Updates BPF program assert_instruction_count tests.
(cherry picked from commit c1e03f3410
)
# Conflicts:
# programs/bpf/tests/programs.rs
* Resolve conflicts
Co-authored-by: Alexander Meißner <AlexanderMeissner@gmx.net >
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-06-18 20:02:48 +00:00
mergify[bot]
2798271da0
Add memory operation syscalls (backport #16447 ) ( #17648 )
...
* Add memory operation syscalls (#16447 )
(cherry picked from commit 2b50529265
)
# Conflicts:
# programs/bpf/Cargo.lock
* Resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-06-01 18:43:50 -07:00
mergify[bot]
2f7f243022
Always bail if program modifies a ro account (backport #17569 ) ( #17584 )
...
* Always bail if program modifies a ro account (#17569 )
(cherry picked from commit a3240aebde
)
* resolve conflicts
* nudge
Co-authored-by: Jack May <jack@solana.com >
2021-05-28 20:34:10 +00: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)
82e11588a5
lamports -> lamports() ( #16915 )
2021-04-28 14:55:55 -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)
998cba74b5
AccountSharedData.executable() ( #16835 )
2021-04-27 09:12:17 -05:00
Jeff Washington (jwash)
ca14c18998
owner -> owner() ( #16782 )
2021-04-23 22:49:47 +00: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
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
Michael Vines
f7eadd9d70
bump solana_rbpf from 0.2.5 to 0.2.7 ( #16515 )
2021-04-13 14:49:09 -07:00
Jack May
fa83f3bd73
Return sysvars via syscalls ( #16422 )
2021-04-12 16:04:57 -07:00
François Garillot
b08cff9e77
Simplify some pattern-matches ( #16402 )
...
When those match an exact combinator on Option / Result.
Tool-aided by [comby-rust](https://github.com/huitseeker/comby-rust ).
2021-04-08 12:40:37 -06:00
Jack May
ad7f8e7f23
Use more performant copy ( #16282 )
2021-03-31 16:52:58 -07:00
Jack May
f84e88f0a2
Cleanup nits ( #16211 )
2021-03-30 12:16:21 -07:00
sakridge
54c68ea83f
Drop write lock on sysvars ( #15497 )
...
* Drop write lock on sysvars
* adds env var for demoting sysvar write lock demotion
* moves demote logic to is_writable
* feature gates sysvar write lock demotion
* adds builtins to write lock demotion
* adds system program id to builtins
* adds Feature111...
* adds an abi-freeze test
* mvines set of builtin program keys
Co-authored-by: Michael Vines <mvines@gmail.com >
* update tests
* adds bpf loader keys
* Add test sysvar
* Plumb demote_sysvar to is_writable
* more plumbing of demote_sysvar_write_locks to is_writable
* patches test_program_bpf_instruction_introspection
* hard codes demote_sysvar_write_locks to false for serialization/encoding methods
* Revert "hard codes demote_sysvar_write_locks to false for serialization/encoding methods"
This reverts commit ae3e2d2e777437bddd753933097a210dcbc1b1fc.
* change the hardcoded ones to demote_sysvar_write_locks=true
* Use data_as_mut_slice
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-03-30 10:05:09 -07:00
Jack May
ad9901d7c6
Charge compute budget for bytes passed via cpi ( #15874 )
2021-03-15 22:41:44 -07:00
Jeff Washington (jwash)
952c3bcbb7
AccountSharedData construction ( #15790 )
2021-03-11 18:09:04 -06:00
Jack May
478518308d
Share RO and Executable accounts within invocations ( #15799 )
2021-03-10 23:04:00 -08:00
Jack May
369e13b111
cleanup old runtime features ( #15787 )
2021-03-10 09:48:41 -08:00
Jeff Washington (jwash)
52e54e1100
account.data -> data() ( #15778 )
2021-03-09 22:31:33 +00:00
Jeff Washington (jwash)
8a3135d17b
Account->AccountSharedData ( #15691 )
2021-03-09 15:06:07 -06:00
Jack May
b53cb8eb2d
Deprecate Instruction::new ( #15695 )
2021-03-04 05:46:48 +00:00
Michael Vines
5df36aec7d
Pacify clippy
2021-02-19 20:08:41 -08:00
Jack May
02432a548f
Cleanup old features ( #15391 )
2021-02-18 09:56:11 -08:00
Jack May
6650fbf443
Add per-byte logging cost ( #15279 )
2021-02-12 00:55:17 +00:00
Mrmaxmeier
ebbaa1f8ea
Fix integer overflow in degenerate invoke_signed BPF syscalls ( #15051 )
2021-02-03 13:32:38 -08:00
Jack May
73d9186502
More rich runtime logging ( #14938 )
2021-02-01 11:40:49 -08:00
Alexander Meißner
d026da4a1b
Ignore syscalls which are not registered in cached rbpf executable. ( #14898 )
2021-01-29 12:30:10 +01:00
Jack May
0b1015f7d3
Richer runtime failure logging ( #14875 )
2021-01-28 10:04:54 -08:00
Jack May
77572a7c53
Track account writable deescalation ( #14626 )
2021-01-22 15:28:01 -08:00
Jack May
6e8a1ba7de
Load executable accounts from invoke context ( #14574 )
2021-01-14 00:19:22 -08:00
Jack May
ec48631fc5
Bail on all CPI errors ( #14500 )
...
* Bail on all CPI errors
* whitespace
2021-01-09 02:27:39 +00:00
Jack May
5eacc5d08d
Enable program upgrades via CPI ( #14449 )
2021-01-06 14:31:14 -08:00