Trent Nelson
3d526883e3
Revert "Fix authority in bpf_loader_upgradeable::close_any ( #21344 ) ( #21353 )"
...
This reverts commit f3ea9bc995
.
2021-12-13 12:46:23 -06:00
Trent Nelson
bdaac86f84
Revert "Fix more BPF alignment issues on arm64"
...
This reverts commit e5aa5efbac
.
2021-12-13 12:46:23 -06:00
Trent Nelson
d7377d4794
Revert "Reformat imports to a consistent style for imports"
...
This reverts commit 139d15cd84
.
2021-12-13 12:46:23 -06:00
Michael Vines
139d15cd84
Reformat imports to a consistent style for imports
...
rustfmt.toml configuration:
imports_granularity = "One"
group_imports = "One"
2021-12-03 09:41:09 -08:00
Michael Vines
e5aa5efbac
Fix more BPF alignment issues on arm64
2021-11-30 17:26:01 -08:00
mergify[bot]
f3ea9bc995
Fix authority in bpf_loader_upgradeable::close_any ( #21344 ) ( #21353 )
...
(cherry picked from commit 1a7cefded7
)
Co-authored-by: Kirill Fomichev <fanatid@ya.ru >
2021-11-19 09:10:48 -08:00
mergify[bot]
40c86a0605
Fix BPF parameter alignment to work regardless of target ABI ( #21271 ) ( #21299 )
...
(cherry picked from commit 7e600bd451
)
Co-authored-by: Ben Newhouse <newhouseb@gmail.com >
2021-11-16 21:06:42 +00:00
mergify[bot]
1a0eabe340
add new macro: pubkey!
(backport #21245 ) ( #21288 )
2021-11-15 13:42:30 -08:00
mergify[bot]
b6fe051d24
Document next_account_info(s) ( #21076 ) ( #21080 )
...
(cherry picked from commit 62c8fb4792
)
Co-authored-by: Brian Anderson <andersrb@gmail.com >
2021-10-29 22:22:09 +00:00
mergify[bot]
afe229a89e
Document entrypoint!
, custom_heap_default!
, and custom_panic_default!
( #21003 ) ( #21015 )
...
(cherry picked from commit ced1505b75
)
Co-authored-by: Brian Anderson <andersrb@gmail.com >
2021-10-27 07:49:14 +00:00
mergify[bot]
0a698fc48f
Instruction sysvar fixes, additions (backport #20958 ) ( #21001 )
...
* Instruction sysvar fixes, additions (#20958 )
(cherry picked from commit 4fe3354c8f
)
# Conflicts:
# programs/bpf/rust/sysvar/src/lib.rs
# programs/bpf/tests/programs.rs
# sdk/program/src/sysvar/instructions.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-10-27 01:00:01 +00:00
mergify[bot]
307cda52ac
Fixed bug in AccountInfo::serialize() ( #20923 )
...
Closes #20917
(cherry picked from commit edf5bc242c
)
Co-authored-by: Eugene Lomov <eugene.v.lomov@gmail.com >
2021-10-25 02:26:18 +00:00
mergify[bot]
53f4bde471
add checked instructions sysvar api (backport #20790 ) ( #20816 )
...
* add checked instructions sysvar api (#20790 )
(cherry picked from commit a8098f37d0
)
# Conflicts:
# programs/bpf/rust/sysvar/src/lib.rs
# runtime/src/accounts.rs
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com >
2021-10-20 18:11:51 +00:00
mergify[bot]
63e37b2b20
Remove @brief annotations from Rust API docs (backport #20769 ) ( #20807 )
...
* Remove @brief annotations from Rust API docs (#20769 )
(cherry picked from commit d9b0fc0e3e
)
# Conflicts:
# programs/bpf/rust/invoke/src/instructions.rs
# programs/bpf/rust/invoke/src/processor.rs
# programs/bpf/rust/realloc/src/instructions.rs
# programs/bpf/rust/realloc/src/lib.rs
# programs/bpf/rust/realloc/src/processor.rs
# programs/bpf/rust/realloc_invoke/src/instructions.rs
# programs/bpf/rust/realloc_invoke/src/lib.rs
# programs/bpf/rust/realloc_invoke/src/processor.rs
# sdk/cargo-build-bpf/tests/crates/fail/src/lib.rs
# sdk/src/precompiles.rs
* Fix conflicts
Co-authored-by: Brian Anderson <andersrb@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-10-19 19:17:33 -06:00
mergify[bot]
ece4ecb792
stake: Add BorshSerialize
trait to structs ( #20784 ) ( #20792 )
...
(cherry picked from commit dc1b8ddea1
)
Co-authored-by: Jon Cinque <jon.cinque@gmail.com >
2021-10-19 20:23:24 +00:00
Sean Young
0a6bb84aec
feat: add ed25519 signature verify program
...
Solang requires a method for verify ed25519 signatures. Add a new
builtin program at address Ed25519SigVerify111111111111111111111111111
which takes any number of ed25519 signature, public key, and message.
If any of the signatures fails to verify, an error is returned.
The changes for the web3.js package will go into another commit, since
the tests test against a released solana node. Adding web3.js ed25519
testing will break CI.
(cherry picked from commit b491354e51
)
Conflicts:
Cargo.lock
Cargo.toml
programs/bpf/Cargo.lock
runtime/Cargo.toml
sdk/src/feature_set.rs
sdk/src/transaction.rs
sdk/src/transaction/sanitized.rs
2021-10-18 15:41:24 +01:00
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
Michael Vines
81d2c3261c
Derive Pod/Zeroable for Pubkey
...
(cherry picked from commit f966859829
)
# Conflicts:
# Cargo.lock
# programs/bpf/Cargo.lock
# sdk/program/Cargo.toml
2021-10-07 07:44:12 -07:00
mergify[bot]
9f4f8fc9e9
Add struct and convenience methods to track stake activation status (backport #20392 ) ( #20425 )
...
* Add struct and convenience methods to track stake activation status (#20392 )
* Add struct and convenience methods to track stake activation status
* fix nits
* rename
(cherry picked from commit 0ddb34a0b4
)
# Conflicts:
# runtime/src/stakes.rs
* resolve conflicts
Co-authored-by: Justin Starry <justin@solana.com >
2021-10-05 04:33:30 +00:00
mergify[bot]
1c15cc6e9a
add unchecked invokes ( #20313 ) ( #20337 )
...
(cherry picked from commit 8188c1dd59
)
Co-authored-by: Jack May <jack@solana.com >
2021-09-30 17:05:51 +00:00
Tyera Eulberg
5bdb824267
Remove original feature gating ( #20334 )
2021-09-29 22:36:51 -06:00
Tyera Eulberg
2302211963
Remove files ( #20332 )
2021-09-30 02:25:24 +00:00
mergify[bot]
a005a6b816
Restore ability for programs to upgrade themselves (backport #20265 ) ( #20295 )
...
* Restore ability for programs to upgrade themselves (#20265 )
* Make helper associated fn
* Add feature definition
* Add handling to preserve program-id write lock when upgradeable loader is present; restore bpf upgrade-self test
* Use single feature
(cherry picked from commit 2cd9dc99b6
)
# Conflicts:
# runtime/src/accounts.rs
# sdk/program/src/message.rs
# sdk/program/src/message/mapped.rs
# sdk/program/src/message/sanitized.rs
# sdk/src/feature_set.rs
* Fix conflicts
Co-authored-by: Tyera Eulberg <teulberg@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-09-29 01:34:33 +00:00
drbh
36c283026f
fix Borsh typo
...
changes `BORSH_IO_ERROR` from `unkown` to `unknown` error
(cherry picked from commit e94b7984a1
)
2021-09-27 12:30:41 -07:00
mergify[bot]
9ad801a52c
stake: Add BorshDeserialize trait to structs ( #19958 ) ( #19976 )
...
(cherry picked from commit 9eb98adf97
)
Co-authored-by: Jon Cinque <jon.cinque@gmail.com >
2021-09-17 11:33:18 +00: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]
b5b1ed2a55
stake: Remove v2 program references (backport #19308 ) ( #19336 )
...
* stake: Remove v2 program references (#19308 )
* stake: Remove v2 program references
* Remove stake v2 feature, along with stake rewrite
(cherry picked from commit 73aa004c59
)
# Conflicts:
# runtime/src/bank.rs
* Fix merge conflict
* Fix uses of old `stake` function
Co-authored-by: Jon Cinque <jon.cinque@gmail.com >
2021-08-20 07:32:24 +00:00
mergify[bot]
ddda94e486
Add AsRef<AccountInfo> for AccountInfo (backport #19235 ) ( #19238 )
...
* Add AsRef<AccountInfo> for AccountInfo
(cherry picked from commit 930465e67c
)
* add test for AsRef
(cherry picked from commit d10e37a829
)
Co-authored-by: Kirill Fomichev <fanatid@ya.ru >
2021-08-15 16:21:04 +00:00
Trent Nelson
336c1c1d37
nonce: Unify NonceError
with SystemError
2021-07-16 04:41:51 -06: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
Kirill Fomichev
e0e6e20e02
Add method id
to SysbarId trait ( #18604 )
...
(cherry picked from commit 5cea25ac3e
)
2021-07-14 17:51:54 -07: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]
0d0478c4a4
Add vote/stake checked instructions (backport #18345 ) ( #18457 )
...
* Add vote/stake checked instructions
(cherry picked from commit ee219ffa47
)
* Fix set-lockup custodian index
(cherry picked from commit 544f62c92f
)
* Add parsing for new stake instructions; clean up confusing test args
(cherry picked from commit 9b302ac0b5
)
* Add parsing for new vote instructions
(cherry picked from commit 39bac256ab
)
* Add VoteInstruction::AuthorizeChecked test
(cherry picked from commit b8ca2250fd
)
* Add Stake checked tests
(cherry picked from commit 74e89a3e3e
)
Co-authored-by: Michael Vines <mvines@gmail.com >
Co-authored-by: Tyera Eulberg <tyera@solana.com >
2021-07-07 03:17:21 +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]
428c20c79f
borsh: add bool type ( #18429 )
...
(cherry picked from commit e7b36c8484
)
Co-authored-by: Michael Vines <mvines@gmail.com >
2021-07-05 21:48:10 +00:00
mergify[bot]
f6d943aec7
SDK: Add test for illegal Pubkey::create_with_seed
owners ( #18402 )
...
(cherry picked from commit 216983c50e
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-07-03 01:27:53 +00:00
mergify[bot]
eb683dd402
Document order of recent blockhashes sysvar ( #18379 )
...
I wanted to use this sysvar to get a recent block hash, but I didn't
know whether the first or the last entry contains the most recent block
hash.
By calling it for mainnet, printing the results, and comparing that to
the recent blocks on solanabeach.io/blocks, I discovered that the
entries are ordered from most recent to least recent. Document this to
save future readers the trouble.
(cherry picked from commit 94ab0eb49f
)
Co-authored-by: Ruud van Asseldonk <ruud@chorus.one >
2021-07-02 07:03:04 +00:00
mergify[bot]
2fdda2ec1b
test-validator: hold rent constant with --slots-per-epoch
( #18318 )
...
(cherry picked from commit 02b14caa5f
)
Co-authored-by: Trent Nelson <trent@solana.com >
2021-06-30 08:37:54 +00:00
mergify[bot]
a8071f1039
chore(pubkey): remove dead code ( #18162 )
...
(cherry picked from commit 755b7c7aee
)
Co-authored-by: hrls <viktor.kharitonovich@gmail.com >
2021-06-23 17:07:21 +00:00
Trent Nelson
fcabaa7eff
sdk: refactor pda generation
2021-06-22 11:36:05 -06:00
mergify[bot]
6f376489a5
Handle removing slots during account scans ( #17471 ) ( #17953 )
...
(cherry picked from commit ccc013e134
)
Co-authored-by: carllin <carl@solana.com >
2021-06-22 00:59:12 +00:00
mergify[bot]
c9f02ae020
fix loader instruction checker ( #18047 ) ( #18074 )
...
(cherry picked from commit d18e02ef44
)
Co-authored-by: Jack May <jack@solana.com >
2021-06-18 21:28:29 +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
Jon Cinque
0c90307677
v1.7: Stake refactor (Manual backport of #17906 ) ( #17978 )
...
* Refactor stake program into solana_program (#17906 )
* Move stake state / instructions into solana_program
* Update account-decoder
* Update cli and runtime
* Update all other parts
* Commit Cargo.lock changes in programs/bpf
* Update cli stake instruction import
* Allow integer arithmetic
* Update ABI digest
* Bump rust mem instruction count
* Remove useless structs
* Move stake::id() -> stake::program::id()
* Re-export from solana_sdk and mark deprecated
* Address feedback
* Run cargo fmt
* Run cargo fmt post cherry-pick
2021-06-15 23:43:22 +02:00
mergify[bot]
120a7e433f
Warn about InstructionError meta ( #17864 ) ( #17878 )
...
(cherry picked from commit fa6bdd2d12
)
Co-authored-by: Jack May <jack@solana.com >
2021-06-10 23:49:03 +00:00
mergify[bot]
498bf911eb
Add missing ProgramError to InstructionError mappings ( #16231 ) ( #17723 )
...
* Add missing ProgramError to InstructionError mappings
* add note
* Clarify process of adding new program error
(cherry picked from commit 83b9a046d1
)
Co-authored-by: Jack May <jack@solana.com >
2021-06-04 00:25:25 +00:00