mergify[bot]
7d68c44307
Don't update if already an executable ( #18252 )
...
(cherry picked from commit 2fbedd834f
)
# Conflicts:
# runtime/src/message_processor.rs
Co-authored-by: Jack May <jack@solana.com >
2021-06-27 19:21:02 +00:00
mergify[bot]
57baf7f79b
Add memory operation syscalls (backport #16447 ) ( #18149 )
...
* Add memory operation syscalls (#16447 )
(cherry picked from commit 2b50529265
)
# Conflicts:
# programs/bpf/Cargo.lock
# programs/bpf/rust/sysvar/tests/lib.rs
# programs/bpf/tests/programs.rs
# programs/bpf_loader/src/syscalls.rs
# sdk/src/feature_set.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-06-22 19:57:51 +00:00
Jack May
1bce8a99a2
Add more CPI call depth tests ( #17657 )
2021-06-02 00:22:29 -07:00
Jack May
6a2377dd50
Disable read-only optimization features ( #17583 )
...
* Disable RO optimization features
* nudge
2021-05-28 21:55:37 +00:00
mergify[bot]
f364956d15
Plumb transaction-level rewards (aka "rent debits") into the getTransaction
RPC method (backport #17528 ) ( #17532 )
...
* Plumb transaction-level rewards (aka "rent debits") into the `getTransaction` RPC method
(cherry picked from commit 9541411c15
)
# Conflicts:
# docs/src/developing/clients/jsonrpc-api.md
* rebase
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-05-26 21:33:30 -07:00
mergify[bot]
c4e770e2f8
Add C Serialization Tests for #17217 ( #17294 ) ( #17297 )
...
(cherry picked from commit f15dd1b4ef
)
Co-authored-by: Jack May <jack@solana.com >
2021-05-19 22:14:23 +00:00
mergify[bot]
3303ead54d
Add Keccak256 syscall and sdk support (backport #16498 ) ( #17157 )
...
* Add Keccak256 syscall and sdk support (#16498 )
(cherry picked from commit 8eb05d6ed4
)
# Conflicts:
# Cargo.lock
# programs/bpf/Cargo.lock
# programs/bpf/rust/sha/Cargo.toml
# programs/bpf/tests/programs.rs
# programs/bpf_loader/Cargo.toml
# sdk/program/Cargo.toml
# sdk/program/src/lib.rs
# sdk/src/feature_set.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-05-11 09:31:16 +00:00
mergify[bot]
b0c0739db9
Allow SetUpgradeAuthority instruction in CPI calls (backport #16676 ) ( #16954 )
...
* 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
(cherry picked from commit 1a658c7f31
)
# Conflicts:
# programs/bpf/Cargo.toml
# programs/bpf_loader/src/syscalls.rs
# sdk/src/feature_set.rs
* chore: fixe merge conflicts
Co-authored-by: Sebastian Bor <Sebastian_Bor@hotmail.com >
2021-04-30 20:47:38 +00:00
mergify[bot]
dbc58455df
Retain alloc'd and updated data in cpi (backport #16850 ) ( #16890 )
...
* Retain alloc'd and updated data in cpi (#16850 )
(cherry picked from commit 9b3a59f030
)
# Conflicts:
# programs/bpf_loader/src/syscalls.rs
# sdk/src/feature_set.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-04-27 23:01:43 +00:00
mergify[bot]
0269fffa5a
Remove unactivated ristretto syscall (backport #16727 ) ( #16745 )
...
* Remove unactivated ristretto syscall (#16727 )
(cherry picked from commit be4df39a4c
)
# Conflicts:
# programs/bpf/Cargo.lock
# programs/bpf/rust/ristretto/Cargo.toml
# programs/bpf/tests/programs.rs
# programs/bpf_loader/src/syscalls.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-04-22 18:33:27 +00:00
mergify[bot]
bbd8bd2e74
Enforce host aligned memory for program regions (backport #16590 ) ( #16683 )
...
* Enforce host aligned memory for program regions (#16590 )
(cherry picked from commit 08d5253651
)
# Conflicts:
# cli/Cargo.toml
# programs/bpf/Cargo.toml
# programs/bpf/benches/bpf_loader.rs
# programs/bpf/tests/programs.rs
# programs/bpf_loader/Cargo.toml
# programs/bpf_loader/src/lib.rs
* fix conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-04-21 01:47:00 +00:00
mergify[bot]
6da4bec41d
Return sysvars via syscalls (bp #16422 ) ( #16497 )
...
* Return sysvars via syscalls (#16422 )
(cherry picked from commit fa83f3bd73
)
* bad merge
* Fix branch diffs
* nudge
Co-authored-by: Jack May <jack@solana.com >
2021-04-14 05:33:27 +00:00
mergify[bot]
97ba3cbeb0
Cleanup unsupported sysvars (backport #16390 ) ( #16517 )
...
* Cleanup unsupported sysvars (#16390 )
* Cleanup unsupported sysvars
* fix ser description
(cherry picked from commit 92f4018b07
)
# Conflicts:
# runtime/src/bank.rs
* fix conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-04-13 23:28:08 +00:00
Justin Starry
579065443a
v1.6: Use blake3 message hash in status cache ( #16507 )
2021-04-13 16:57:20 +08:00
mergify[bot]
36e1f9fae8
Bump bpf-tools to version v1.5 ( #16331 ) ( #16350 )
...
The new version of bpf-tools eliminates the separate
rust-bpf-sysroot. The Rust standard libraries for the BPF target are
built in tree when the compiler is built. The standard libraries code
is slightly more optimized and some reduction of compute budget can be
expected with this version of bpf-tools.
(cherry picked from commit 1359bceb5d
)
Co-authored-by: Dmitri Makarov <dmakarov@users.noreply.github.com >
2021-04-04 16:58:52 +00:00
mergify[bot]
b8198f8cc5
removes OrderedIterator and transaction batch iteration order ( #16153 ) ( #16285 )
...
In TransactionBatch,
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/transaction_batch.rs#L4-L11
lock_results[i] is aligned with transactions[iteration_order[i]]:
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/bank.rs#L2414-L2424
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/accounts.rs#L788-L817
However load_and_execute_transactions is iterating over
lock_results[iteration_order[i]]
https://github.com/solana-labs/solana/blob/e50f59844/runtime/src/bank.rs#L2878-L2889
and then returning i as for the index of the retryable transaction.
If iteratorion_order is [1, 2, 0], and i is 0, then:
lock_results[iteration_order[i]] = lock_results[1]
which corresponds to
transactions[iteration_order[1]] = transactions[2]
so neither i = 0, nor iteration_order[i] = 1 gives the correct index for the
corresponding transaction (which is 2).
This commit removes OrderedIterator and transaction batch iteration order
entirely. There is only one place in blockstore processor which the
iteration order is not ordinal:
https://github.com/solana-labs/solana/blob/e50f59844/ledger/src/blockstore_processor.rs#L269-L271
It seems like, instead of using an iteration order, that can shuffle entry
transactions in-place.
(cherry picked from commit 3f63ed9a72
)
Co-authored-by: behzad nouri <behzadnouri@gmail.com >
2021-04-01 01:28:01 +00:00
mergify[bot]
20754a7115
Drop write lock on sysvars ( #15497 ) ( #16233 )
...
* 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 >
(cherry picked from commit 54c68ea83f
)
Co-authored-by: sakridge <sakridge@gmail.com >
2021-03-31 20:23:20 +00:00
mergify[bot]
8a57ee181e
Cleanup nits (bp #16211 ) ( #16237 )
...
* Cleanup nits (#16211 )
(cherry picked from commit f84e88f0a2
)
# Conflicts:
# programs/bpf/Cargo.lock
# programs/bpf/rust/sysvar/Cargo.toml
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-03-31 10:01:18 +00:00
mergify[bot]
86ce650661
Add timeout for local cluster partition tests (bp #16123 ) ( #16137 )
...
* Add timeout for local cluster partition tests (#16123 )
* Add timeout for local cluster partition tests
* fix optimistic conf test logs
* Bump instruction count assertions
(cherry picked from commit e817a6db00
)
# Conflicts:
# local-cluster/Cargo.toml
* Fix conflict
Co-authored-by: Justin Starry <justin@solana.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-03-25 22:56:05 +00:00
Dmitri Makarov
9096c3df02
Adjust BPF test programs instruction counts
2021-03-24 11:59:59 +01:00
Jack May
cc38ae72e7
Skip deserialization of readonly accounts ( #15813 )
2021-03-11 19:28:21 -08:00
Dmitri Makarov
c5a5d7457e
Bump bpf-tools to v1.1 ( #15776 )
2021-03-10 18:13:38 +01:00
Jeff Washington (jwash)
8a3135d17b
Account->AccountSharedData ( #15691 )
2021-03-09 15:06:07 -06:00
Jack May
efcb58092e
Add more duplicate account tests ( #15746 )
2021-03-05 20:36:27 -08:00
Jack May
fb3837260c
Add BPf loader finalize test via inner instruction ( #15708 )
2021-03-04 20:34:36 +00:00
Jack May
b53cb8eb2d
Deprecate Instruction::new ( #15695 )
2021-03-04 05:46:48 +00:00
Tyera Eulberg
d521dfe63c
Implement OutputFormat for confirm in Cli and ledger-tool bigtable ( #15528 )
...
* Add CliTransaction struct
* Impl DisplayFormat for decode-transaction
* Add block-time to transaction println, writeln
* Impl DisplayFormat for confirm
* Use DisplayFormat in ledger-tool bigtable confirm
2021-02-25 14:15:52 -07:00
Jack May
48785b507b
Bump Rust-BPF to v1.46 ( #15273 )
2021-02-18 11:30:08 -08:00
Jack May
02432a548f
Cleanup old features ( #15391 )
2021-02-18 09:56:11 -08:00
Jon Cinque
0f6f6080f3
sdk: Add Borsh support for types and utilities ( #15290 )
...
* sdk: Add Borsh to Pubkey
* Add serialization error for easier borsh integration
* Add Borsh usage to banks-client and sdk
* Rename SerializationError -> IOError
* Add new errors to proto
* Update Cargo lock
* Update Cargo.lock based on CI
* Clippy
* Update ABI on bank
* Address review feedback
* Update sanity program instruction count test
2021-02-18 11:14:56 +01:00
Jack May
02a5f7104a
Fix which shared object the test uses ( #15060 )
2021-02-03 13:31:55 -08:00
Trent Nelson
a2aea0ca33
cli-output: Add option sigverify status to println_transaction()
output
2021-02-02 18:44:22 +00:00
Jack May
07cef5a557
Buffer authority must match upgrade authority for deploys and upgrades ( #14923 )
2021-01-29 12:43:42 -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
63429507b2
Add syscall feature activation test ( #14890 )
2021-01-27 17:21:25 -08:00
Jack May
e57b9c3b02
Add more upgradeable tests ( #14846 )
2021-01-25 21:04:59 -08:00
Jack May
77572a7c53
Track account writable deescalation ( #14626 )
2021-01-22 15:28:01 -08:00
behzad nouri
d52c94a366
adds missing block_time field ( #14743 )
2021-01-21 18:29:48 +00:00
Jack May
aa96ad042b
Add signer/writable de/escalation tests ( #14726 )
2021-01-21 09:19:46 +00:00
Jack May
e3bd9e5300
Prevent the invoke and upgrade of programs in the same tx batch ( #14653 )
...
* Prevent the invoke and upgrade of programs in the same tx batch
* Pass program address as writable in the upgrade instruction
2021-01-19 16:24:44 -08:00
sakridge
907f518f6d
Add load/execute/store timings ( #14561 )
2021-01-14 14:14:16 -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
Jack May
0619805806
Upgradeable programs needs program account's address as program id ( #14417 )
2021-01-04 21:45:05 +00:00
Jack May
5524938a50
Limit CPI instruction size ( #14317 )
2020-12-29 01:14:17 +00:00
Jack May
ee0a80a092
Prevent bpf loader impersonators ( #14278 )
2020-12-24 03:04:48 +00:00
Jack May
b1d702a618
Don't use caller passed executable account ( #14276 )
2020-12-23 14:34:14 -08:00
Jack May
0b479ab180
Limit CPI from calling loader or native programs ( #14252 )
2020-12-23 10:44:34 -08:00