Tyera Eulberg
03d3ae1cb9
Faucet: repurpose cap and slice args to apply to single IPs ( #16381 )
...
* Single use stmt
* Log request IP
* Switch cap and slice to apply per IP
* Use SOL in logs, error msgs
* Use thiserror instead of overloading io::Error
* Return memo transaction for requests that exceed per-request-cap
* Handle faucet memos in cli
* Add some docs, esp about memo transaction
* Use SOL symbol & standardize memo
Co-authored-by: Michael Vines <mvines@gmail.com>
* Differentiate faucet tx-length errors
* Populate signature in cli airdrop memo case
Co-authored-by: Michael Vines <mvines@gmail.com>
2021-04-06 07:01:05 +00:00
Tyera Eulberg
ae7bc8299d
Use spl-memo v3.0.1 ( #16384 )
...
* Use memo v3.0.1, which simplifies id imports
* tree
2021-04-06 02:06:44 +00:00
Michael Vines
9360e57816
Fix build
2021-04-05 17:12:31 -07:00
Michael Vines
a4f0d8636a
RpcClient no longer panics in a tokio multi-threaded runtime
2021-04-05 16:50:03 -07:00
bji
364af3a3e0
issue #10831 : added --with-memo option to all cli commands that submit ( #16291 )
...
* issue #10831 : added --with-memo option to all cli commands that submit
transactions. Also, improve the block command to show UTF-8 string instead
of integer values for memo program data.
* Fixed tests and changed some syntax according to feedback.
* Use spl_memo id (all versions where applicable) instead of hardcoding id.
* Update Cargo.toml in programs/bpf.
* Update formatting via cargo fmt.
* Update to use spl_memo version 3.0.1, which simplifies package imports
2021-04-05 20:53:50 +00:00
Dmitri Makarov
1359bceb5d
Bump bpf-tools to version v1.5 ( #16331 )
...
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.
2021-04-04 13:04:22 +00:00
Jack May
dee655df35
Cleanup use ( #16327 )
2021-04-02 08:54:09 -07:00
Tyera Eulberg
a902505810
Parse SPL associated-token-account instructions ( #16318 )
2021-04-01 22:48:05 +00:00
behzad nouri
3f63ed9a72
removes OrderedIterator and transaction batch iteration order ( #16153 )
...
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.
2021-03-31 23:59:19 +00:00
Jack May
ad7f8e7f23
Use more performant copy ( #16282 )
2021-03-31 16:52:58 -07:00
Jack May
f84e88f0a2
Cleanup nits ( #16211 )
2021-03-30 12:16:21 -07:00
sakridge
54c68ea83f
Drop write lock on sysvars ( #15497 )
...
* 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>
2021-03-30 10:05:09 -07:00
Jeff Washington (jwash)
f4f2e781ff
get rid of data copy ( #16210 )
...
* get rid of data copy
* format
2021-03-30 10:33:46 -05:00
Dmitri Makarov
658ddd1c9c
Bump bpf-tools to version v1.4 ( #16152 )
2021-03-26 19:21:41 +00:00
Justin Starry
e817a6db00
Add timeout for local cluster partition tests ( #16123 )
...
* Add timeout for local cluster partition tests
* fix optimistic conf test logs
* Bump instruction count assertions
2021-03-25 13:27:07 -06:00
Jeff Washington (jwash)
66c42f62d8
make AccountSharedData.data private to abstract storage ( #16091 )
...
* format
* 2 more tests
* use
2021-03-25 11:04:20 -05:00
Ryo Onodera
6d5c6c17c5
Simplify account.rent_epoch handling for sysvar rent ( #16049 )
...
* Add some code for special local testing
* Add comment to store_account_and_update_capitalization
* Simplify account.rent_epoch handling for sysvar rent
* Introduce *_for_test functions
* Add deprecation messages to existing api
2021-03-25 15:23:20 +09:00
Dmitri Makarov
664ed76523
Bump bpf-tools to version v1.3 ( #16068 )
...
* Bump bpf-tools to version v1.3
This brings in the fix for increased compute budget that wasn't caught
when bpf-tools v1.2 were released.
* Adjust BPF test programs instruction counts
2021-03-24 07:16:38 +00:00
Jeff Washington (jwash)
2d24d13046
AccountsSharedData: data copy on write ( #15800 )
...
* Arc<AccountData>
* try custom serializer
* adapt test from Behzad's change
* clippy
* simplify serialization
* remove abi example derive
* refactor 'take'
* remove serialization
* remove serialize calls
* remove account_data
* remove intos
* remove left over file
2021-03-23 15:19:31 -05:00
Jeff Washington (jwash)
6f5d8d18e9
remove new alloc on deserialization ( #15636 )
2021-03-23 14:52:59 -05:00
Jeff Washington (jwash)
64429104b1
account data.fill replacement ( #16037 )
2021-03-19 15:13:20 -05:00
Dmitri Makarov
14e45155e4
Bump bpf-tools to v1.2 and get rid of xargo
2021-03-19 12:09:15 +01:00
Michael Vines
02b81dd05d
Update to reqwest 0.11.2
2021-03-18 11:59:41 -07:00
Jack May
7f500d610c
Add Close instrruction and tooling to upgradeable loader ( #15887 )
2021-03-17 21:39:29 -07:00
Jeff Washington (jwash)
d30c9ef351
refactor test truncate data ( #15851 )
...
* refactor test truncate data
* retain existing behavior
2021-03-17 15:09:26 -05:00
Trent Nelson
672e9c640f
CLI: Support dumping the TX message in sign-only mode
2021-03-16 19:20:54 -06:00
Jeff Washington (jwash)
806bfdd67b
set_data_from_slice ( #15854 )
...
* data_ensure_equal_to_slice
* rename and change to copy
2021-03-16 16:56:26 -05:00
Michael Vines
a2eb655322
=1.7.0
2021-03-16 07:51:07 +00:00
Jack May
ad9901d7c6
Charge compute budget for bytes passed via cpi ( #15874 )
2021-03-15 22:41:44 -07:00
Michael Vines
0c9ca5522c
Bump version to v1.7.0
2021-03-13 09:01:21 +00:00
Jack May
cc38ae72e7
Skip deserialization of readonly accounts ( #15813 )
2021-03-11 19:28:21 -08:00
Jeff Washington (jwash)
952c3bcbb7
AccountSharedData construction ( #15790 )
2021-03-11 18:09:04 -06:00
Jeff Washington (jwash)
3419a5446e
AccountSharedData.set_data ( #15781 )
...
* account.set_data and resize_data
* remove data_resize
2021-03-11 16:40:45 -06:00
Michael Vines
1061d021c9
Unpack snapshot AppendVecs directly into account paths
2021-03-11 08:25:24 -08:00
Trent Nelson
24d18b3cf2
docs: add docs links for crates published to crates.io
2021-03-11 08:38:18 +00:00
Jack May
478518308d
Share RO and Executable accounts within invocations ( #15799 )
2021-03-10 23:04:00 -08:00
Jeff Washington (jwash)
1135ffd595
mut data refs as slice ( #15782 )
2021-03-10 15:28:03 -06:00
Jack May
369e13b111
cleanup old runtime features ( #15787 )
2021-03-10 09:48:41 -08:00
Dmitri Makarov
c5a5d7457e
Bump bpf-tools to v1.1 ( #15776 )
2021-03-10 18:13:38 +01:00
Jeff Washington (jwash)
52e54e1100
account.data -> data() ( #15778 )
2021-03-09 22:31:33 +00: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
dependabot-buildkite
ee621878b0
[auto-commit] Update all Cargo lock files
2021-03-05 09:06:36 -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
Jeff Washington (jwash)
be35c1c1b7
add execute detail timings ( #15638 )
2021-03-03 17:07:45 -06:00
Yang Hau
6acb06f8d8
refactor: Use UINT64_MAX to replace hardcoded number ( #15676 )
2021-03-03 17:16:18 +00:00
Jack May
d73af9c1dd
cli: don't overallocate upgradeable buffer accounts ( #15603 )
2021-03-02 00:45:53 -08:00
Tyera Eulberg
acf5e4e219
Update Cargo.lock
2021-03-02 00:53:14 -07:00
Jack May
3cd00965a7
Enable BPF program instruction traces ( #15613 )
2021-03-01 23:11:58 -08:00
Trent Nelson
ef63ffce7d
Bump ed25519-dalek to 1.0.1
2021-03-01 21:10:46 +00:00
sakridge
8399851d11
check program owners ( #15495 )
...
* check program owners
* BankSlotDelta should change because InstructionError variant added
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-02-26 22:21:34 +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
Jon Cinque
ebd43938a7
docs: Update stake merging documentation ( #15489 )
...
* Update stake merging documentation
* Integrate review feedback
* Integrate review feedback in comment too
2021-02-25 17:24:39 +01:00
Tyera Eulberg
eddb7f98f5
Check vote account initialization ( #15503 )
...
* Check account data_len on Vote account init
* Check account data populated on update_cached_accounts
2021-02-24 10:00:48 -07:00
Jack May
cf4e31964b
Remove limit on program size related to feature cleanup ( #15493 )
2021-02-23 20:54:18 +00:00
Michael Vines
8680a46458
Transition config program over to ic_msg() logging
2021-02-22 20:19:04 -08:00
Michael Vines
5df36aec7d
Pacify clippy
2021-02-19 20:08:41 -08:00
Justin Starry
15bbe6436d
Bump SPL token version to v3.1.0 ( #15429 )
...
* Bump SPL token version to v3.1.0
* Cargo.lock
2021-02-19 09:15:41 +00: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
Trent Nelson
7f7370c306
Re-allow clippy::integer_arithmetic at crate-level
2021-02-17 13:55:08 -07:00
Michael Vines
9ba69a7381
Adapt to fs_extra 1.2.0
2021-02-17 12:44:58 -08:00
Jon Cinque
3ac7e09de6
docs: Remove references to "create_address_with_seed" ( #15339 )
2021-02-17 14:25:02 +01:00
Tyera Eulberg
51c27dcc1c
Clean & check stake ( #15363 )
...
* Add failing test
* Fix test
* Clean up redendant if case
* Demonstrate withdrawal boundaries
* Update test to fail on conditions that should be acceptable
* Fix test
* Add test for larger stake source
* Mirror changes for undelegated accounts
* Extra stake checks
* Split accounts must be the right size
Co-authored-by: Stephen Akridge <sakridge@gmail.com>
2021-02-17 03:42:46 +00:00
Tyera Eulberg
7e17a0d3bb
Move fn to sdk
2021-02-16 19:25:00 -08:00
Stephen Akridge
f929301c60
Vote program updates
2021-02-16 18:59:15 -08:00
Trent Nelson
b3256aa722
Bump rand_core to 0.6.2
...
https://rustsec.org/advisories/RUSTSEC-2021-0023
2021-02-15 22:51:35 +00:00
Trent Nelson
ae82b5ebfd
stake: add lamports overflow test for withdraw
2021-02-15 11:09:51 -07:00
Alexander Meißner
b43d2bc882
rbpf-v0.2.5 ( #15334 )
2021-02-15 18:27:41 +01:00
sakridge
08f94a2bd2
Stake program update ( #15307 )
2021-02-12 17:24:43 -08:00
Ryo Onodera
4e99aa5fa6
More failure codepath tracing ( #15246 )
2021-02-12 15:24:23 +09:00
Jack May
6650fbf443
Add per-byte logging cost ( #15279 )
2021-02-12 00:55:17 +00:00
Ryo Onodera
ab0f4c69aa
Improve vote-account for logical flow/reasoning ( #15237 )
...
* Improve vote-account for logical flow/reasoning
* Clean up
* Update messages
2021-02-11 21:24:20 +09:00
Jack May
10abd199e1
Match BPF instruction reporting to dump file ( #15254 )
2021-02-11 00:48:19 +00:00
Michael Vines
47578895e1
Increment hyper versions to pacify cargo audit ( #15171 )
2021-02-05 23:14:05 -08:00
Michael Vines
dc7041ba07
Require lockup authority to change withdraw authority on locked stake ( #14861 )
2021-02-05 22:40:07 -08:00
Ryo Onodera
c69027e5aa
chore: bump serde from 1.0.118 to 1.0.122 ( #15126 )
...
* chore: bump serde from 1.0.118 to 1.0.122
* Update programs/bpf/Cargo.lock
2021-02-05 19:23:24 +09:00
Tyera Eulberg
d1563f0ccd
Bump tonic, prost, tarpc, tokio ( #15013 )
...
* Update tonic & prost, and regenerate proto
* Reignore doc code
* Revert pull #14367 , but pin tokio to v0.2 for jsonrpc
* Bump backoff and goauth -> and therefore tokio
* Bump tokio in faucet, net-utils
* Bump remaining tokio, plus tarpc
2021-02-05 00:21:53 -07:00
Mrmaxmeier
ebbaa1f8ea
Fix integer overflow in degenerate invoke_signed BPF syscalls ( #15051 )
2021-02-03 13:32:38 -08:00
Jack May
02a5f7104a
Fix which shared object the test uses ( #15060 )
2021-02-03 13:31:55 -08:00
Jack May
d24d5fba0e
Upgradeable loader max_data_len limit ( #15039 )
2021-02-03 09:16:25 -08:00
Tyera Eulberg
98aa1fa4ea
Upgrade jsonrpc crates to v17.0.0 ( #15018 )
...
* Upgrade to jsonrpc 17.0.0
* Fix test
* tree
Co-authored-by: Michael Vines <mvines@gmail.com>
2021-02-02 19:53:08 -07:00
Trent Nelson
a2aea0ca33
cli-output: Add option sigverify status to `println_transaction()` output
2021-02-02 18:44:22 +00:00
dependabot[bot]
1df93fa2be
chore: bump serde from 1.0.112 to 1.0.118 ( #14828 )
...
* chore: bump serde from 1.0.112 to 1.0.122
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.112 to 1.0.122.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.112...v1.0.122 )
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
* Update frozen_abi digest following serde update
* Revert "chore: bump serde from 1.0.112 to 1.0.122"
This reverts commit a3ef4442a4c985144ae2bd7ceaf8899a7ab8d7c0.
* Revert "[auto-commit] Update all Cargo lock files"
This reverts commit c41c3b005fb1ccade55155302c52cd5736c4b55f.
* chore: bump serde from 1.0.112 to 1.0.118
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.112 to 1.0.118.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.112...v1.0.118 )
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
* Remove serum-dex pinning
* blind commit!
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: Ryo Onodera <ryoqun@gmail.com>
2021-02-02 23:28:16 +09:00
Tyera Eulberg
34dfcc9c6f
Parse SPL Memo v3 ( #14979 )
...
* Parse memo v3 too
* tree
2021-02-02 04:02:57 +00:00
Jack May
73d9186502
More rich runtime logging ( #14938 )
2021-02-01 11:40:49 -08: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
2ca0872a98
nit: message doesn't represent ( #14893 )
2021-01-27 17:21:45 -08:00
Jack May
63429507b2
Add syscall feature activation test ( #14890 )
2021-01-27 17:21:25 -08:00
Alexander Meißner
7686b70381
Bumps RBPF to v0.2.4 ( #14865 )
2021-01-26 14:45:03 -08:00
Michael Vines
ff22091a98
Add StakeInstruction::Merge logging
2021-01-26 11:52:39 -08:00
Michael Vines
119e2c75dd
cli now supports a custodian for stake authorize operations
2021-01-26 11:48:28 -08:00
Jack May
e57b9c3b02
Add more upgradeable tests ( #14846 )
2021-01-25 21:04:59 -08:00
Michael Vines
8359f4f5ff
Include Clock sysvar in AuthorizeWithSeed instruction
2021-01-25 19:38:10 -08:00
Michael Vines
2b50433099
Remove legacy_stake program
2021-01-25 19:34:40 -08:00
sakridge
191193289f
Upgrade sha2 to 0.9.3 ( #14746 )
2021-01-22 22:25:22 -08:00
Jack May
77572a7c53
Track account writable deescalation ( #14626 )
2021-01-22 15:28:01 -08:00
Michael Vines
3c6dbd21d2
Add ic_msg()/ic_logger_msg() macros
2021-01-21 21:41:33 +00:00
behzad nouri
d52c94a366
adds missing block_time field ( #14743 )
2021-01-21 18:29:48 +00:00
behzad nouri
8e581601d6
patches crds vote-index assignment bug ( #14438 )
...
If tower is full, old votes are evicted from the front of the deque:
https://github.com/solana-labs/solana/blob/2074e407c/programs/vote/src/vote_state/mod.rs#L367-L373
whereas recent votes if expire are evicted from the back:
https://github.com/solana-labs/solana/blob/2074e407c/programs/vote/src/vote_state/mod.rs#L529-L537
As a result, from a single tower_index scalar, we cannot infer which crds-vote
should be overwritten:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/crds_value.rs#L576
In addition there is an off by one bug in the existing code. tower_index is
bounded by MAX_LOCKOUT_HISTORY - 1:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/consensus.rs#L382
So, it is at most 30, whereas MAX_VOTES is 32:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/crds_value.rs#L29
Which means that this branch is never taken:
https://github.com/solana-labs/solana/blob/2074e407c/core/src/crds_value.rs#L590-L593
so crds table alwasys keeps 29 **oldest** votes by wallclock, and then
only overrides the 30st one each time. (i.e a tally of only two most
recent votes).
2021-01-21 13:08:07 +00:00
Jack May
aa96ad042b
Add signer/writable de/escalation tests ( #14726 )
2021-01-21 09:19:46 +00:00
carllin
2745b79b74
Parallel cache scan ( #14544 )
...
* Parallel cache scan
* PR comments
* PR comments
Co-authored-by: Carl Lin <carl@solana.com>
2021-01-20 08:50:17 +00:00
Jack May
a480b63234
Bail on small deploy buffers ( #14677 )
2021-01-20 01:56:44 +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
dependabot[bot]
4ecc0f4fa6
chore: bump rayon from 1.4.1 to 1.5.0 ( #14177 )
...
* chore: bump rayon from 1.4.1 to 1.5.0
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.4.1...rayon-core-v1.5.0 )
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2021-01-15 18:07:35 +09: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
Alexander Meißner
0d26cb6d37
Bump RBPF version to v0.2.3
2021-01-11 21:29:00 -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
9d53eca6e3
Report correct program id ( #14486 )
2021-01-08 14:43:24 -08:00
Michael Vines
21a0a83543
Bump smallvec version
2021-01-08 20:20:34 +00:00
Jack May
58487c6360
Add buffer authority to upgradeable loader ( #14482 )
2021-01-08 09:37:57 -08:00
Jack May
5eacc5d08d
Enable program upgrades via CPI ( #14449 )
2021-01-06 14:31:14 -08:00
Jack May
a8b5a32b50
Gate cpi program account passing ( #14443 )
2021-01-05 21:53:41 +00: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
2d8dacb72b
Gate CPI authorized programs ( #14361 )
2020-12-30 18:13:37 -08:00
Jack May
1c5427ff17
Remove assert ( #14356 )
2020-12-30 21:07:22 +00:00
Jack May
6c6095abe7
nit: clarify loader id ( #14355 )
2020-12-30 20:02:29 +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
Trent Nelson
50710473a8
Deinitialize stake data upon zero balance
2020-12-22 19:37:26 -07:00
Trent Nelson
db5bd6ea1a
Deinitialize vote data upon zero balance
2020-12-22 19:37:26 -07:00
Trent Nelson
5b903318b2
vote: Add helper for creating current-versioned states
2020-12-22 19:37:26 -07:00
Tyera Eulberg
7042f11791
Feature-gate stake-program-v3 ( #14232 )
...
* Remove deprecated legacy stake program
* Add legacy stake program
* Strip out duplicative legacy code
* Feature-deploy stake-program-v3
* Add ownership check in stake processor
2020-12-22 11:20:38 -07:00
Jack May
ab205b682a
Upgradeable programs called same as non-upgradeable ( #14239 )
...
* Upgradeable programs called same as non-upgradeable
* nudge
2020-12-22 09:26:55 -08:00
Jack May
e8cc0bef6c
Add CPI support for upgradeable loader ( #14193 )
2020-12-17 15:39:49 -08:00
Jack May
593ad80954
Fix program account rent exemption ( #14176 )
2020-12-17 09:02:31 +00:00
Jack May
49c3f14016
Remove lock files from programs/bpf/rust ( #14148 )
2020-12-16 02:14:04 -08:00
Jack May
025f886e10
check for resize access violations ( #14142 )
2020-12-15 23:21:08 -08:00
Michael Vines
1e977ac025
Bump version to v1.6.0
2020-12-15 18:28:04 +00:00
Jack May
d513b0c4ca
Add Program loader/environment instruction errors ( #14120 )
2020-12-15 09:54:07 -08:00
Jack May
ab98c1f2d4
Add try_find_program_address syscall ( #14118 )
2020-12-15 08:15:01 -08:00
Jack May
9e90394583
Upgradeable loader ( #13689 )
2020-12-14 15:35:10 -08:00
Michael Vines
7143aaa89b
Clippy
2020-12-14 08:03:29 -08:00
dependabot[bot]
88d950e5a8
chore: bump log from 0.4.8 to 0.4.11 ( #13691 )
...
* chore: bump log from 0.4.8 to 0.4.11
Bumps [log](https://github.com/rust-lang/log ) from 0.4.8 to 0.4.11.
- [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.8...0.4.11 )
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-12-13 13:48:23 +09:00
dependabot[bot]
8df9bcc784
chore: bump libc from 0.2.80 to 0.2.81 ( #14092 )
...
* chore: bump libc from 0.2.80 to 0.2.81
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.80 to 0.2.81.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.80...0.2.81 )
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-12-13 12:13:17 +09:00
dependabot[bot]
549a3107cb
chore: bump env_logger from 0.7.1 to 0.8.2 ( #14093 )
...
* chore: bump env_logger from 0.7.1 to 0.8.2
Bumps [env_logger](https://github.com/env-logger-rs/env_logger ) from 0.7.1 to 0.8.2.
- [Release notes](https://github.com/env-logger-rs/env_logger/releases )
- [Changelog](https://github.com/env-logger-rs/env_logger/blob/master/CHANGELOG.md )
- [Commits](https://github.com/env-logger-rs/env_logger/compare/v0.7.1...v0.8.2 )
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-12-13 05:59:54 +09:00
dependabot[bot]
a9185d4ea1
chore: bump rustversion from 1.0.3 to 1.0.4 ( #14022 )
...
* chore: bump rustversion from 1.0.3 to 1.0.4
Bumps [rustversion](https://github.com/dtolnay/rustversion ) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/dtolnay/rustversion/releases )
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.3...1.0.4 )
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2020-12-13 03:56:27 +09:00
Trent Nelson
546c6a4531
Override yanked miow crate to 0.2.2
2020-12-11 23:44:03 +00:00
Trent Nelson
277b6790c7
Override yanked net2 0.2.37
2020-12-11 23:44:03 +00:00
Trent Nelson
edff62af3d
Switch to memmap2 fork
2020-12-11 23:44:03 +00:00
Jack May
83fda2d972
Clean invoke in prep for native invoke ( #14055 )
2020-12-10 18:25:57 -08:00
Jack May
5ea80e673f
Fix priv escalation test ( #14046 )
2020-12-10 22:36:33 +00:00
Alexander Meißner
201637b326
Updates rbpf to v0.2.2 ( #14036 )
...
* Updates rbpf to v0.2.2
2020-12-10 16:32:54 +01:00
Jack May
e1a4251b07
Cap CPI signers ( #14021 )
2020-12-09 02:14:53 -08:00
Alexander Meißner
a706706572
Validator CLI option to enable just-in-time compilation of BPF ( #13789 )
...
* Adds a CLI option to the validator to enable just-in-time compilation of BPF.
* Refactoring to use bpf_loader_program instead of feature_set to pass JIT flag from the validator CLI to the executor.
2020-12-07 09:49:55 +01:00
Jack May
882d033233
Don't use stale executor cache ( #13966 )
2020-12-05 05:54:42 +00:00
Jack May
f1fd999bb0
Translate data length as mutable ( #13956 )
2020-12-04 05:47:22 +00:00
Jack May
661ca52135
Cap seeds not signers ( #13941 )
2020-12-03 09:58:25 -08:00
Jack May
1c51711c75
Invoke with empty account slice ( #13931 )
2020-12-03 07:06:26 -08:00
Jack May
3f841df7cf
Cap number of program address seeds ( #13924 )
2020-12-02 22:25:06 +00:00
Jack May
841c7a0f71
Cleanup memory translation APIs ( #13921 )
2020-12-02 20:03:36 +00:00
Jack May
85bec37be4
Translate data length and owner as writable ( #13914 )
2020-12-02 09:05:42 -08:00
Alexander Meißner
aebc3a17ce
Fix undefined symbol "custom panic" in BPF test programs ( #13840 )
...
* Implements missing "custom_panic" symbol
2020-12-01 16:52:20 +01:00
Jack May
733fcbaa6c
Check that the program was granted access to program_id ( #13890 )
2020-12-01 07:35:07 -08:00
Michael Vines
6705b5a98c
Add msg! macro for program logging, deprecate info! macro
2020-11-30 20:39:42 -08:00
Jack May
2d62f2ad03
Re-fix arithmetic overflow and add better test ( #13870 )
2020-11-30 22:39:03 +00:00
Jack May
40dd46680e
Cleanup bpf test's Cargo.toml files ( #13867 )
...
* Cleanup bpf test's Cargo.toml files
* lock file
2020-11-30 21:16:37 +00:00
Jack May
b47bd0a296
Add program id spoof tests ( #13866 )
2020-11-30 21:06:11 +00:00
Ryo Onodera
e81c2c826c
Don't reset credits_observed due to stale voters ( #13836 )
...
* Don't reset credits_observed due to stale voters
* Add tests
* Fix comment
2020-11-30 22:47:34 +09:00
Michael Vines
cc78667118
Record instructions after account translation
2020-11-28 10:54:09 -08:00
Ryo Onodera
6048342c57
Enhance ledger-tool for multi-epoch rewards ( #13837 )
...
* Support ledger-tool for multi-epoch rewards
* nits
* Ensure not to skip some records in csv
2020-11-27 04:20:47 +00:00
Ryo Onodera
42421e77a9
Add stake calculation tests with inflation/slashing ( #13605 )
...
* Add stake calculation tests with inflation/slashing
* Clean up the test
2020-11-25 12:49:35 +09:00
Alexander Meißner
c833ede4af
Rbpf v0.2.1 ( #13732 )
...
* Refactoring to match rbpf-v0.2.1 and add JIT compilation caching.
* Removes obsolete bpf-trace.py which has been replaced by the rbpf CLI tool.
2020-11-24 18:00:19 +01:00
Tyera Eulberg
e3a92d6905
Prevent splitting when either source or split stake will equal zero ( #13775 )
2020-11-24 02:48:56 +00:00
Trent Nelson
488ce982f0
stake: Disallow stakes merging with themselves
2020-11-23 14:32:02 -07:00
Trent Nelson
6b9a019c0a
stake: Remove disused test helper function
2020-11-23 14:32:02 -07:00
Trent Nelson
8e73187990
stake: Allow compatible, fully-active stake accounts to be merged
2020-11-23 14:32:02 -07:00
Trent Nelson
bb2772d068
stake: Cosmetic - rename variable
2020-11-23 14:32:02 -07:00
Trent Nelson
dc7f89715a
stake: De-replicode mergable info extraction
2020-11-23 14:32:02 -07:00
Tyera Eulberg
38a3ed96bb
Fail stake init if account data is the wrong size ( #13767 )
2020-11-23 20:13:38 +00:00
Tyera Eulberg
f0f99ffc7e
Cap split stake at source stake when splitting entire balance ( #13754 )
2020-11-23 10:11:10 -07:00
Ryo Onodera
3bc7d85986
ledger-tool cap: output credits_observed ( #13746 )
2020-11-21 16:13:07 +00:00
Trent Nelson
13aa38d307
stake: Don't pay out rewards for epochs where inflation was not enabled
2020-11-21 04:16:27 +00:00
sakridge
2cb006fa44
Use info for failed to match slot vote error ( #13715 )
2020-11-19 16:01:37 -08:00
Ryo Onodera
43d5e47ea9
Rewrite stake accounts for clear migration ( #13461 )
...
* Reduce overage stake by rewritng stake accounts
* Write tests and finish implemention
* Create and use new feature gate
* Clean up logging
* Fix typo
* Simplify enable_rewrite_stake
* Fix typo...
* Even simplify gating
* Add metrics
2020-11-20 05:15:06 +09:00
Jack May
15057b087c
Expand CPI returning error test ( #13672 )
2020-11-18 22:18:49 +00:00
Tyera Eulberg
39932d7664
Update Initialized split rent-exempt value ( #13646 )
2020-11-17 19:03:00 +00:00
Tyera Eulberg
a7bed62af0
Remove overflow opportunities ( #13649 )
2020-11-17 12:01:11 -07:00
Jack May
3a9dca0c67
Add back BPF error logging ( #13633 )
...
* Add back BPF error logging
* Update programs/bpf_loader/src/lib.rs
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-11-17 08:10:14 +00:00
Jack May
8c922a0198
fix arithmetic overflow in slice translation ( #13624 )
...
* fix arithmetic overflow in slice translation
* nudge
2020-11-17 00:13:01 +00:00
Ryo Onodera
2b3faa1947
Reject faked stake/vote accounts in stake mgmt. ( #13615 )
...
* Reject faked stake/vote accounts in stake mgmt.
* Use clearer name
2020-11-17 05:42:59 +09:00
Ryo Onodera
bcd303a447
ledger-tool cap: delegation owner and stake v2 flag ( #13602 )
...
* Output delegation owner as well
* Add --enable-stake-program-v2
* Small cleanup and add sanity assertion
* Fix typo...
2020-11-15 19:38:46 +00:00
Michael Vines
baa6b3a261
Add stable program logging for BPF and native programs
2020-11-14 08:26:01 -08:00
joshua-maros
a8a77614fe
Fix potential undefined behavior ( #13555 )
...
* Switch to ouroboros 0.5.1
* Update other lock files
2020-11-13 18:12:41 +09:00
Jack May
48dd9f7efd
Move secp256k1 instruction helper to the sdk ( #13560 )
2020-11-12 16:58:40 -08:00
Jack May
30ef53cb13
fix bpf lddw check ( #13554 )
2020-11-12 13:13:42 -08:00
Ryo Onodera
89b474e192
Fix slow/stuck unstaking due to toggling in epoch ( #13501 )
...
* Fix slow/stuck unstaking due to toggling in epoch
* nits
* nits
* Add stake_program_v2 feature status check to cli
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-11-11 14:11:57 -07:00
Jack May
461ae40eea
provide full Rust panic messages in BPF and add memory optimizations ( #13455 )
2020-11-09 13:40:26 -08:00
Ryo Onodera
5306eb93cc
Clean up Delegation::stake_activating_and_deactivating ( #13471 )
2020-11-09 17:39:56 +09:00
Ryo Onodera
737d3e376d
Clean up Delegation::stake_and_activating ( #13460 )
2020-11-08 17:19:27 +09:00
Ryo Onodera
a81e7e7749
Output more inflation calc details in ledger-tool ( #13345 )
...
* Output more inflation calc details in ledger-tool
* Fix broken ci...
* Rename confusing variables
* Fix panic by wrapping PointValue with Opiton...
* Minor modifications
* Remove explict needless flush; Drop already does
* Yet another csv field adjustments
* Add data_size and rename epochs to earned_epochs
* Introduce null_tracer
* Unwrap Option in new_from_parent_with_tracer
* Don't shorten identifiers
* Allow irrefutable_let_patterns temporalily
* More null_tracer
* More field adjustments
2020-11-08 16:43:50 +09:00
Tyera Eulberg
4c5f345798
Fix stake split rent-exempt adjustment ( #13357 )
...
* Add failing tests
* Fix stake split
* Calculate split rent-exempt-reserve and use
* Add comment in rent.rs
* Add tests for edge cases when splitting to larger accounts, and reject overflow splits
* Reframe InsufficientFunds checks in terms of lamports var
* Test hardening review comments
2020-11-06 20:32:05 +00:00
Trent Nelson
fe1e08b9ad
stake: Consider withdraws we redelegating
2020-11-06 18:51:11 +00:00
Trent Nelson
491ad59d2e
stake: Add redelegation failing test
2020-11-06 18:51:11 +00:00
Tyera Eulberg
1b1d9f6b0c
Feature-gate stake program ( #13394 )
...
* Add legacy stake-program handling
* Strip out duplicative legacy code
* Add feature for stake-program-fix
* Feature-deploy new stake program
* Expand comment
2020-11-06 08:08:11 +00:00
Jack May
84b139cc94
Add builtin mem tests ( #13429 )
2020-11-05 22:20:54 -08:00
Michael Vines
78c2d9156b
Remove unneeded .gitignore
2020-11-05 14:29:17 -08:00
Tyera Eulberg
bc62313c66
Allow feature builtins to overwrite existing builtins ( #13403 )
...
* Allow feature builtins to overwrite existing builtins
* Add feature_builtin ActivationType
* Correctly retain idempotent for replacing case
* Fix test
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-11-05 15:37:07 +00:00
Justin Starry
c24fbb6f8b
Fix duplicate records of inner instructions ( #13380 )
...
* Fix duplicate records of inner instructions
* fix tests
* fix clippy
* Remove bad_inner_instructions
2020-11-05 15:23:52 +08:00
Alexander Meißner
4999fe298b
Rbpf v0.2.0 ( #13365 )
...
* Updates rbpf to v0.2.0,
which unifies the interfaces of the interpreter and the JIT.
However, the JIT is not enabled yet.
2020-11-04 18:46:26 +01:00
Ryo Onodera
0e4509c497
Small code cleanup and typo fixes ( #13325 )
...
* Small code cleanup and typo fixes
* Clean up calculate_points_and_credits
2020-11-02 10:28:24 +09:00
Michael Vines
660214754e
`cargo update -p futures-task` / `cargo update -p futures-util`
2020-10-31 18:56:20 +00:00
Michael Vines
9263ae1c60
Simplify CPI interface into MessageProcessor
2020-10-30 09:20:09 +00:00
Michael Vines
da9548fd12
de-mut some InvokeContext methods
2020-10-30 09:20:09 +00:00
Michael Vines
da361afbb9
Revert "Updates rbpf to v0.2.0, ( #12951 )"
...
This reverts commit 6606590b81
.
2020-10-29 21:45:24 -07:00
Michael Vines
7d686b72a0
Add Bank::set_bpf_compute_budget()
2020-10-29 21:45:24 -07:00
Michael Vines
66e51a7363
Add sol_log_compute_units syscall
2020-10-29 21:45:24 -07:00
Michael Vines
33884d847a
Remove programs clone()
2020-10-29 21:45:24 -07:00
Michael Vines
225bed11c7
Remove Entrypoint type
2020-10-29 21:45:24 -07:00
Michael Vines
2664a1f7ef
Remove MessageProcessor::loaders
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
Alexander Meißner
6606590b81
Updates rbpf to v0.2.0, ( #12951 )
...
which unifies the interfaces of the interpreter and the JIT.
However, the JIT is not enabled yet.
2020-10-29 11:34:52 -07:00
Alexander Meißner
65ee3a6bdd
Refactors the common code of test and bench targets into the solana_runtime::bpf_test_utils module. ( #13203 )
2020-10-29 10:04:47 +01:00
Jack May
c458d4b213
move Account to solana-sdk ( #13198 )
2020-10-28 22:01:07 -07:00
Jack May
bb6ab3a62d
ignore .so files ( #13188 )
2020-10-26 23:14:06 -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
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
fe68f7f786
Port programs to solana-program-sdk
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
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
61be155413
Remove do.sh
2020-10-21 18:56:40 -07:00
carllin
e6b821c392
Finer grained AccountsIndex locking ( #12787 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-21 17:05:27 -07:00
Michael Vines
6858950f76
Remove frozen ABI modules from solana-sdk
2020-10-20 16:11:30 -07:00
Ryo Onodera
c0675968b1
Support Debug Bank ( #13017 )
2020-10-21 01:05:45 +09:00
Michael Vines
6d5889bdb5
Remove program_stubs!()
2020-10-19 21:00:17 +00:00
Michael Vines
9c53e1dfb2
Add SyscallStubs to enable syscall interception when building programs for non-BPF
2020-10-19 21:00:17 +00:00
Jack May
b510474dcb
Report compute budget usage ( #12931 )
2020-10-15 15:55:37 -07:00
Jack May
3f9e6a600b
program log pubkey as base58 ( #12901 )
2020-10-15 09:11:54 -07:00
Lu Guanqun
cc9b52cf72
trivial typo fix
2020-10-15 08:27:39 -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
carllin
f8d338c9cb
Switch accounts storage lock to DashMap ( #12126 )
...
Co-authored-by: Carl Lin <carl@solana.com>
2020-10-13 18:29:50 -07:00
sakridge
e4f45bfd3b
Bpf speed debug and tuner program ( #12845 )
2020-10-13 12:16:27 -07:00
Jack May
56211378d3
terminology update, nonce to bump seed ( #12840 )
2020-10-13 10:11:08 -07:00
Michael Vines
859eb606da
Cargo.lock
2020-10-11 18:51:09 +00:00
Jack May
c3907be623
Add adjustable stack size and call depth ( #12728 )
2020-10-09 13:07:09 -07:00
Jack May
2cd7cd3149
Bump max invoke depth to 4 ( #12742 )
2020-10-09 10:33:12 -07:00
Josh
8f5431551e
Store program logs in blockstore / bigtable (TransactionWithStatusMeta) ( #12678 )
...
* introduce store program logs in blockstore / bigtable
* fix test, transaction logs created for successful transactions
* fix test for legacy bincode implementation around log_messages
* only api nodes should record logs
* truncate transaction logs to 100KB
* refactor log truncate for improved coverage
2020-10-08 12:06:15 -07:00
Michael Vines
11df2e2236
Bump version to v1.5.0
2020-10-08 04:51:36 +00:00
Jack May
dd7fae4afb
Fix syscall featurization ( #12714 )
...
* Fix syscall featurization
* nudge
2020-10-07 18:38:38 -07:00
Jack May
973f0965e1
Add ristretto multiply syscall ( #12699 )
2020-10-06 23:52:13 -07:00