mergify[bot]
e91b124cd9
check for resize access violations (bp #14142 ) ( #14151 )
...
* check for resize access violations (#14142 )
(cherry picked from commit 025f886e10
)
# Conflicts:
# programs/bpf_loader/src/syscalls.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2020-12-16 12:20:52 +00:00
mergify[bot]
c01bff61f8
Fix priv escalation test ( #14046 ) ( #14049 )
...
(cherry picked from commit 5ea80e673f
)
Co-authored-by: Jack May <jack@solana.com >
2020-12-11 00:08:21 +00:00
mergify[bot]
f52feddfcd
Cap CPI signers (bp #14021 ) ( #14023 )
...
* Cap CPI signers (#14021 )
(cherry picked from commit e1a4251b07
)
# Conflicts:
# programs/bpf/tests/programs.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2020-12-09 11:46:46 +00:00
mergify[bot]
a46d14a2d7
Don't use stale executor cache (bp #13966 ) ( #13969 )
...
* Don't use stale executor cache (#13966 )
(cherry picked from commit 882d033233
)
* fix conflicts
Co-authored-by: Jack May <jack@solana.com >
2020-12-09 09:11:31 +00:00
Jack May
be0f9d4837
Bump rust-sysroot to v0.13 ( #14001 )
2020-12-07 13:26:12 -08:00
Jack May
0f3705340b
Cap seeds not signers ( #13943 )
2020-12-03 11:46:34 -08:00
mergify[bot]
f705340971
Invoke with empty account slice (bp #13931 ) ( #13940 )
...
* Invoke with empty account slice (#13931 )
(cherry picked from commit 1c51711c75
)
* nudge ci
Co-authored-by: Jack May <jack@solana.com >
2020-12-03 09:52:08 -08:00
mergify[bot]
501fea7a3c
Translate data length and owner as writable (bp #13914 ) ( #13918 )
...
* Translate data length and owner as writable (#13914 )
(cherry picked from commit 85bec37be4
)
# Conflicts:
# programs/bpf_loader/src/syscalls.rs
* Resolve conflicts
* nudge
* fmt funk
* ugh
* nudge
Co-authored-by: Jack May <jack@solana.com >
2020-12-02 19:28:15 +00:00
mergify[bot]
01d9062f7b
Check that the program was granted access to program_id (bp #13890 ) ( #13893 )
...
* Check that the program was granted access to program_id (#13890 )
(cherry picked from commit 733fcbaa6c
)
# Conflicts:
# programs/bpf/Cargo.toml
# programs/bpf/tests/programs.rs
* Resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2020-12-01 17:49:17 +00:00
mergify[bot]
4e4fd03b65
Add builtin mem tests (bp #13429 ) ( #13437 )
...
* Add builtin mem tests (#13429 )
(cherry picked from commit 84b139cc94
)
* resolve crate version
* nudge
Co-authored-by: Jack May <jack@solana.com >
2020-11-07 01:15:35 +00:00
mergify[bot]
3b2bdd9f8a
Fix duplicate records of inner instructions ( #13380 ) ( #13413 )
...
* Fix duplicate records of inner instructions
* fix tests
* fix clippy
* Remove bad_inner_instructions
(cherry picked from commit c24fbb6f8b
)
Co-authored-by: Justin Starry <justin@solana.com >
2020-11-06 01:30:24 +00:00
mergify[bot]
40a3885d3b
Native/builtin programs now receive an InvokeContext (bp #13286 ) ( #13298 )
...
* Native/builtin programs now receive an InvokeContext
(cherry picked from commit df8dab9d2b
)
* Remove MessageProcessor::loaders
(cherry picked from commit 2664a1f7ef
)
* Remove Entrypoint type
(cherry picked from commit 225bed11c7
)
* Remove programs clone()
(cherry picked from commit 33884d847a
)
* Add sol_log_compute_units syscall
(cherry picked from commit 66e51a7363
)
* Add Bank::set_bpf_compute_budget()
(cherry picked from commit 7d686b72a0
)
* Rebase
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-30 07:47:17 +00:00
Alexander Meißner
36b7c2ea97
Refactors the common code of test and bench targets into the solana_runtime::bpf_test_utils module. ( #13203 )
...
(cherry picked from commit 65ee3a6bdd
)
2020-10-29 22:03:09 -07:00
mergify[bot]
4ecb78d303
Move KeyedAccount out of solana-program. Native programs are not supported by solana-program (bp #13159 ) ( #13181 )
...
* Move KeyedAccount out of solana-program. Native programs are not supported by solana-program
(cherry picked from commit 1b343665a1
)
# Conflicts:
# programs/bpf/benches/bpf_loader.rs
* rebase
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-27 05:43:14 +00:00
mergify[bot]
dd33aae3cf
Add --bpf-out-dir argument to control where the final build products land ( #13099 )
...
(cherry picked from commit b169d9cfbe
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-23 07:56:35 +00:00
mergify[bot]
edfbd8d65a
Add replacements for Pubkey::new_rand()/Hash::new_rand() (bp #12987 ) ( #13076 )
...
* Add pubkey_new_rand(), mark Pubkey::new_rand() deprecated
(cherry picked from commit 0e68ed6a8d
)
* Add hash_new_rand(), mark Hash::new_rand() as deprecated
(cherry picked from commit 76f11c7dae
)
* Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand`
(cherry picked from commit 7bc073defe
)
# Conflicts:
# programs/bpf/benches/bpf_loader.rs
# runtime/benches/accounts.rs
# runtime/src/accounts.rs
* Run `codemod --extensions rs Hash::new_rand solana_sdk:#️⃣ :new_rand`
(cherry picked from commit 17c391121a
)
* Remove unused pubkey::Pubkey imports
(cherry picked from commit 959880db60
)
# Conflicts:
# runtime/src/accounts_index.rs
* Resolve conflicts
Co-authored-by: Michael Vines <mvines@gmail.com >
2020-10-22 05:08:01 +00:00
mergify[bot]
bc96332899
Respect RefCell when calling invoke ( #12858 ) ( #12891 )
...
* Respect RefCell when calling invoke
* nudge
(cherry picked from commit 969f7b015b
)
Co-authored-by: Jack May <jack@solana.com >
2020-10-15 02:15:36 +00:00
mergify[bot]
3d8ccbc079
terminology update, nonce to bump seed ( #12840 ) ( #12851 )
...
(cherry picked from commit 56211378d3
)
Co-authored-by: Jack May <jack@solana.com >
2020-10-13 18:31:48 +00:00
mergify[bot]
7a1889aaf9
Add adjustable stack size and call depth (bp #12728 ) ( #12770 )
...
* Add adjustable stack size and call depth (#12728 )
(cherry picked from commit c3907be623
)
# Conflicts:
# programs/bpf/Cargo.toml
# programs/bpf_loader/Cargo.toml
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2020-10-09 22:08:01 +00:00
mergify[bot]
4b9f2e987a
Bump max invoke depth to 4 ( #12742 ) ( #12764 )
...
(cherry picked from commit 2cd7cd3149
)
Co-authored-by: Jack May <jack@solana.com >
2020-10-09 18:49:44 +00:00
mergify[bot]
7a53ca18a6
Store program logs in blockstore / bigtable (TransactionWithStatusMeta) ( #12678 ) ( #12735 )
...
* introduce store program logs in blockstore / bigtable
* fix test, transaction logs created for successful transactions
* fix test for legacy bincode implementation around log_messages
* only api nodes should record logs
* truncate transaction logs to 100KB
* refactor log truncate for improved coverage
(cherry picked from commit 8f5431551e
)
Co-authored-by: Josh <josh.hundley@gmail.com >
2020-10-08 20:19:26 +00:00
Jack May
973f0965e1
Add ristretto multiply syscall ( #12699 )
2020-10-06 23:52:13 -07:00
Jack May
630eb3b907
Local program allocator ( #12679 )
2020-10-06 11:03:51 -07:00
Jack May
d0aa8a6446
Fix zero-len slice translations ( #12642 )
2020-10-02 17:45:39 -07:00
Jack May
adeb06e550
Check CPI program is executable ( #12644 )
2020-10-02 13:55:22 -07:00
Jack May
058bca6632
add sha256 syscall ( #12569 )
2020-09-29 23:29:20 -07:00
Jack May
777342a1ef
Add rand dependency test ( #12566 )
...
* Add rand dependency test
* nudge
2020-09-30 00:25:51 +00:00
Jack May
74fcb184b2
Pipe FeatureSet though InvokeContext ( #12536 )
...
* Pipe FeatureSet though InvokeContext
* gate program size cap
* nit
2020-09-29 21:36:30 +00:00
Jack May
2ff983647f
Move process_instruction defs to runtime ( #12507 )
2020-09-29 01:36:46 -07:00
Michael Vines
aa5c008fa8
Add pico-inflation feature
2020-09-28 08:25:00 -07:00
Jack May
7c4822efb1
Nit: bpf test cleanup ( #12401 )
2020-09-25 17:02:48 -07:00
Jack May
d326512121
Add ComputeBudget tuner ( #12476 )
2020-09-25 09:01:22 -07:00
Justin Starry
6601ec8f26
Record and store invoked instructions in transaction meta ( #12311 )
...
* Record invoked instructions and store in transaction meta
* Enable cpi recording if transaction sender is some
* Rename invoked to innerInstructions
2020-09-24 22:36:22 +08:00
sakridge
f561eb917f
Add way to look at tx instructions ( #11943 )
2020-09-19 12:17:46 -07:00
sakridge
3930cb865a
Add keccak-secp256k1 instruction ( #11839 )
...
* Implement keccak-secp256k1 instruction
Verifies eth addreses with ecrecover function
* Move secp256k1 test
2020-09-15 18:23:21 -07:00
Jack May
5ab4109b7e
Add memory allocation support for C programs ( #12254 )
2020-09-15 16:42:20 -07:00
Jack May
3278d78f08
Cache re-usable work performed by the loader ( #12135 )
2020-09-14 17:42:37 -07:00
Jack May
ae7b15f062
Gate pointer alignment enforcement ( #12176 )
2020-09-11 11:07:03 -07:00
Jack May
fab2d44abd
Add BPF test program instruction monitoring ( #11984 )
2020-09-01 17:25:55 -07:00
Jack May
ae0fd3043a
Add support for deprecated loader ( #11946 )
2020-08-31 14:06:58 -07:00
Jack May
8d362f682b
The constraints on compute power a program can consume is limited only to its instruction count ( #11717 )
2020-08-21 15:31:19 -07:00
Jack May
e9b610b8df
Add SystemInstruction::CreateAccount support to CPI ( #11649 )
2020-08-17 13:38:42 -07:00
Jack May
7c736f71fe
Make BPF Loader static ( #11516 )
2020-08-14 12:32:45 -07:00
Jack May
03263c850a
Force program address off the curve ( #11323 )
2020-08-05 16:35:54 -07:00
Greg Fitzgerald
7ade330b23
Rename Client methods to match proposed BanksClient ( #10793 )
2020-06-25 03:35:38 +00:00
Greg Fitzgerald
1c498369b5
Remove fee-payer guesswork from Message and Transaction ( #10776 )
...
* Make Message::new_with_payer the default constructor
* Remove Transaction::new_[un]signed_instructions
These guess the fee-payer instead of stating it explicitly
2020-06-24 14:52:38 -06:00
Jack May
db4a18ada4
Add PubkeyError for ProgramError ( #10748 )
2020-06-23 11:19:27 -07:00
Jack May
73586c1aad
Use &[u8] for program address seeds rather then &str ( #10744 )
2020-06-22 16:51:43 -07:00
Jack May
03abd3ddd7
Prevent privilege escalation ( #10232 )
...
automerge
2020-05-26 01:02:31 -07:00
Kristofer Peterson
b7a32f01c0
Multi-version snapshot support ( #9980 )
...
* Multi-version snapshot support
* rustfmt
* Remove CLI options and runtime support for selection output snapshot version.
Address some clippy complaints.
* Muzzle clippy type complexity warning.
Despite clippy's suggestion, it is not currently possible to create type aliases
for traits and so everything within the 'Box<...>' cannot be type aliased.
This then leaves creating full blown traits, and either implementing
said traits by closure (somehow) or moving the closures into new structs
implementing said traits which seems a bit of a palaver.
Alternatively it is possible to define and use the type alias 'type ResultBox<T> = Result<Box<T>>'
which does seems rather pointless and not a great reduction in complexity but is enough to keep clippy happy.
In the end I simply went with squelching the clippy warning.
* Remove now unused Serialize/Deserialize trait implementations for AccountStorageEntry and AppendVec
* refactor versioned de/serialisers
* rename serde_utils to serde_snapshot
* move call to accounts_db.generate_index() back down to context_accountsdb_from_stream()
* update version 1.1.1 to 1.2.0
remove nested use of serialize_bytes
* cleanups
* Add back measurement of account storage entry serialization.
Remove construction of Vec and HashMap temporaries during serialization.
* consolidate serialisation test cases into serde_snapshot.
clean up leakage of implementation details in serde_snapshot.
* move short term / legacy snapshot code into child module
* add serialize_iter_as_tuple
* preliminary integration of following commit
commit 6d58b73c47294bfb93465d5a83cd2175660b6e6d
Author: Ryo Onodera <ryoqun@gmail.com >
Date: Wed May 20 14:02:02 2020 +0900
Confine snapshot 1.1 relic to versioned codepath
* refactored serde_snapshot, rustfmt
legacy accounts_db format now "owns" both leading u64s, legacy bank_rc format has none
* reduce type complexity (clippy)
2020-05-23 02:54:24 +09:00