Michael Vines
225bed11c7
Remove Entrypoint type
2020-10-29 21:45:24 -07:00
Michael Vines
df8dab9d2b
Native/builtin programs now receive an InvokeContext
2020-10-29 21:45:24 -07:00
Jack May
b5c8b86e7c
clarify comment ( #13289 )
2020-10-29 21:16:01 +00:00
Jack May
c458d4b213
move Account to solana-sdk ( #13198 )
2020-10-28 22:01:07 -07:00
Michael Vines
92d6521a7f
Add try_find_program_address()
2020-10-28 19:34:51 -07:00
Ryo Onodera
7d2962135d
Use pico inflation for ledger-tool capitalization --enable-inflation ( #13215 )
...
* Use pico inflation for ledger-tool capitalization --enable-inflation
* rust fmt
2020-10-28 15:30:39 +09:00
Jack May
4e0d1b1d4a
more portable install.sh ( #13114 )
2020-10-27 22:43:34 -07:00
Jack May
26eba5ac7d
Fix pr crossing for sysvar keyed-accounts ( #13189 )
2020-10-26 21:59:32 -07:00
Jack May
322c667655
check sysvar id for AccountInfo ( #13175 )
2020-10-26 20:38:45 -07:00
Michael Vines
1b343665a1
Move KeyedAccount out of solana-program. Native programs are not supported by solana-program
2020-10-26 18:54:54 -07:00
Jack May
e3c0cc980b
fix .gitignore ( #13177 )
2020-10-27 00:42:26 +00:00
Jack May
fc83a666fc
macos portable rust-bpf ( #13176 )
2020-10-27 00:11:33 +00:00
Michael Vines
c4fb77f057
Delete .lib.rs.swo
2020-10-26 16:01:25 -07:00
Michael Vines
0cc9c94c43
Rename "everything" feature to "full"
2020-10-24 17:26:11 +00:00
Michael Vines
a4956844bd
Update frozen_abi hashes
...
The movement of files in sdk/ caused ABI hashes to change
2020-10-24 08:37:55 -07:00
Michael Vines
dd711ab5fb
Rename solana-program-sdk to solana-program
2020-10-24 08:37:55 -07:00
Michael Vines
85c51f5787
Only activate legacy program feature for the solana-sdk crate
2020-10-24 08:37:55 -07:00
Michael Vines
63db324204
Initial population of solana-program-sdk
2020-10-24 08:37:55 -07:00
Michael Vines
3718771ffb
Add solana-program-sdk boilerplate
2020-10-24 08:37:55 -07:00
Michael Vines
b169d9cfbe
Add --bpf-out-dir argument to control where the final build products land
2020-10-23 04:57:03 +00:00
Michael Vines
959880db60
Remove unused pubkey::Pubkey imports
2020-10-21 19:08:13 -07:00
Michael Vines
7bc073defe
Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand`
2020-10-21 19:08:13 -07:00
Michael Vines
76f11c7dae
Add hash_new_rand(), mark Hash::new_rand() as deprecated
2020-10-21 19:08:13 -07:00
Michael Vines
0e68ed6a8d
Add pubkey_new_rand(), mark Pubkey::new_rand() deprecated
2020-10-21 19:08:13 -07:00
Michael Vines
61be155413
Remove do.sh
2020-10-21 18:56:40 -07:00
Michael Vines
07a853d6cc
Add cargo-build-bpf
2020-10-21 18:56:40 -07:00
Tyera Eulberg
46d0019955
Parse stake and system instructions ( #13035 )
...
* Fix token account check
* Add helper to check num accounts
* Add parse_stake
* Add parse_system
* Fix AuthorizeNonce docs
* Remove jsonParsed unstable markers
* Clippy
2020-10-20 21:02:17 -06:00
Michael Vines
6858950f76
Remove frozen ABI modules from solana-sdk
2020-10-20 16:11:30 -07:00
Jon Cinque
81d0c8ae7f
Force unset CARGO to use correct version of cargo ( #13027 )
2020-10-20 14:50:34 -07:00
sakridge
83c53ae4b5
Fix secp256k1 instruction indexing and add tests ( #13026 )
2020-10-20 14:13:24 -07:00
Michael Vines
c5e16383b0
Add everything feature
2020-10-19 17:21:52 -07:00
Michael Vines
9c53e1dfb2
Add SyscallStubs to enable syscall interception when building programs for non-BPF
2020-10-19 21:00:17 +00:00
Ryo Onodera
54517ea454
Follow up to persistent tower with tests and API cleaning ( #12350 )
...
* Follow up to persistent tower
* Ignore for now...
* Hard-code validator identities for easy reasoning
* Add a test for opt. conf violation without tower
* Fix compile with rust < 1.47
* Remove unused method
* More move of assert tweak to the asser pr
* Add comments
* Clean up
* Clean the test addressing various review comments
* Clean up a bit
2020-10-19 16:37:03 +09:00
Jack May
3f9e6a600b
program log pubkey as base58 ( #12901 )
2020-10-15 09:11:54 -07:00
Jack May
969f7b015b
Respect RefCell when calling invoke ( #12858 )
...
* Respect RefCell when calling invoke
* nudge
2020-10-15 01:06:41 +00:00
Jack May
d4e953277e
Expose program error constants ( #12861 )
2020-10-14 00:38:08 -07:00
Jack May
56211378d3
terminology update, nonce to bump seed ( #12840 )
2020-10-13 10:11:08 -07:00
Eric Williams
1ab36203de
Retry inflation parameter update along with documentation updates ( #12778 )
...
* update initial inflation parameter
* update economics section of docs
2020-10-12 13:10:57 -07:00
Michael Vines
403790760c
Default to 50% rent burn
2020-10-09 21:52:31 -07:00
Jack May
9ac8db3533
document program address collisions ( #12774 )
2020-10-09 23:19:41 +00:00
Tyera Eulberg
b028c47d2b
Correct Bank timestamp drift every slot ( #12737 )
...
* Move timestamp helper to sdk
* Add Bank method for getting timestamp estimate
* Return sysvar info from Bank::clock
* Add feature-gated timestamp correction
* Rename unix_timestamp method to be more descriptive
* Review comments
* Add timestamp metric
2020-10-09 21:53:41 +00:00
carllin
c879e7c1ad
Fix fee mismatch on snapshot deserialize ( #12697 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-08 23:44:41 -07:00
Michael Vines
11df2e2236
Bump version to v1.5.0
2020-10-08 04:51:36 +00:00
Michael Vines
2c38865e70
Revert "Inflation cli fix and parameter update ( #12709 )"
...
This reverts commit b3f695c83f
.
2020-10-07 19:43:15 -07:00
Jack May
dd7fae4afb
Fix syscall featurization ( #12714 )
...
* Fix syscall featurization
* nudge
2020-10-07 18:38:38 -07:00
Eric Williams
b3f695c83f
Inflation cli fix and parameter update ( #12709 )
...
update initial inflation parameter to reflect current design
2020-10-07 17:12:32 -07:00
Jack May
41ad3dd8f0
Remove skip-no-mangle entirely ( #12696 )
2020-10-07 09:13:48 -07:00
Jack May
630eb3b907
Local program allocator ( #12679 )
2020-10-06 11:03:51 -07:00
Jack May
bff3825298
Remove unnecessary skip-no-mangle feature from sdk ( #12684 )
2020-10-06 11:03:29 -07:00
Tyera Eulberg
865d01c38d
Fix TransactionStatusMeta breakage in blockstore ( #12587 )
...
* Add helper to facilitate deserializing legacy structs
* Use default_on_eof to fix blockstore vis-a-vis TransactionStatusMeta
* Add should-panic test and comments
2020-09-30 11:49:35 -06:00
Jack May
058bca6632
add sha256 syscall ( #12569 )
2020-09-29 23:29:20 -07:00
Trent Nelson
3c7b9c2938
Move remaining nonce utils from runtime to SDK
2020-09-30 05:45:42 +00:00
Trent Nelson
65b868f4eb
Move nonced tx helpers to SDK
2020-09-30 05:45:42 +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
Michael Vines
c10da16d7b
Port instructions sysvar and secp256k1 program activation to FeatureSet
2020-09-25 11:40:36 -07:00
Jack May
b8c4b88188
Cleanup names, fix line dependent test ( #12477 )
2020-09-25 09:00:06 -07:00
Trent Nelson
07dfa37cce
Add `Signers` impl for `Vec<Box<dyn Signer>>`
2020-09-25 07:12:04 +00:00
behzad nouri
bb183938d9
adds an atomic variant of the bloom filter ( #12422 )
...
For crds_gossip_pull, we want to parallelize build_crds_filters, which
requires concurrent writes to bloom filters.
This commit implements a variant of the bloom filter which uses atomics
for its bits vector and so is thread-safe.
2020-09-24 18:37:19 +00: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
Jack May
65049bd112
Bump rust-bpf to v0.2.4 ( #12361 )
2020-09-20 23:10:50 +00:00
sakridge
22d8b3c3f8
Cleanup and feature gate instruction processing ( #12359 )
2020-09-20 10:58:12 -07:00
sakridge
f561eb917f
Add way to look at tx instructions ( #11943 )
2020-09-19 12:17:46 -07:00
Ryo Onodera
cb8661bd49
Persistent tower ( #10718 )
...
* Save/restore Tower
* Avoid unwrap()
* Rebase cleanups
* Forcibly pass test
* Correct reconcilation of votes after validator resume
* d b g
* Add more tests
* fsync and fix test
* Add test
* Fix fmt
* Debug
* Fix tests...
* save
* Clarify error message and code cleaning around it
* Move most of code out of tower save hot codepath
* Proper comment for the lack of fsync on tower
* Clean up
* Clean up
* Simpler type alias
* Manage tower-restored ancestor slots without banks
* Add comment
* Extract long code blocks...
* Add comment
* Simplify returned tuple...
* Tweak too aggresive log
* Fix typo...
* Add test
* Update comment
* Improve test to require non-empty stray restored slots
* Measure tower save and dump all tower contents
* Log adjust and add threshold related assertions
* cleanup adjust
* Properly lower stray restored slots priority...
* Rust fmt
* Fix test....
* Clarify comments a bit and add TowerError::TooNew
* Further clean-up arround TowerError
* Truly create ancestors by excluding last vote slot
* Add comment for stray_restored_slots
* Add comment for stray_restored_slots
* Use BTreeSet
* Consider root_slot into post-replay adjustment
* Tweak logging
* Add test for stray_restored_ancestors
* Reorder some code
* Better names for unit tests
* Add frozen_abi to SavedTower
* Fold long lines
* Tweak stray ancestors and too old slot history
* Re-adjust error conditon of too old slot history
* Test normal ancestors is checked before stray ones
* Fix conflict, update tests, adjust behavior a bit
* Fix test
* Address review comments
* Last touch!
* Immediately after creating cleaning pr
* Revert stray slots
* Revert comment...
* Report error as metrics
* Revert not to panic! and ignore unfixable test...
* Normalize lockouts.root_slot more strictly
* Add comments for panic! and more assertions
* Proper initialize root without vote account
* Clarify code and comments based on review feedback
* Fix rebase
* Further simplify based on assured tower root
* Reorder code for more readability
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-09-19 14:03:54 +09:00
Tyera Eulberg
58542cf7f6
Add Pack and COption to sdk ( #12294 )
...
* Add COption to sdk
* Add Pack to sdk
* Except program_option from nits check
* No Default::default
2020-09-17 21:10:02 -06: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
carllin
3c69cd6d61
Update commitment options ( #12173 )
2020-09-11 11:19:06 -07:00
Ryo Onodera
de4a613610
Check bank capitalization ( #11927 )
...
* Check bank capitalization
* Simplify and unify capitalization calculation
* Improve and add tests
* Avoid overflow and inhibit automatic restart
* Fix test
* Tweak checked sum for cap. and add tests
* Fix broken build after merge conflicts..
* Rename to ClusterType
* Rename confusing method
* Clarify comment
* Verify cap. in rent and inflation tests
Co-authored-by: Stephen Akridge <sakridge@gmail.com>
2020-09-12 01:48:06 +09:00
Ryo Onodera
53b8ea4464
Rename to ClusterType and restore devnet compat. ( #12068 )
...
* Rename to ClusterType and restore devnet compat.
* De-duplicate parse code and add comments
* Adjust default Devnet genesis & reduce it in tests
2020-09-08 23:55:09 +09:00
Ryo Onodera
89bca6110a
Clarify comments and names in inflation code ( #11977 )
2020-09-03 14:15:12 +09:00
Michael Vines
29cfbce21d
Revert "Remove ::solana_sdk hack ( #11326 )"
...
This reverts commit c099b29b36
.
2020-09-02 15:24:38 -07:00
carllin
af08221aec
Switch account hashing to blake3 ( #11969 )
...
* Switch account hashing to blake3
Co-authored-by: Carl <carl@solana.com>
2020-09-02 00:37:36 -07:00
Jack May
0ed360b5e5
fix program test stubs ( #11956 )
...
* fix program tset stubs
* nudge
2020-08-31 21:48:16 -07:00
Jack May
ae0fd3043a
Add support for deprecated loader ( #11946 )
2020-08-31 14:06:58 -07:00
Jon Cinque
8c43a3da32
Update nofile flag in Docker to run Solana
...
Currently, the Solana Docker container does not start because it
requires `nofile` to be at least 500000, and the default behavior is
1024.
This fixes the documentation and running script to properly set the ulimit to
500000.
2020-08-28 16:49:28 -07:00
Jack May
ea179ad762
Bump compute budget ( #11864 )
...
* Bump compute budget
* nudge
2020-08-26 21:48:51 +00:00
Jack May
db4bbb3569
Switch programs activation to whole-set based gating ( #11750 )
...
* Implement Debug for MessageProcessor
* Switch from delta-based gating to whole-set gating
* Remove dbg!
* Fix clippy
* Clippy
* Add test
* add loader to stable operating mode at proper epoch
* refresh_programs_and_inflation after ancestor setup
* Callback via snapshot; avoid account re-add; Debug
* Fix test
* Fix test and fix the past history
* Make callback management stricter and cleaner
* Fix test
* Test overwrite and frozen for native programs
* Test epoch callback with genesis-programs
* Add assertions for parent bank
* Add tests and some minor cleaning
* Remove unsteady assertion...
* Fix test...
* Fix DOS
* Skip ensuring account by dual (whole/delta) gating
* Fix frozen abi implementation...
* Move compute budget constatnt init back into bank
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-08-26 01:49:15 +09:00
Jon Cinque
9a366281d3
sdk: Make PubKey::create_program_address available in program unit tests ( #11745 )
...
* sdk: Make PubKey::create_program_address available in program unit tests
This finishes the work started in #11604 to have
`create_program_address` available when `target_arch` is not `bpf` and
`program` is enabled. Otherwise, there is an undefined reference error
to `sol_create_program_address`, which is only defined in `bpf`.
A small test to simply call the function has been added in order to catch
the problem in the future.
The default dependency to `solana-sdk/default` doesn't cause a problem with
existing programs since `build.sh` always specifies
`--no-default-features`, and programs in `solana-program-library` all
use it too.
* Add `default-features = false` for inter-program dependencies
Fix the build error found during CI. The `--no-default-features` flag
only applies to the top-level package, and not to dependencies. A program that
depends on another program, i.e. `128bit` which depends on `128bit_dep`,
must specify `default-features = false` when including that package,
otherwise the `bpf` build will try to pull in default packages, which
includes `std`.
2020-08-24 19:28:36 +02: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
Greg Fitzgerald
f02a78d8ff
Add StakeInstruction::AuthorizeWithSeed ( #11700 )
...
* Add StakeInstruction::AuthorizeWithSeed
* chore: add authorize-with-seed to web.js
* fix: add address_owner
* Add SystemInstruction::TransferWithSeed
* Update ABI hash
* chore: better variable names
* Add AuthorizeWithSeedArgs
* Reorder and rename arguments for clarity
2020-08-21 18:28:01 +00:00
Aaron Hill
c099b29b36
Remove ::solana_sdk hack ( #11326 )
...
Fixes #10933
Now that https://github.com/rust-lang/rust/pull/72121 has been merged,
using a `$crate` path from a nested `macro_rules!` will work properly
across multiple crates. This allows us to stop using `::solana_sdk`
to reference to the `respan!` macro.
2020-08-18 17:59:41 +00:00
Michael Vines
d15173ad9d
Address latest nightly clippy lints, but globally disable stable_sort_primitive
2020-08-17 22:36:10 -07:00
Jack May
e9b610b8df
Add SystemInstruction::CreateAccount support to CPI ( #11649 )
2020-08-17 13:38:42 -07:00
Jack May
f1ba2387d3
More efficient padding ( #11656 )
2020-08-17 10:24:34 -07:00
Jack May
768b386f0a
fix region checks ( #11651 )
2020-08-16 23:11:52 -07:00
Jack May
7c736f71fe
Make BPF Loader static ( #11516 )
2020-08-14 12:32:45 -07:00
Trent Nelson
30dbe257cf
Reimplement decode_len() with ShortU16 vistor helper
2020-08-14 08:17:52 -06:00
Trent Nelson
6222fbcc66
Factor out ShortU16 deser vistor logic to helper
2020-08-14 08:17:52 -06:00
Trent Nelson
338f66f9aa
Add failing test for decoding ShortU16 alias values
2020-08-14 08:17:52 -06:00
Jack May
9290e561e1
Align host addresses ( #11384 )
...
* Align host addresses
* support new program abi
* update epoch rollout
* Enforce aligned pointers in cross-program invocations
2020-08-11 16:11:52 -07:00
Ryo Onodera
6c242f3fec
Fix bad rent in Bank::deposit as if since epoch 0 ( #10468 )
...
* Fix bad rent in Bank::deposit as if since epoch 0
* Remove redundant predicate
* Rename
* Start to add tests with some cleanup
* Forgot to add refactor code...
* Enchance test
* Really fix rent timing in deposit with robust test
* Simplify new behavior by disabling rent altogether
2020-08-12 00:04:32 +09:00
Jack May
140b2392f6
Unified signature for create_program_address ( #11460 )
2020-08-10 10:24:11 -07:00
Jack May
5a7e99f283
Fix cbindgen compatibility ( #11455 )
2020-08-07 15:13:48 -07:00
Greg Fitzgerald
bad486823c
Add a client for BankForks ( #10728 )
...
Also:
* Use BanksClient in solana-tokens
2020-08-07 08:45:17 -06:00
Greg Fitzgerald
3fdd8ffdf0
Remove circular dep between InstructionError and SystemError ( #11427 )
2020-08-06 22:04:43 +00:00
Jack May
03263c850a
Force program address off the curve ( #11323 )
2020-08-05 16:35:54 -07:00
Trent Nelson
e12ab9d0dd
Bump version to 1.4.0
2020-08-05 12:04:15 -06:00
Trent Nelson
3f73affb2e
Add From for SanitizeError > TransactionError
2020-08-05 06:06:57 +00:00
Aaron Hill
8bcc8edf47
Remove calls to `unwrap()` in `respan!` macro
...
Previously, `proc_macro2::Span::resolved_at` was gated behind
cfg(procmacro2_semver_exempt). This gate has been removed in the latest
version of proc-macro2, allowing us to avoid using `unwrap()` to use the
underling method on `proc_macro::Span`
2020-08-02 19:15:06 -07:00
Trent Nelson
c421d7f1b8
Test that off-curve pubkeys fail signature verify
2020-07-31 14:21:03 -06:00
Trent Nelson
251f974b50
Allow inspection of signature verification failures
2020-07-31 14:21:03 -06:00
Michael Vines
52575349dc
Build programs with `--no-default-features --features program` to match solana-sdk
2020-07-31 08:57:42 -07:00
Jack May
2dbed80e48
Disable cross-program invocations for OperatingMode::Stable ( #11272 )
2020-07-29 15:29:52 -07:00
Michael Vines
c410b082b7
.sh
2020-07-29 14:12:11 -07:00
Michael Vines
3a1ca4efff
Fetch and install SPL programs by default
2020-07-29 12:48:56 -07:00
Jack May
16ecce353f
Revert "Land program addresses on the curve ( #11174 )" ( #11253 )
...
This reverts commit f317c362a8
.
2020-07-29 11:33:45 -07:00
Jack May
f317c362a8
Land program addresses on the curve ( #11174 )
2020-07-27 10:45:59 -07:00
Michael Vines
125a36abbc
Remove move more
2020-07-24 01:42:19 +00:00
Greg Fitzgerald
8ccce1e543
Upgrade ed25519-dalek ( #11183 )
2020-07-23 17:23:51 -06:00
Greg Fitzgerald
8b1b392be9
Remove move_loader and librapay ( #11184 )
...
* Remove move_loader and librapay
* Remove Embedding Move from implemented proposals
* Remove Move variant from CI
* Remove move_loader ID
2020-07-23 15:08:59 -06:00
Tyera Eulberg
6de8da05e3
Skip entrypoint in programs ( #11176 )
2020-07-23 19:44:59 +00:00
Michael Vines
a5dd848702
getEpochInfo RPC endpoint now includes the current block height
2020-07-21 17:24:07 -07:00
Tyera Eulberg
231e2387db
Program feature-flag entrypoint ( #11144 )
2020-07-21 14:36:28 -06:00
Ryo Onodera
3db246f596
Add --warp-epoch and --force-inflation to ledger-tool cap. ( #11107 )
...
* Add --warp-epoch and --force-inflation to ledger-tool cap.
* Add more arguments
* Address review comments
* Fix message
* Fix various typos...
2020-07-20 19:09:38 +09:00
Michael Vines
e5d8c4383f
Add Bank support for "upgrade epochs" where all non-vote transactions will be rejected
2020-07-17 08:48:42 -07:00
Aaron Hill
95490ff56e
Apply #![feature(proc_macro_hygiene)] when needed
...
This allows the rust-bpf-builder toolchain to build the sdk
2020-07-14 14:40:02 -07:00
Aaron Hill
e7387f60a7
Fix clippy lints
2020-07-14 14:40:02 -07:00
Aaron Hill
fed69e96a9
Split comment over multiple lines
...
Due to https://github.com/rust-lang/rustfmt/issues/4325 , leaving this as
one line causes rustfmt to add extra indentation to the surrounding
code.
2020-07-14 14:40:02 -07:00
Aaron Hill
b0cb2b0106
Replace FIXME with an issue link
2020-07-14 14:40:02 -07:00
Aaron Hill
05445c718e
Fix hygiene issues in `declare_program!` and `declare_loader!`
...
The `declare_program!` and `declare_loader!` macros both expand to
new macro definitions (based on the `$name` argument). These 'inner'
macros make use of the special `$crate` metavariable to access items in
the crate where the 'inner' macros is defined.
However, this only works due to a bug in rustc. When a macro is
expanded, all `$crate` tokens in its output are 'marked' as being
resolved in the defining crate of that macro. An inner macro (including
the body of its arms) is 'just' another set of tokens that appears in
the body of the outer macro, so any `$crate` identifiers used there are
resolved relative to the 'outer' macro.
For example, consider the following code:
```rust
macro_rules! outer {
() => {
macro_rules! inner {
() => {
$crate::Foo
}
}
}
}
```
The path `$crate::Foo` will be resolved relative to the crate that defines `outer`,
**not** the crate which defines `inner`.
However, rustc currently loses this extra resolution information
(referred to as 'hygiene' information) when a crate is serialized.
In the above example, this means that the macro `inner` (which gets
defined in whatever crate invokes `outer!`) will behave differently
depending on which crate it is invoked from:
When `inner` is invoked from the same crate in which it is defined,
the hygiene information will still be available,
which will cause `$crate::Foo` to be resolved in the crate which defines 'outer'.
When `inner` is invoked from a different crate, it will be loaded from
the metadata of the crate which defines 'inner'. Since the hygiene
information is currently lost, rust will 'forget' that `$crate::Foo` is
supposed to be resolved in the context of 'outer'. Instead, it will be
resolved relative to the crate which defines 'inner', which can cause
incorrect code to compile.
This bug will soon be fixed in rust (see https://github.com/rust-lang/rust/pull/72121 ),
which will break `declare_program!` and `declare_loader!`. Fortunately,
it's possible to obtain the desired behavior (`$crate` resolving in the
context of the 'inner' macro) by use of a procedural macro.
This commit adds a `respan!` proc-macro to the `sdk/macro` crate.
Using the newly-stabilized (on Nightly) `Span::resolved_at` method,
the `$crate` identifier can be made to be resolved in the context of the
proper crate.
Since `Span::resolved_at` is only stable on the latest nightly,
referencing it on an earlier version of Rust will cause a compilation error.
This requires the `rustversion` crate to be used, which allows conditionally
compiling code epending on the Rust compiler version in use. Since this method is already
stabilized in the latest nightly, there will never be a situation where
the hygiene bug is fixed (e.g. https://github.com/rust-lang/rust/pull/72121 )
is merged but we are unable to call `Span::resolved_at`.
2020-07-14 14:40:02 -07:00
dependabot-preview[bot]
5055028231
Bump serde_json from 1.0.54 to 1.0.56
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.54 to 1.0.56.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.54...v1.0.56 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 11:13:22 -07:00
Ryo Onodera
de379a8cd6
Ensure to digest non-empty snapshot_storages and add asserts ( #11021 )
...
* Add asserts to detect not-digestable example data
* Ensure to digest non-empty snapshot_storages
2020-07-13 15:58:34 +00:00
Kristofer Peterson
ed5a2f2a90
Fold bank serialisation into serde snapshot ( #10581 )
...
* Move bank (de)serialisation logic from bank and snapshot_utils to serde_snapshot.
Add sanity assertions between genesis config and bank fields on deserialisation.
Atomically update atomic bool in quote_for_specialization_detection().
Use same genesis config when restoring snapshots in test cases.
* Tidy up namings and duplicate structs to version
* Apply struct renames to tests
* Update abi hashes
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-07-13 23:00:59 +09:00
dependabot-preview[bot]
33f5c17e46
Bump generic-array from 0.14.1 to 0.14.3 ( #11010 )
...
* Bump generic-array from 0.14.1 to 0.14.3
Bumps [generic-array](https://github.com/fizyk20/generic-array ) from 0.14.1 to 0.14.3.
- [Release notes](https://github.com/fizyk20/generic-array/releases )
- [Changelog](https://github.com/fizyk20/generic-array/blob/master/CHANGELOG.md )
- [Commits](https://github.com/fizyk20/generic-array/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-07-12 20:59:05 -06:00
Jack May
f0b22b1b23
spl memo linking windows ( #11000 )
...
* Update spl-memo to fix windows linking error
* Only programs need the stubs
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-07-10 18:39:52 -07:00
dependabot-preview[bot]
841ecfd927
chore(deps): bump bincode from 1.2.1 to 1.3.1 ( #10867 )
...
* chore(deps): bump bincode from 1.2.1 to 1.3.1
Bumps [bincode](https://github.com/servo/bincode ) from 1.2.1 to 1.3.1.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
* Switch from deprecated method
* Add options to maintain behavior with bincode::options()
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-07-09 00:08:05 +00:00
Tyera Eulberg
1a6bbd2867
Limited Deserialize isn't limiting anything ( #10952 )
...
* Add failing test
* Use deserialize_from to enable limit
2020-07-08 15:54:42 -06:00
Greg Fitzgerald
119949d4d8
Add a default commitment-level ( #10935 )
2020-07-07 03:05:55 +00:00
Ryo Onodera
39b3ac6a8d
Introduce automatic ABI maintenance mechanism (2/2; rollout) ( #8012 )
...
* Introduce automatic ABI maintenance mechanism (2/2; rollout)
* Fix stable clippy
* Change to symlink
* Freeze abi of Tower
* fmt...
* Improve dev-experience!
* Update BankSlotDelta
$ diff -u /tmp/abi8/*7dg6BreYxTuxiVz6aLvk3p2Z7GQk2cJqfGvC9h4FAoSj* /tmp/abi8/*9chBcbXVJ4fK7uGgydQzam5aHipaAKFw6V4LDFpjbE4w*
--- /tmp/abi8/bank__BankSlotDelta_frozen_abi__test_abi_digest_7dg6BreYxTuxiVz6aLvk3p2Z7GQk2cJqfGvC9h4FAoSj 2020-06-18 18:01:22.831228087 +0900
+++ /tmp/abi8/bank__BankSlotDelta_frozen_abi__test_abi_digest_9chBcbXVJ4fK7uGgydQzam5aHipaAKFw6V4LDFpjbE4w 2020-07-03 15:59:58.430695244 +0900
@@ -140,7 +140,7 @@
field u8
primitive u8
field solana_sdk::instruction::InstructionError
- enum InstructionError (variants = 34)
+ enum InstructionError (variants = 35)
variant(0) GenericError (unit)
variant(1) InvalidArgument (unit)
variant(2) InvalidInstructionData (unit)
@@ -176,6 +176,7 @@
variant(31) CallDepth (unit)
variant(32) MissingAccount (unit)
variant(33) ReentrancyNotAllowed (unit)
+ variant(34) MaxSeedLengthExceeded (unit)
variant(9) CallChainTooDeep (unit)
variant(10) MissingSignatureForFee (unit)
variant(11) InvalidAccountIndex (unit)
* Fix some merge conflicts...
2020-07-06 20:22:23 +09:00
Jack May
52526a9bc2
Prevent stub inclusion when building shared objects ( #10875 )
2020-07-01 13:15:30 -07:00
Michael Vines
36f436c760
`genesis` subcommand now displays ticks per slot
2020-07-01 17:32:35 +00:00
Ryo Onodera
9f5bd5fe81
Expose SlotHistory::oldest() -> Slot ( #10799 )
2020-06-25 18:23:31 +09: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
d77818c18b
Pull program stubs into SDK ( #10704 )
2020-06-18 23:23:28 -07:00
Greg Fitzgerald
0550b893b0
Fix typos ( #10675 )
...
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-17 20:54:52 -07:00
Tyera Eulberg
f37d2d5a58
Add docs to declare_id macro ( #10671 )
2020-06-17 19:57:23 -06:00
Jack May
dac7dc2f10
Move types to more appropriate files ( #10638 )
2020-06-17 10:39:14 -07:00
Ryo Onodera
40ccade5cc
Update to rust 1.44.0 ( #10585 )
...
* Update rust 1.44.0
* Update rust nightly 1.46.0
* Update docs
* Fix clippy errors
* Compile all source code with stable and nightly
* Add another note
* script tweaks
* Fix a test...
* Add another workaround
* Add hack
* Increase timeout...
* Revert "Add hack"
This reverts commit 5960f087203be8792ec0728a6755288c317a2788.
* Revert "Add another workaround"
This reverts commit e14300d01ffd1b8e86e676662177545549b45c13.
* Require nightly rustfmt and use older nightly a bit
* Improve document a bit
* Revert now not-existing clippy check...
2020-06-17 01:32:16 +09:00
dependabot-preview[bot]
480f69cc5e
Bump serde from 1.0.111 to 1.0.112
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.111 to 1.0.112.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.111...v1.0.112 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 07:58:16 -07:00
R. M. Shea
48febf153b
Change documentation introduction to indicate Foundation IP transfer ( #10440 )
2020-06-13 14:41:05 -07:00
Jack May
b6a9573748
Route all loader messages to log collector ( #10528 )
2020-06-13 13:20:08 -07:00
Jack May
b03a347803
Document InvokeContext trait ( #10514 )
2020-06-11 15:31:13 -07:00
Greg Fitzgerald
4131eee94d
Expose last-valid-slot to BankClient and ThinClient users ( #10478 )
...
automerge
2020-06-09 17:07:32 -07:00
dependabot-preview[bot]
a264a9dd0b
Bump serde_json from 1.0.53 to 1.0.54
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.53 to 1.0.54.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.53...v1.0.54 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-09 16:57:46 -07:00
Michael Vines
8e2745c2a2
Clean up delinquency slot distance computation
2020-06-09 11:27:30 -07:00
Kristofer Peterson
e23340d89e
Clippy cleanup for all targets and nighly rust (also support 1.44.0) ( #10445 )
...
* address warnings from 'rustup run beta cargo clippy --workspace'
minor refactoring in:
- cli/src/cli.rs
- cli/src/offline/blockhash_query.rs
- logger/src/lib.rs
- runtime/src/accounts_db.rs
expect some performance improvement AccountsDB::clean_accounts()
* address warnings from 'rustup run beta cargo clippy --workspace --tests'
* address warnings from 'rustup run nightly cargo clippy --workspace --all-targets'
* rustfmt
* fix warning stragglers
* properly fix clippy warnings test_vote_subscribe()
replace ref-to-arc with ref parameters where arc not cloned
* Remove lock around JsonRpcRequestProcessor (#10417 )
automerge
* make ancestors parameter optional to avoid forcing construction of empty hash maps
Co-authored-by: Greg Fitzgerald <greg@solana.com>
2020-06-09 09:38:14 +09:00
Jack May
97f9b63507
Improve BPF SDK dependency caching ( #10434 )
2020-06-08 09:20:12 -07:00
Michael Vines
7e2651ca51
RPC simulateTransaction endpoint now returns program log output ( #10432 )
2020-06-06 10:18:28 -07:00
Michael Vines
a4cd96609c
Add built-in programs to InvokeContext ( #10383 )
...
automerge
2020-06-03 12:48:19 -07:00
Ryo Onodera
e63e7937cb
Introduce automatic ABI maintenance mechanism (1/2; prepare) ( #10335 )
...
* Introduce automatic ABI maintenance mechanism
* Compile fix...
* Docs fix...
* Programs compilation fix...
* Simplify source credit
Co-authored-by: Michael Vines <mvines@gmail.com>
* Cargo.lock...
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-06-03 20:51:56 +09:00
dependabot-preview[bot]
f901571026
Bump serde from 1.0.110 to 1.0.111
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.110 to 1.0.111.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.110...v1.0.111 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 23:29:14 -07:00
Greg Fitzgerald
19d11800bf
Remove WithSigner ( #10325 )
...
automerge
2020-05-29 23:17:44 -07:00
Greg Fitzgerald
55a64712b9
Cleanup program docs ( #10283 )
2020-05-29 20:29:24 -06:00
Tyera Eulberg
b563b49ed5
Improve Rpc inflation tooling ( #10309 )
...
automerge
2020-05-29 11:50:25 -07:00
Kristofer Peterson
fb4d8e1f62
cleanup clippy tests ( #10172 )
...
automerge
2020-05-29 00:26:06 -07:00
Michael Vines
9eefb2c929
Bump version to 1.3.0
2020-05-28 15:01:13 -07:00
Ryo Onodera
34796d2c81
Include GenesisConfig inflation in Display ( #10282 )
...
automerge
2020-05-27 22:35:19 -07:00
Jack May
2ee0c48980
Program address nits ( #10261 )
...
automerge
2020-05-26 19:32:19 -07:00
Jack May
03abd3ddd7
Prevent privilege escalation ( #10232 )
...
automerge
2020-05-26 01:02:31 -07:00
Jack May
569e3cb46a
Use thiserror's display for TransactionError ( #10233 )
...
automerge
2020-05-25 16:13:09 -07:00
Jack May
27e3ee8799
Re-enable move in docker-solana ( #10214 )
2020-05-24 23:51:37 -07:00
dependabot-preview[bot]
8a8384e674
Bump sha2 from 0.8.1 to 0.8.2 ( #10205 )
...
* Bump sha2 from 0.8.1 to 0.8.2
Bumps [sha2](https://github.com/RustCrypto/hashes ) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.8.1...sha2-v0.8.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-05-24 19:44:04 -07:00
Tyera Eulberg
2928c5d103
Add SingleGossip commitment level to use for subscriptions ( #10147 )
...
automerge
2020-05-22 12:55:17 -07:00
sakridge
2324eb9ff9
Make slot history a billion times faster ( #10175 )
2020-05-22 11:15:16 -07:00
sakridge
ce17de7d25
Add option to wait for a specific epoch length to bench-tps ( #10083 )
2020-05-20 16:42:46 -07:00
Greg Fitzgerald
d9919b99d2
Remove folds ( #10128 )
...
automerge
2020-05-19 18:13:41 -07:00
Greg Fitzgerald
300b33a20e
Add unique_signers() to SDK ( #10105 )
...
automerge
2020-05-18 18:31:45 -07:00
Michael Vines
bbc549f592
Rename program_id to owner in system instructions ( #10069 )
2020-05-18 12:55:41 -07:00
Tyera Eulberg
bac4aec16f
Trigger RPC notifications after block commitment cache update ( #10077 )
...
* Fixup commitment-aggregation metric
* Trigger notifications after commitment-cache update
* Fixup fn name
* Add single-confirmation commitment level
* Rename to highest_confirmed_slot
* Pass commitment-cache info directly to notifications
* Use match
* Update commitment docs
* Update out of date pubsub docs
2020-05-18 12:49:01 -06:00
Greg Fitzgerald
5e89bd8868
Panic if no fee-payer found via Message::new() ( #10050 )
...
automerge
2020-05-15 12:23:09 -07:00
Kristofer Peterson
58ef02f02b
9951 clippy errors in the test suite ( #10030 )
...
automerge
2020-05-15 09:35:43 -07:00
Tyera Eulberg
63813fe69f
Add Ledger error codes ( #10056 )
...
automerge
2020-05-14 21:52:11 -07:00
Jack May
eb1acaf927
Remove archiver and storage program ( #9992 )
...
automerge
2020-05-14 18:22:47 -07:00
Tyera Eulberg
ed53a70b5c
Cli: transfer ALL; check spend+fee in client ( #10012 )
...
* lamports->SOL in user-facing error msg
* Check for sufficient balance for spend and fee
* Add ALL option to solana transfer
* Rework TransferAmount to check for sign_only in parse
* Refactor TransferAmount & fee-check handling to be more general
* Add addl checks mechanism
* Move checks out of cli.rs
* Rename to SpendAmount to be more general & move
* Impl ALL/spend helpers for create-nonce-account
* Impl spend helpers for create-vote-account
* Impl ALL/spend helpers for create-stake-account
* Impl spend helpers for ping
* Impl ALL/spend helpers for pay
* Impl spend helpers for validator-info
* Remove unused fns
* Remove retry_get_balance
* Add a couple unit tests
* Rework send_util fn signatures
2020-05-14 12:24:14 -06:00
Jack May
c5460e7fee
Remove inline from all BPF C functions ( #10038 )
2020-05-13 17:23:39 -07:00
Ryo Onodera
1eb40c3fe0
Introduce eager rent collection ( #9527 )
...
* Switch AccountsIndex.account_maps from HashMap to BTreeMap
* Introduce eager rent collection
* Start to add tests
* Avoid too short eager rent collection cycles
* Add more tests
* Add more tests...
* Refacotr!!!!!!
* Refactoring follow up
* More tiny cleanups
* Don't rewrite 0-lamport accounts to be deterministic
* Refactor a bit
* Do hard fork, restore tests, and perf. mitigation
* Fix build...
* Refactor and add switch over for testnet (TdS)
* Use to_be_bytes
* cleanup
* More tiny cleanup
* Rebase cleanup
* Set Bank::genesis_hash when resuming from snapshot
* Reorder fns and clean ups
* Better naming and commenting
* Yet more naming clarifications
* Make prefix width strictly uniform for 2-base partition_count
* Fix typo...
* Revert cluster-dependent gate
* kick ci?
* kick ci?
* kick ci?
2020-05-13 16:22:14 +09:00
Justin Starry
5cc252d471
Remove hash field from account ( #9915 )
2020-05-12 23:39:46 +08:00
Jack May
97e17f9b32
Programs can only sign their accounts
2020-05-11 09:06:05 -07:00
dependabot-preview[bot]
288c9751c1
Bump serde from 1.0.106 to 1.0.110 ( #9964 )
...
* Bump serde from 1.0.106 to 1.0.110
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.106 to 1.0.110.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.106...v1.0.110 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-05-10 16:24:25 -07:00
dependabot-preview[bot]
0541431ea8
Bump serde_json from 1.0.52 to 1.0.53 ( #9957 )
...
* Bump serde_json from 1.0.52 to 1.0.53
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.52 to 1.0.53.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.52...v1.0.53 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-05-10 11:46:29 -07:00
Tyera Eulberg
3ee702a922
Rpc: Add getCirculatingSupply endpoint, redux ( #9953 )
...
* Add Bank.clock() helper
* Add non-circulating calculations
* Plumb getSupply rpc endpoint
* Add docs for getSupply, and remove getTotalSupply from docs
* Add pubkeys! procedural macro
* Use procedural macro in non_circulating_supply
2020-05-09 12:05:29 -06:00
sakridge
f37f83fd12
Fuzzer test and fixes ( #9853 )
2020-05-02 08:07:52 -07:00
sakridge
894549f002
Put empty accounts in the accounts list on load ( #9840 )
...
Indexing into accounts array does not match account_keys otherwise.
Also enforce program accounts not at index 0
Enforce at least 1 Read-write signing fee-payer account.
2020-05-01 17:23:33 -07:00
Michael Vines
8dfe0affd4
Add incinerator sysvar ( #9815 )
2020-04-30 22:04:08 -07:00
Jack May
7678af6300
Cleanup BPF helper symbols ( #9804 )
2020-04-30 11:29:11 -07:00
Jack May
de9d8cd849
Rename BPF helper to syscall ( #9819 )
...
automerge
2020-04-30 01:43:11 -07:00
Tyera Eulberg
6deaf649ef
Add commitment Root variant, and add fleshed out --commitment arg to Cli ( #9806 )
...
automerge
2020-04-29 21:55:33 -07:00
anatoly yakovenko
a0514eb2ae
thiserror, docs, remove general Failure case ( #9741 )
...
automerge
2020-04-29 18:12:51 -07:00
Jack May
1018807db9
Bump Rust-BPF version to be interoperable with latest Rust ( #9783 )
...
automerge
2020-04-28 23:47:59 -07:00
Jack May
b26c07b788
Fix BPF tool caching ( #9781 )
...
automerge
2020-04-28 21:06:04 -07:00
Stephen Akridge
eb24f3df84
Update dalek version
2020-04-28 21:02:47 -06:00
Jack May
d836dfff14
Fix bpf unit test linkage ( #9780 )
...
automerge
2020-04-28 19:41:08 -07:00
Jack May
068f12fd6f
Add Cross-program invocations ( #9582 )
2020-04-28 14:33:56 -07:00
Michael Vines
063f616a19
Don't --use-move
2020-04-28 12:47:31 -07:00
dependabot-preview[bot]
659e87703b
Bump generic-array from 0.13.2 to 0.14.1 ( #9446 )
...
* Bump generic-array from 0.13.2 to 0.14.1
Bumps [generic-array](https://github.com/fizyk20/generic-array ) from 0.13.2 to 0.14.1.
- [Release notes](https://github.com/fizyk20/generic-array/releases )
- [Changelog](https://github.com/fizyk20/generic-array/blob/master/CHANGELOG.md )
- [Commits](https://github.com/fizyk20/generic-array/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
* Optional generic-array
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Jack May <jack@solana.com>
2020-04-28 09:43:48 -07:00
Jack May
efad193180
Make default programs static ( #9717 )
2020-04-27 21:05:12 -07:00
anatoly yakovenko
193dbb1794
sanitize lowest slots ( #9747 )
2020-04-27 20:22:30 -07:00
Michael Vines
c11abf88b7
Clean up `use` to keep rust 1.43.0 from complaining ( #9740 )
2020-04-27 16:54:11 -07:00
Michael Vines
839ff51b9a
Fix build
2020-04-27 12:26:23 -07:00
anatoly yakovenko
8ef097bf6f
Input values are not sanitized after they are deserialized, making it far too easy for Leo to earn SOL ( #9706 )
...
* sanitize gossip protocol messages
* sanitize transactions
* crds protocol sanitize
2020-04-27 11:06:00 -07:00
Greg Fitzgerald
76b1c2baf0
One less alloc per transaction ( #9705 )
...
* One less alloc per transaction
* Fix benches
* Fix compiler warnings in bench build
* Fix move build
* Fix bench
2020-04-24 13:03:46 -06:00
dependabot-preview[bot]
64e5684d45
Bump bs58 from 0.3.0 to 0.3.1
...
Bumps [bs58](https://github.com/mycorrhiza/bs58-rs ) from 0.3.0 to 0.3.1.
- [Release notes](https://github.com/mycorrhiza/bs58-rs/releases )
- [Commits](https://github.com/mycorrhiza/bs58-rs/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 08:07:00 -07:00
Jack May
d08517db8c
Nit picks ( #9580 )
2020-04-18 22:39:08 -07:00
Michael Vines
47ae57610a
Only build x86_64-unknown-linux-gnu on docs.rs
2020-04-16 19:06:17 -07:00
Jack May
241a05fc52
Add native loader entry points ( #9486 )
2020-04-15 09:41:29 -07:00
Jack May
6e1ce5ab6c
Safer cargo command ( #9437 )
2020-04-10 15:44:24 -07:00
Jack May
ad0482be73
Revert "Add native loader entry points ( #9275 )" Breaks genesis_config abi ( #9377 )
...
This reverts commit ed86d8d1fc
.
2020-04-08 14:36:18 -07:00
Michael Vines
b4e00275b2
Cache downloads to speed up CI
2020-04-06 22:53:19 -07:00
dependabot-preview[bot]
62cb2cd13c
Bump serde_json from 1.0.49 to 1.0.51
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.49 to 1.0.51.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.49...v1.0.51 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-06 08:40:55 -07:00
dependabot-preview[bot]
8cdf406dd3
Bump serde from 1.0.105 to 1.0.106
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.105 to 1.0.106.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.105...v1.0.106 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-04 15:13:52 -07:00
Jack May
ed86d8d1fc
Add native loader entry points ( #9275 )
2020-04-03 17:40:59 -07:00
Jack May
c67e9fabc4
Nit: ProgramError cleanup ( #9273 )
...
automerge
2020-04-02 17:46:51 -07:00
Jack May
9aab0b9388
More custom error rename ( #9227 )
...
automerge
2020-04-01 11:13:31 -07:00
Jack May
268e04cb4a
Rename CustomError to Custom ( #9207 )
2020-04-01 09:01:11 -07:00
Jack May
74774dd44f
Add program_error conversions ( #9203 )
2020-03-31 19:56:09 -07:00
Jack May
93be7370d9
Nit: print program error as hex ( #9171 )
2020-03-31 10:08:07 -07:00
Jack May
130c0b484d
Enforce an executable's rent exemption in the runtime ( #9134 )
2020-03-31 10:07:38 -07:00
dependabot-preview[bot]
2ed3e2160d
Bump serde_json from 1.0.48 to 1.0.49 ( #9139 )
...
* Bump serde_json from 1.0.48 to 1.0.49
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.48 to 1.0.49.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.48...v1.0.49 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* Update serde_json in programs
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Justin Starry <justin@solana.com>
2020-03-28 12:19:40 -07:00
Michael Vines
d7fa40087c
Bump version to 1.2.0
2020-03-28 09:44:13 -07:00
Jack May
e2491c6322
Prevent add/subtract from executable account ( #9132 )
2020-03-27 16:43:25 -07:00
Jack May
8d4cecdb77
Account data may not change once the executable bit is set ( #9099 )
...
automerge
2020-03-26 17:10:11 -07:00
Jack May
30bed18b77
Install xargo using CI dictated cargo version if available ( #9068 )
2020-03-26 11:47:41 -07:00
Justin Starry
ef3af104ae
Return appropriate error for invalid program account ( #9047 )
...
automerge
2020-03-25 13:23:05 -07:00
Justin Starry
c558db2a48
Fix xargo to version 0.3.19 to avoid unstable feature ( #9065 )
...
automerge
2020-03-25 08:43:36 -07:00
Jack May
fee002382e
Program address generator ( #8995 )
2020-03-23 12:38:56 -07:00
Jack May
271e17547a
Nit thiserror for pubkey ( #8994 )
...
automerge
2020-03-20 18:07:37 -07:00
Jack May
e28368ff1b
Move address creation with seed into pubkey ( #8991 )
2020-03-20 15:20:48 -07:00
dependabot-preview[bot]
24d871b529
Bump serde from 1.0.104 to 1.0.105 ( #8954 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.104 to 1.0.105.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.104...v1.0.105 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-18 22:35:30 -07:00
dependabot-preview[bot]
2dc50cff5b
Bump bv from 0.11.0 to 0.11.1 ( #8952 )
...
automerge
2020-03-18 21:37:21 -07:00
Trent Nelson
98228c392e
CLI: Add multi-session signing support ( #8927 )
...
* SDK: Add `NullSigner` implementation
* SDK: Split `Transaction::verify()` to gain access to results
* CLI: Minor refactor of --sign_only result parsing
* CLI: Enable paritial signing
Signers specified by pubkey, but without a matching --signer arg
supplied fall back to a `NullSigner` when --sign-only is in effect.
This allows their pubkey to be used for TX construction as usual,
but leaves their `sign_message()` a NOP. As such, with --sign-only
in effect, signing and verification must be done separately, with
the latter's per-signature results considered
* CLI: Surface/report missing/bad signers to user
* CLI: Suppress --sign-only JSON output
* nits
* Docs for multi-session offline signing
2020-03-18 20:49:38 -07:00
Jack May
f192e4f08f
Nit: Align Rust and C names ( #8918 )
2020-03-17 19:37:16 -07:00
Jack May
668dfc40c7
Align C and Rust handling of AccountInfos ( #8906 )
2020-03-17 12:34:14 -07:00
Trent Nelson
fbf2dd1672
CLI: Error message cleanup ( #8804 )
...
automerge
2020-03-12 23:20:49 -07:00
Jack May
deaf3cb416
Instruction member function ( #8801 )
2020-03-12 09:08:39 -07:00
Jack May
6eb4973780
Don't use move semantics if not needed ( #8793 )
2020-03-11 14:37:23 -07:00
dependabot-preview[bot]
f88b79d42b
Bump itertools from 0.8.2 to 0.9.0 ( #8756 )
...
Bumps [itertools](https://github.com/bluss/rust-itertools ) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/bluss/rust-itertools/releases )
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bluss/rust-itertools/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-10 08:42:11 -06:00
carllin
9872430bd2
Add VoteTracker for tracking cluster's votes in gossip ( #8327 )
...
Track votes by slot in cluster_vote_listener
2020-03-09 22:03:09 -07:00
dependabot-preview[bot]
fad08a19cc
Bump serde_json from 1.0.46 to 1.0.48 ( #8260 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.46 to 1.0.48.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.46...v1.0.48 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-09 20:20:19 -06:00
Greg Fitzgerald
97b6c41d42
Fix typos in error messages ( #8726 )
...
automerge
2020-03-09 10:12:42 -07:00
dependabot-preview[bot]
6d0f3762b2
Bump hex from 0.4.1 to 0.4.2 ( #8725 )
...
Bumps [hex](https://github.com/KokaKiwi/rust-hex ) from 0.4.1 to 0.4.2.
- [Release notes](https://github.com/KokaKiwi/rust-hex/releases )
- [Commits](https://github.com/KokaKiwi/rust-hex/compare/v0.4.1...v0.4.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-03-09 09:23:54 -06:00
Trent Nelson
4db074a5aa
RPC: Add `getFeeCalculatorForBlockhash` method call ( #8687 )
...
Returns the `FeeCalculator` associated with the given blockhash, or
`null` if said blockhash has expired
2020-03-06 17:01:31 -07:00
Greg Fitzgerald
2242b1b4a5
Bump byteorder from 1.3.2 to 1.3.4 ( #8159 )
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.3.2 to 1.3.4.
- [Release notes](https://github.com/BurntSushi/byteorder/releases )
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.3.2...1.3.4 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-05 17:07:18 -07:00
Grimes
9d667db634
SDK: Allow `RecentBlockhashes` to hold the entire `BlockhashQueue` ( #8632 )
...
automerge
2020-03-05 11:03:21 -08:00
Jack May
5e3ce30d02
Pass the correct program_id to programs ( #8630 )
2020-03-05 10:57:35 -08:00
Jack May
97c5fb8141
Allow passing of program_ids to programs ( #8639 )
2020-03-05 10:57:12 -08:00