Michael Vines
dd12d90eac
Upgrade to Rust 2021
2021-11-30 20:43:46 -08:00
Michael Vines
098dba607a
Fix more BPF alignment issues on arm64
2021-11-30 18:17:44 -08:00
Ikko Ashimine
4b67a6900d
Fix typo in program_option.rs ( #21444 )
...
accross -> across
2021-11-26 05:52:21 -06:00
Jack May
03c36d240a
Nonce naming cleanup ( #21336 )
2021-11-18 16:07:17 -08:00
Kirill Fomichev
1a7cefded7
Fix authority in bpf_loader_upgradeable::close_any ( #21344 )
2021-11-18 15:53:14 -08:00
carllin
b30c94ce55
ClusterInfoVoteListener send only missing votes to BankingStage ( #20873 )
2021-11-18 15:20:41 -08:00
Ben Newhouse
7e600bd451
Fix BPF parameter alignment to work regardless of target ABI ( #21271 )
2021-11-16 16:02:22 +01:00
Kirill Fomichev
d8a392c20b
add new macro: `pubkey!` ( #21245 )
...
* add new macro: `pubkey!`
* fmt
2021-11-15 11:22:51 -08:00
dependabot[bot]
48265ada39
chore: bump blake3 from 1.1.0 to 1.2.0 ( #21203 )
...
* chore: bump blake3 from 1.1.0 to 1.2.0
Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3 ) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases )
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.1.0...1.2.0 )
---
updated-dependencies:
- dependency-name: blake3
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
* Make versions consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-11-08 15:27:37 -07:00
Alexander Meißner
29ad081555
Stop caching sysvars, instead load them ahead of time. ( #21108 )
2021-11-04 09:48:34 +01:00
Jack May
bced07a099
Update fee api to use blockhash ( #21054 )
2021-10-29 13:52:59 -07:00
Brian Anderson
62c8fb4792
Document next_account_info(s) ( #21076 )
2021-10-29 14:17:21 -06:00
Brian Anderson
ced1505b75
Document `entrypoint!`, `custom_heap_default!`, and `custom_panic_default!` ( #21003 )
2021-10-26 22:48:10 -07:00
Jack May
4fe3354c8f
Instruction sysvar fixes, additions ( #20958 )
2021-10-26 13:07:40 -07:00
Jack May
2515f6a04f
Update deprecation versions ( #20959 )
2021-10-26 09:06:41 -07:00
Eugene Lomov
edf5bc242c
Fixed bug in AccountInfo::serialize()
...
Closes #20917
2021-10-23 17:25:04 -07:00
Jack May
bfbbc53dac
Divorce the runtime from FeeCalculator ( #20737 )
2021-10-22 14:32:40 -07:00
Brian Anderson
64e4bbf829
Fix weird attribute order
2021-10-21 18:40:44 -07:00
Jack May
a8098f37d0
add checked instructions sysvar api ( #20790 )
2021-10-19 21:01:58 -07:00
Brian Anderson
d9b0fc0e3e
Remove @brief annotations from Rust API docs ( #20769 )
2021-10-19 15:48:15 -06:00
Jon Cinque
dc1b8ddea1
stake: Add `BorshSerialize` trait to structs ( #20784 )
2021-10-19 20:10:15 +02:00
Michael Vines
2b76ea51b4
Reduce visibility of `Hash` struct contents
2021-10-19 09:30:47 -07:00
Jack May
4beabb3a43
charge for ed25519 sig verifies ( #20639 )
2021-10-14 08:52:59 -07:00
Michael Vines
13462d63a2
solana-sdk now builds for wasm32-unknown-unknown
2021-10-13 13:15:33 -07:00
Jack May
da45be366a
Remove blockhash from fee calculation ( #20641 )
2021-10-13 13:10:58 -07:00
Jack May
c231cfe235
Reduce budget request instruction length ( #20636 )
2021-10-12 20:56:24 -07:00
Michael Vines
f966859829
Derive Pod/Zeroable for Pubkey
2021-10-06 23:00:45 -07:00
Trent Nelson
767f740305
Bump version to 1.9.0
2021-10-06 17:57:41 -07:00
Michael Vines
7027d56064
Resolve nightly-2021-10-05 clippy complaints
2021-10-06 10:37:58 -07:00
Justin Starry
0ddb34a0b4
Add struct and convenience methods to track stake activation status ( #20392 )
...
* Add struct and convenience methods to track stake activation status
* fix nits
* rename
2021-10-04 18:59:11 -04:00
Jack May
8188c1dd59
add unchecked invokes ( #20313 )
2021-09-29 19:50:38 -07:00
Tyera Eulberg
2cd9dc99b6
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
2021-09-28 09:59:08 -06:00
Jack May
4e27543415
Allow programs to realloc their accounts within limits ( #19475 )
2021-09-28 01:13:03 -07:00
drbh
e94b7984a1
fix Borsh typo
...
changes `BORSH_IO_ERROR` from `unkown` to `unknown` error
2021-09-27 11:30:45 -07:00
Justin Starry
f220386917
Reorder serialized mapped message fields for improved compat
2021-09-26 08:57:29 -04: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
Ryan M. Shea
8dbed193c2
Add new logos to README files and docs ( #20049 )
...
* Add new logos to README files and docs
* Add explorer logos
2021-09-21 13:35:36 -06:00
Jon Cinque
9eb98adf97
stake: Add BorshDeserialize trait to structs ( #19958 )
2021-09-17 10:14:23 +02: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
778b2adbea
Check seed length before trying to cal program address ( #19699 )
2021-09-07 21:37:24 -07:00
Jack May
529fefc7cc
Remove native id check in pda creation ( #19595 )
2021-09-07 14:44:52 -07:00
Sean Young
8b9e472a6c
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.
2021-09-05 18:59:37 +01:00
Tyera Eulberg
decec3cd8b
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
2021-09-04 03:05:30 +00:00
Jack May
a89f180145
Allow closing upgradeable program accounts ( #19319 )
2021-08-24 10:05:54 -07:00
Jon Cinque
73aa004c59
stake: Remove v2 program references ( #19308 )
...
* stake: Remove v2 program references
* Remove stake v2 feature, along with stake rewrite
2021-08-20 01:08:44 -04:00
Justin Starry
c50b01cb60
Store versioned transactions in the ledger, disabled by default ( #19139 )
...
* Add support for versioned transactions, but disable by default
* merge conflicts
* trent's feedback
* bump Cargo.lock
* Fix transaction error encoding
* Rename legacy_transaction method
* cargo clippy
* Clean up casts, int arithmetic, and unused methods
* Check for duplicates in sanitized message conversion
* fix clippy
* fix new test
* Fix bpf conditional compilation for message module
2021-08-17 15:17:56 -07:00
Justin Starry
fd33f523ab
Generate packet offsets for versioned messages ( #19138 )
...
* Add support for generating packet offsets for new versioned message
* Remove outdated test
* match over version
2021-08-16 17:55:15 -07:00
Kirill Fomichev
d10e37a829
add test for AsRef
2021-08-15 07:43:50 -07:00
Kirill Fomichev
930465e67c
Add AsRef<AccountInfo> for AccountInfo
2021-08-15 07:43:50 -07:00
Jack May
0b50bb2b20
Deprecate FeeCalculator returning APIs ( #19120 )
2021-08-13 09:08:20 -07:00
Justin Starry
8817f59b6e
Version transaction message and add new message format ( #18725 )
...
* Version transaction message and add new message format
* Update abi digest due to message path change
* Update v0.rs
Fix comment
* Update original.rs
* Update message versions name and address map indexes field name
* s/original/legacy
* update comment
* cargo fmt
* Update abi digest due to legacy rename
2021-08-09 22:03:39 -07:00
Jack May
77861e2d40
Feature disable fees sysvar ( #18981 )
...
* Feature disable fees sysvar
* nudge
2021-08-02 00:31:11 +00:00
Trent Nelson
21bc43ed58
nonce: Unify `NonceError` with `SystemError`
2021-07-30 14:47:14 -06:00
Jack May
dfbb0c559b
deprecate fees sysvar ( #18960 )
2021-07-29 10:48:14 -07:00
Jack May
9529284194
Nonce gets blockhash from invoke_context ( #18950 )
2021-07-29 01:50:20 -07:00
dependabot[bot]
14f0ce850d
chore: bump blake3 from 0.3.8 to 1.0.0 ( #18908 )
...
* chore: bump blake3 from 0.3.8 to 1.0.0
Bumps [blake3](https://github.com/BLAKE3-team/BLAKE3 ) from 0.3.8 to 1.0.0.
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases )
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/0.3.8...1.0.0 )
---
updated-dependencies:
- dependency-name: blake3
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make versions consistent
* Enable new feature
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-07-27 17:55:21 -06:00
Jack May
72e374d0f3
Deprecate SysvarRecentBlockhashes ( #18875 )
2021-07-27 16:34:21 -07:00
niedhui
dc6ec02021
Fix link typo in program README ( #18916 )
...
Signed-off-by: niedhui <niedhui@gmail.com>
2021-07-27 08:54:37 -05:00
Jack May
eaeeffa5a3
Add macros for deprecacted ids ( #18907 )
2021-07-26 20:54:46 -07:00
dependabot[bot]
395ee4ec68
chore: bump libsecp256k1 from 0.5.0 to 0.6.0 ( #18774 )
...
* chore: bump libsecp256k1 from 0.5.0 to 0.6.0
Bumps [libsecp256k1](https://github.com/paritytech/libsecp256k1 ) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/paritytech/libsecp256k1/releases )
- [Changelog](https://github.com/paritytech/libsecp256k1/blob/master/CHANGELOG.md )
- [Commits](https://github.com/paritytech/libsecp256k1/commits )
---
updated-dependencies:
- dependency-name: libsecp256k1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update all versions, lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-07-20 13:14:47 -06:00
Justin Starry
207c90bd8b
Shorten long SerializeWith type paths in abi digest ( #18734 )
2021-07-20 08:59:50 -05:00
steviez
b9dc85a934
Add comments on how to add a new feature switch ( #18686 )
2021-07-18 12:48:09 -05:00
Brian Anderson
37ee0b5599
Eliminate doc warnings and fix some markdown ( #18566 )
...
* Fix link target in doc comment
* Fix formatting of log examples in process_instruction
* Fix doc markdown in solana-gossip
* Fix doc markdown in solana-runtime
* Escape square braces in doc comments to avoid warnings
* Surround 'account references' doc items in code spans to avoid warnings
* Fix code block in loader_upgradeable_instruction
* Fix doctest for loader_upgradable_instruction
2021-07-16 00:40:07 +00:00
Trent Nelson
abe5a0a349
gate libsecp256k1 upgrade to v0.5.0
2021-07-15 18:43:55 +00:00
Trent Nelson
3a85b77bb5
hijack secp256k1 enablement feature plumbing for libsecp256k1 upgrade
2021-07-15 18:43:55 +00:00
Trent Nelson
568660b402
Revert "Remove feature switch for secp256k1 program ( #18467 )"
...
This reverts commit fd574dcb3b
.
2021-07-15 18:43:55 +00:00
dependabot[bot]
21868439d5
chore: bump borsh from 0.9.0 to 0.9.1 ( #18664 )
...
* chore: bump borsh from 0.9.0 to 0.9.1
Bumps [borsh](https://github.com/near/borsh-rs ) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/near/borsh-rs/releases )
- [Changelog](https://github.com/near/borsh-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/near/borsh-rs/compare/v0.9.0...v0.9.1 )
---
updated-dependencies:
- dependency-name: borsh
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
* Bump other borsh deps
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-07-14 22:31:12 -06:00
Kirill Fomichev
5cea25ac3e
Add method `id` to SysbarId trait ( #18604 )
2021-07-13 16:01:32 +00:00
Justin Starry
e806d31224
Optimize Message::is_non_loader_key method ( #18579 )
2021-07-12 10:42:22 -05:00
Justin Starry
fd574dcb3b
Remove feature switch for secp256k1 program ( #18467 )
...
* Remove feature switch for secp256k1 program
* fix tests
2021-07-09 10:08:03 -05:00
Michael Vines
f6371cce17
Comment cleanup
2021-07-08 21:35:58 -07:00
s-medvedev
1f288ce527
Add ecrecover syscall ( #17720 )
...
Co-authored-by: Anton Lisanin <lisanin.anton@gmail.com>
2021-07-07 13:15:14 -07:00
Michael Vines
ee219ffa47
Add vote/stake checked instructions
2021-07-06 21:53:18 +00:00
Justin Starry
100fabf469
Remove feature switch for demoting sysvar write locks ( #18373 )
2021-07-06 21:22:22 +00:00
Michael Vines
e7b36c8484
borsh: add bool type
2021-07-05 13:14:18 -07:00
Trent Nelson
216983c50e
SDK: Add test for illegal `Pubkey::create_with_seed` owners
2021-07-02 23:37:15 +00:00
Ruud van Asseldonk
94ab0eb49f
Document order of recent blockhashes sysvar
...
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.
2021-07-01 22:22:52 -07:00
Trent Nelson
d3a7e22112
sdk: refactor pda generation
2021-06-30 19:01:51 -06:00
dependabot[bot]
78968d132f
chore: bump log from 0.4.11 to 0.4.14 ( #18323 )
...
* chore: bump log from 0.4.11 to 0.4.14
Bumps [log](https://github.com/rust-lang/log ) from 0.4.11 to 0.4.14.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.11...0.4.14 )
---
updated-dependencies:
- dependency-name: log
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make version consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-30 18:32:01 +00:00
Trent Nelson
02b14caa5f
test-validator: hold rent constant with `--slots-per-epoch`
2021-06-30 00:46:12 -06:00
dependabot[bot]
353bf6253b
chore: bump curve25519-dalek from 2.1.0 to 3.0.0 ( #18188 )
...
* chore: bump curve25519-dalek from 2.1.0 to 3.0.0
Bumps [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek ) from 2.1.0 to 3.0.0.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases )
- [Changelog](https://github.com/dalek-cryptography/curve25519-dalek/blob/main/CHANGELOG.md )
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/2.1.0...3.0.0 )
---
updated-dependencies:
- dependency-name: curve25519-dalek
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make version consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-24 22:32:32 -06:00
Jack May
94905dae52
Add sdk and program READMEs ( #18154 )
2021-06-23 21:22:35 +00:00
hrls
755b7c7aee
chore(pubkey): remove dead code
2021-06-22 19:43:15 -06:00
Jack May
d18e02ef44
fix loader instruction checker ( #18047 )
2021-06-18 11:37:39 -07:00
Alexander Meißner
789f33e8db
chore: cargo fmt
2021-06-18 10:42:46 -07:00
Alexander Meißner
6514096a67
chore: cargo +nightly clippy --fix -Z unstable-options
2021-06-18 10:42:46 -07:00
Jon Cinque
1b1d34da59
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
2021-06-15 18:04:00 +02:00
carllin
ccc013e134
Handle removing slots during account scans ( #17471 )
2021-06-14 21:04:01 -07:00
dependabot[bot]
a0872232d3
chore: bump itertools from 0.9.0 to 0.10.1 ( #17929 )
...
* chore: bump itertools from 0.9.0 to 0.10.1
Bumps [itertools](https://github.com/rust-itertools/itertools ) from 0.9.0 to 0.10.1.
- [Release notes](https://github.com/rust-itertools/itertools/releases )
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.9.0...v0.10.1 )
---
updated-dependencies:
- dependency-name: itertools
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Fix versions
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-14 18:32:20 +00:00
Dmitri Makarov
361c1bdd57
Fix file permissions ( #17910 )
2021-06-12 02:03:32 +00:00
Jack May
fa6bdd2d12
Warn about InstructionError meta ( #17864 )
2021-06-10 15:13:56 -07:00
dependabot[bot]
9a2ca8dd2f
chore: bump rustc_version from 0.2.3 to 0.4.0 ( #17854 )
...
* chore: bump rustc_version from 0.2.3 to 0.4.0
Bumps [rustc_version](https://github.com/Kimundi/rustc-version-rs ) from 0.2.3 to 0.4.0.
- [Release notes](https://github.com/Kimundi/rustc-version-rs/releases )
- [Commits](https://github.com/Kimundi/rustc-version-rs/compare/v0.2.3...v0.4.0 )
---
updated-dependencies:
- dependency-name: rustc_version
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Make versions consistent
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-09 16:57:39 +00:00
Arthur Greef
28fdfed1ba
Blake3 syscall ( #17358 )
2021-06-08 11:04:10 -07:00
dependabot[bot]
cb086ae492
chore: bump borsh from 0.8.1 to 0.9.0 ( #17780 )
...
* chore: bump borsh from 0.8.1 to 0.9.0
Bumps [borsh](https://github.com/near/borsh-rs ) from 0.8.1 to 0.9.0.
- [Release notes](https://github.com/near/borsh-rs/releases )
- [Changelog](https://github.com/near/borsh-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/near/borsh-rs/compare/v0.8.1...v0.9.0 )
---
updated-dependencies:
- dependency-name: borsh
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Clean bump and cargo-for-all-lock-files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-07 21:11:38 +00: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
2b50529265
Add memory operation syscalls ( #16447 )
2021-06-01 15:33:17 -07:00
dependabot[bot]
86c07bf785
Bump bs58 from 0.3.1 to 0.4.0 ( #17573 )
...
* Bump bs58 from 0.3.1 to 0.4.0
Bumps [bs58](https://github.com/mycorrhiza/bs58-rs ) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/mycorrhiza/bs58-rs/releases )
- [Commits](https://github.com/mycorrhiza/bs58-rs/compare/0.3.1...0.4.0 )
Signed-off-by: dependabot[bot] <support@github.com>
* Fixup
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-05-28 18:30:34 +00:00
Michael Vines
8eab0e8602
Bump version to v1.8.0 ( #17541 )
2021-05-27 08:51:53 -07:00
Jeff Washington (jwash)
44831c18d2
reuse work in is_non_loader_key ( #16521 )
2021-05-21 10:07:04 -05:00
Dmitri Makarov
2ae57c172a
Bump bpf-tools version to 1.9
...
- upgrade rustc to 1.52.1 and clang to 12.0
2021-05-20 11:35:37 +02:00