Tyera Eulberg
ef99689592
Improve TestValidator instantiation ( #13627 )
...
* Add TestValidator::new_with_fees constructor, and warning for low bootstrap_validator_lamports
* Add logging to solana-tokens integration test to help catch low bootstrap_validator_lamports in the future
* Reasonable TestValidator mint_lamports
2020-11-16 23:27:36 -07:00
Michael Vines
ab5814cd90
Cargo.lock
2020-11-16 11:00:40 -08:00
dependabot[bot]
fc54fb88ae
chore: bump futures from 0.3.5 to 0.3.8
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.5 to 0.3.8.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.5...0.3.8 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-11-14 08:31:19 -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
Trent Nelson
6dc735e996
ip-echo-server: Don't use framed decoder, it can't be read-limited
2020-11-13 07:53:19 +00:00
Michael Vines
114b91afe6
program-test now generates new blockhashes for test usage
2020-11-11 20:29:00 -08:00
Greg Fitzgerald
dadea873a9
Send BanksClient RPC requests before returning futures ( #13539 )
...
* Send RPC requests before returning futures
* Add process_transactions()
2020-11-11 18:56:26 -07:00
Greg Fitzgerald
2660b44d91
Remove need for BanksClientExt trait ( #13519 )
2020-11-10 19:30:25 -07: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
Michael Vines
b511e51415
Define BPF_OUT_DIR for program-test, also handle -- arguments better
2020-11-05 14:29:17 -08:00
Michael Vines
c988d0f573
Cargo.lock
2020-11-05 14:29:17 -08:00
Michael Vines
8838a55a1a
Bump spl-token and spl-memo crate versions
2020-11-04 21:44:33 +00: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
sakridge
55b0428ff7
Add store-tool ( #13254 )
2020-11-01 09:41:28 -08:00
Michael Vines
52a292a75b
Add solana-program-test crate
2020-10-31 18:12:24 -07:00
Michael Vines
e872715fd6
Switch to dirs-next
2020-10-31 18:56:20 +00:00
Michael Vines
660214754e
`cargo update -p futures-task` / `cargo update -p futures-util`
2020-10-31 18:56:20 +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
df8dab9d2b
Native/builtin programs now receive an InvokeContext
2020-10-29 21:45:24 -07:00
Greg Fitzgerald
ca00197009
Upgrade tarpc and tokio ( #13293 )
2020-10-29 19:21:18 -06: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
behzad nouri
ae91270961
implements ping-pong packets between nodes ( #12794 )
...
https://hackerone.com/reports/991106
> It’s possible to use UDP gossip protocol to amplify DDoS attacks. An attacker
> can spoof IP address in UDP packet when sending PullRequest to the node.
> There's no any validation if provided source IP address is not spoofed and
> the node can send much larger PullResponse to victim's IP. As I checked,
> PullRequest is about 290 bytes, while PullResponse is about 10 kB. It means
> that amplification is about 34x. This way an attacker can easily perform DDoS
> attack both on Solana node and third-party server.
>
> To prevent it, need for example to implement ping-pong mechanism similar as
> in Ethereum: Before accepting requests from remote client needs to validate
> his IP. Local node sends Ping packet to the remote node and it needs to reply
> with Pong packet that contains hash of matching Ping packet. Content of Ping
> packet is unpredictable. If hash from Pong packet matches, local node can
> remember IP where Ping packet was sent as correct and allow further
> communication.
>
> More info:
> https://github.com/ethereum/devp2p/blob/master/discv4.md#endpoint-proof
> https://github.com/ethereum/devp2p/blob/master/discv4.md#wire-protocol
The commit adds a PingCache, which maintains records of remote nodes
which have returned a valid response to a ping message, and on-the-fly
ping messages pending a pong response from the remote node.
When handling pull-requests, those from addresses which have not passed
the ping-pong check are filtered out, and additionally ping packets are
added for addresses which need to be (re)verified.
2020-10-28 17:03:02 +00:00
Michael Vines
dd711ab5fb
Rename solana-program-sdk to solana-program
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
07a853d6cc
Add cargo-build-bpf
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
Ryo Onodera
0776fa05c7
Add ledger-tool dead-slots and improve purge a lot ( #13065 )
...
* Add ledger-tool dead-slots and improve purge a lot
* Reduce batch size...
* Add --dead-slots-only and fixed purge ordering
2020-10-21 17:45:21 +00:00
Trent Nelson
86a982150c
RPC: Don't send base64 TXs to old clusters
2020-10-21 08:33:28 +00:00
Trent Nelson
2905ccc7ec
CLI: Print address ephemeral keypair seed phrase to stderr on deploy failure
2020-10-21 01:09:37 -06:00
Michael Vines
6858950f76
Remove frozen ABI modules from solana-sdk
2020-10-20 16:11:30 -07:00
dependabot[bot]
301f3096a0
chore: bump thiserror from 1.0.20 to 1.0.21
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.20 to 1.0.21.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.20...1.0.21 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-10-20 11:19:10 -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
Tyera Eulberg
359707c85e
Convert Blockstore Rewards cf to protobuf ( #12860 )
...
* Add Blockstore protobuf cf type
* Add Rewards message to proto and make generated pub
* Convert Rewards cf to ProtobufColumn
* Add bench
* Adjust tags
* Move solana proto definitions and conversion methods to new crate
2020-10-15 18:04:10 -06:00
Tyera Eulberg
d008dfb7ad
Bump spl-memo and spl-token versions ( #12917 )
2020-10-15 18:23: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
Alexandre Esteves
6bbf6a79b7
Check ELF file for errors before deploy ( #12741 )
...
* Check ELF file for errors before deploy
* Update cli/src/cli.rs
Co-authored-by: Michael Vines <mvines@gmail.com>
* Fix formatting
* Bump solana_rbpf
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-10-11 21:19:47 -07:00
Michael Vines
859eb606da
Cargo.lock
2020-10-11 18:51:09 +00:00
Michael Vines
c5c8da1ac0
Expose all rewards (fees, rent, voting and staking) in RPC getConfirmedBlock and the cli
2020-10-09 21:54:13 -07:00
Jack May
c3907be623
Add adjustable stack size and call depth ( #12728 )
2020-10-09 13:07:09 -07:00
Ryo Onodera
1f4bcf70b0
Fix various ledger-tool error due to no builtins ( #12759 )
...
* Fix various ledger-tool error due to no builtins
* Add missing file...
2020-10-09 12:19:36 -06:00
Michael Vines
11df2e2236
Bump version to v1.5.0
2020-10-08 04:51:36 +00:00
Jack May
973f0965e1
Add ristretto multiply syscall ( #12699 )
2020-10-06 23:52:13 -07:00
Trent Nelson
e35889542b
RPC: Support base64 encoded transactions
...
Defaults to base58
2020-10-06 22:41:06 -06:00
behzad nouri
537bbde22e
builds crds filters in parallel ( #12360 )
...
Based on run-time profiles, the majority time of new_pull_requests is
spent building bloom filters, in hashing and bit-vec ops.
This commit builds crds filters in parallel using rayon constructs. The
added benchmark shows ~5x speedup (4-core machine, 8 threads).
2020-09-29 23:06:02 +00:00
Michael Vines
6071d0d206
Cargo.lock
2020-09-28 12:50:19 -07:00
dependabot[bot]
0718501c72
chore: bump rocksdb from 0.14.0 to 0.15.0
...
Bumps [rocksdb](https://github.com/rust-rocksdb/rust-rocksdb ) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/rust-rocksdb/rust-rocksdb/releases )
- [Changelog](https://github.com/rust-rocksdb/rust-rocksdb/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-rocksdb/rust-rocksdb/compare/v0.14.0...v0.15.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-09-28 09:52:31 -07:00
dependabot[bot]
de04dcd9d6
chore: bump socket2 from 0.3.12 to 0.3.15
...
Bumps [socket2](https://github.com/alexcrichton/socket2-rs ) from 0.3.12 to 0.3.15.
- [Release notes](https://github.com/alexcrichton/socket2-rs/releases )
- [Commits](https://github.com/alexcrichton/socket2-rs/compare/0.3.12...v0.3.15 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-09-25 20:14:09 -07:00
Trent Nelson
1014781b87
Bump jsonrpc-* to 15.0.0
2020-09-25 19:30:47 +00:00
Michael Vines
93ed0ab2bb
Add feature management commands
2020-09-25 11:40:36 -07:00
Michael Vines
35f5f9fc7b
Add feature set identifier to gossiped version information
2020-09-25 11:40:36 -07:00
Trent Nelson
d95bce2600
cli-output: Add CliTokenAccount type
2020-09-24 21:50:06 -06:00
dependabot[bot]
018cb5035a
chore: bump num-derive from 0.3.0 to 0.3.2
...
Bumps [num-derive](https://github.com/rust-num/num-derive ) from 0.3.0 to 0.3.2.
- [Release notes](https://github.com/rust-num/num-derive/releases )
- [Changelog](https://github.com/rust-num/num-derive/blob/master/RELEASES.md )
- [Commits](https://github.com/rust-num/num-derive/compare/num-derive-0.3.0...num-derive-0.3.2 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-09-24 16:56:12 -07:00
Trent Nelson
7cab638297
Factor the rest of CLI offline module out to clap-utils and cli-output crates
2020-09-23 15:58:44 -06:00
Trent Nelson
325a7e9f86
Move CLI cli_output module to its own crate
2020-09-23 15:58:44 -06:00
Trent Nelson
ba353c2b1d
Move CLI blockhash_query module into client crate
2020-09-23 15:58:44 -06:00
Trent Nelson
a6533c3a21
Move CLI nonce account helpers in client
2020-09-23 15:58:44 -06:00
Tyera Eulberg
e1a212fb79
Bump spl-token ( #12395 )
2020-09-22 17:08:54 -06:00
Trent Nelson
6767264aa1
CLI: Drop unused runtime dep
2020-09-21 19:05:51 +00: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
3278d78f08
Cache re-usable work performed by the loader ( #12135 )
2020-09-14 17:42:37 -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
sakridge
697e004e0d
Add feature to RPC dos ( #12119 )
2020-09-09 08:21:48 -07:00
dependabot[bot]
502e93f55b
chore: bump tarpc from 0.21.0 to 0.22.0 ( #11923 )
...
* chore: bump tarpc from 0.21.0 to 0.22.0
Bumps [tarpc](https://github.com/google/tarpc ) from 0.21.0 to 0.22.0.
- [Release notes](https://github.com/google/tarpc/releases )
- [Changelog](https://github.com/google/tarpc/blob/master/RELEASES.md )
- [Commits](https://github.com/google/tarpc/commits )
Signed-off-by: dependabot[bot] <support@github.com>
* Fix build
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Greg Fitzgerald <greg@solana.com>
2020-09-08 21:22:22 -06:00
anatoly yakovenko
c67f8bd821
Forward transactions to the expected leader instead of your own TPU port ( #12004 )
...
* Use PoHRecorder to send to the right leader
* cleanup
* fmt
* clippy
* Cleanup, fix bug
Co-authored-by: Carl <carl@solana.com>
2020-09-08 17:00:49 +08:00
Michael Vines
2b8a521562
Cargo.lock
2020-09-04 16:01:49 -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
Tyera Eulberg
befd99edac
Bump spl-token version
2020-08-29 03:20:38 -06:00
Tyera Eulberg
2eff9a19c3
Update to token pack/unpack changes ( #11900 )
2020-08-28 22:06:30 -06:00
sakridge
c4253dc0f9
Update to rayon 1.4.0 ( #11898 )
2020-08-28 21:00:11 -07:00
Tyera Eulberg
76be36c9ce
Update spl-token to v2.0 ( #11884 )
...
* Update account-decoder to spl-token v2.0
* Update transaction-status to spl-token v2.0
* Update rpc to spl-token v2.0
* Update getTokenSupply to pull from Mint directly
* Fixup to spl-token v2.0.1
2020-08-28 15:54:57 -06:00
Greg Fitzgerald
5553732ae2
Add lockups via solana-tokens ( #11782 )
...
* Allow stake distributions to update lockups
* Reorg
* Add lockup test
* Fix clippy warning
2020-08-24 15:18:35 -06: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
Tyera Eulberg
2fd2aceeb2
Bump spl-token to clean up magic number ( #11726 )
2020-08-20 09:51:12 -06:00
Michael Vines
b5f3ced860
Add base64 (binary64) encoding for getConfirmedTransaction/getConfirmedBlock
2020-08-17 17:26:29 -07:00
Jack May
7c736f71fe
Make BPF Loader static ( #11516 )
2020-08-14 12:32:45 -07:00
dependabot[bot]
191a2eb088
chore: bump indexmap from 1.4.0 to 1.5.1
...
Bumps [indexmap](https://github.com/bluss/indexmap ) from 1.4.0 to 1.5.1.
- [Release notes](https://github.com/bluss/indexmap/releases )
- [Commits](https://github.com/bluss/indexmap/compare/1.4.0...1.5.1 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-08-10 22:49:55 -07:00
Tyera Eulberg
88ca04dbdb
Add config param to specify offset/length for single and program account info ( #11515 )
...
* Add config param to specify dataSlice for account info and program accounts
* Use match instead of if
2020-08-10 22:35:29 +00:00
Tyera Eulberg
a9f76862fb
Decode native-program and sysvar accounts ( #11463 )
...
* Pass pubkey in to account-decoder for sysvars
* Decode sysvar accounts
* Decode config accounts; move validator-info lower
* Decode stake accounts
* Review comments
* Stringify any account lamports and epochs that can be set to u64::MAX
2020-08-09 07:50:45 +00:00
sakridge
068d23f298
Add Binary64 option for account data ( #11474 )
...
* Add Binary64 option for account data
* Decode into binary64
* Reword docs
2020-08-08 22:40:13 -07:00
Greg Fitzgerald
edadd5d6d5
Remove Budget from CLI ( #11451 )
...
* Remove support for Budget
Also:
* Make "pay" command a deprecated alias for the "transfer" command
* chore: remove budget from web3.js
* Drop Budget depedency from core
Validators no longer ship with builtin Budget
2020-08-07 16:01:51 -06:00
carllin
7e25130529
Send votes from banking stage to vote listener ( #11434 )
...
* Send votes from banking stage to vote listener
Co-authored-by: Carl <carl@solana.com>
2020-08-07 11:21:35 -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
Michael Vines
175c0e611b
Cargo.lock
2020-08-05 14:27:12 -07:00
Trent Nelson
e12ab9d0dd
Bump version to 1.4.0
2020-08-05 12:04:15 -06:00
carllin
5b4cb083f1
Add integration test for optimistic confirmation failure detection ( #11353 )
...
* Add optimistic conf failure test
* Add check for optimistic failure log
Co-authored-by: Carl <carl@solana.com>
2020-08-03 20:01:52 -07: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
Michael Vines
ffbd859c42
Update spl-token and spl-memo
2020-08-02 07:53:42 -07:00
Trent Nelson
c421d7f1b8
Test that off-curve pubkeys fail signature verify
2020-07-31 14:21:03 -06:00
Tyera Eulberg
0f551d4f75
Decode token instructions ( #11281 )
...
* Token->SplToken
* Add spl_token instruction parsing
* Rebase on master
* Gracefully fail key len mismatches
2020-07-31 13:26:09 -06:00
Michael Vines
c78e12a262
Avoid spl-sdk dependency, which inhibits crate publishing
2020-07-30 23:47:26 +00: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
Tyera Eulberg
b45ac5d4db
Add SPL Token-specific rpc endpoints ( #11231 )
...
* Simplify account-decoder program ids + spl_token helper
* Spl program namespace version
* Add getTokenAccountBalance endpoint
* Remove token program id from getTokenAccountBalance request
* Add getTokenSupply endpoint
* Remove token program id from getTokenSupply request
* Add getTokenAccountsByOwner/Delegate endpoints
* Remove token program id from getTokenAccountsByOwner/Delegate requests
* Named parameter
2020-07-28 23:00:48 -06:00
Jack May
f317c362a8
Land program addresses on the curve ( #11174 )
2020-07-27 10:45:59 -07:00
Michael Vines
6808a04abe
Remove unmaintained btc programs
2020-07-25 06:04:07 +00:00
Tyera Eulberg
32fea0496e
Add token account decoding ( #11136 )
...
* Add token decoding
* Bump versions
2020-07-24 17:45:21 -06: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
dependabot[bot]
2e0fb37bfb
Bump thiserror from 1.0.19 to 1.0.20
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.19 to 1.0.20.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.19...1.0.20 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-15 13:39:32 -07:00
dependabot[bot]
8548c3a7eb
Bump humantime from 2.0.0 to 2.0.1
...
Bumps [humantime](https://github.com/tailhook/humantime ) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/tailhook/humantime/releases )
- [Commits](https://github.com/tailhook/humantime/compare/v2.0.0...v2.0.1 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-15 08:27:33 -07:00