Rob Walker
a80176496d
add /target/ to .gitignore files for all crates ( #4217 )
...
* add /target/ to .gitignore files for all crates
* shellcheck
2019-05-08 12:15:05 -07:00
Pankaj Garg
1a2b131ceb
Don't forward transactions that are expired or failed signature check ( #4199 )
2019-05-08 10:32:25 -07:00
carllin
791ee411a5
Add root to bank forks ( #4206 )
2019-05-07 23:34:10 -07:00
Jack May
427963f554
Core depends on vote and budget program directly ( #4204 )
2019-05-07 22:41:47 -07:00
Rob Walker
b49f8c0984
reduce replicode, introduce passive staking support ( #4207 )
2019-05-07 22:22:43 -07:00
dependabot[bot]
674a49f8d7
Bump serde_derive from 1.0.90 to 1.0.91 ( #4172 )
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.90 to 1.0.91.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.90...v1.0.91 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-07 20:05:41 -07:00
carllin
69eeb7cf08
Fix parent record locks usage in child banks ( #4159 )
...
* Introduce record locks on txs that will be recorded
* Add tests for LockedAccountsResults
* Fix broken bench
* Exit process_entries on detecting conflicting locks within same entry
2019-05-07 15:51:35 -07:00
Michael Vines
55e3b7d380
Storage transactions are now paid for by a system account ( #4193 )
...
* Pay program loading fees from a system account
* Pay transaction fees from a system account
2019-05-07 15:01:10 -07:00
Sagar Dhawan
2107e15bd3
Reduce Avalanche redundancy and implement traditional fanout ( #4174 )
...
* Reduce Avalanche redundancy and implement traditional fanout
* Revert tiny fanout
* Update diagrams and docs based on review comments
2019-05-07 13:24:58 -07:00
Michael Vines
4f3b22d04e
Minor code restyling, no functional changes
2019-05-07 12:35:29 -07:00
Michael Vines
2c78a93001
GenesisBlock::new(X) => create_genesis_block(X)
2019-05-07 12:34:17 -07:00
Rob Walker
8e400fc4bd
rework genesis (passive staking groundwork) ( #4187 )
...
* rework genesis
* fixup
2019-05-07 11:16:22 -07:00
Pankaj Garg
29c2a63c8b
Retry transactions that failed due to account lock ( #4184 )
...
* added test
2019-05-07 10:23:02 -07:00
dependabot[bot]
57038529e0
Bump hex-literal from 0.1.4 to 0.2.0 ( #4185 )
...
Bumps [hex-literal](https://github.com/RustCrypto/utils ) from 0.1.4 to 0.2.0.
- [Release notes](https://github.com/RustCrypto/utils/releases )
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.1.4...hex-literal-v0.2.0 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-07 07:14:16 -07:00
Pankaj Garg
e9f80e5542
Don't use default ticks per slot in calculating next slot leader ( #4169 )
2019-05-06 11:23:06 -07:00
Greg Fitzgerald
a19df7a36c
Add type annotations for external crates ( #4125 )
2019-05-06 10:11:50 -06:00
Tyera Eulberg
71f9b44687
Add Confirmations parameter to RPC Subscriptions ( #4154 )
...
* Add optional depth parameter to pubsub, and store in subscriptions
* Pass bank_forks into rpc_subscription; add method to check depth before notify and impl for account subscriptions
* Impl check-depth for signature subscriptions
* Impl check-depth for program subscriptions
* Plumb fork id through accounts
* Use fork id and root to prevent repeated account notifications; also s/Depth/Confirmations
* Write tests in terms of bank_forks
* Fixup accounts tests
* Add pubsub-confirmations tests
* Update pubsub documentation
2019-05-06 08:31:50 -06:00
carllin
297328ff9a
Fix improper tick sleeping time in test ( #4155 )
...
automerge
2019-05-03 20:15:10 -07:00
Pankaj Garg
3ef961fe37
Record poh ticks even when the node is not in leader schedule ( #4148 )
...
* remove obsolete test
2019-05-03 16:41:19 -07:00
Sagar Dhawan
a7b695c27a
Change replicators to slot-based ( #4118 )
2019-05-03 16:27:53 -07:00
Mark E. Sinclair
ed48d8323c
Reduce locking in Blocktree ( #4075 )
...
* Reduce lock contention in blocktree
* Store root slot in separate column
2019-05-03 16:46:02 -05:00
Michael Vines
7fe3c75c6b
Add a node-specific ip echo service to remove dependency on ifconfig.co ( #4137 )
2019-05-03 11:01:35 -07:00
Pankaj Garg
441e76ebeb
Index buffered transactions at the correct offset ( #4126 )
...
* tests
2019-05-02 19:05:53 -07:00
carllin
c2dfb9900e
Revert "Change forwarded metrics to be in line with fetch stage metrics ( #4068 )" ( #4135 )
...
automerge
2019-05-02 17:36:19 -07:00
Mark E. Sinclair
916458e132
Change erasure set size to 8:8 ( #4129 )
...
* Change erasure set size to 8:8
* Change tests to be agnostic to exact set size and ratio
* Add convenience methods for setting presence
2019-05-02 19:04:40 -05:00
Rob Walker
7f75cc8906
update nightly to 2019-05-01 ( #4111 )
...
* update nightly to 2019-05-01
* cargo fmt
* cargo fmt
* increase bench timeout
2019-05-01 20:08:42 -07:00
sakridge
1ab5098576
Move get_clients into gossip_service ( #4109 )
2019-05-01 17:14:01 -07:00
Pankaj Garg
3eec3cfac2
Cleanup banking stage in lieu of recent transaction forwarding changes ( #4101 )
2019-05-01 15:13:10 -07:00
Pankaj Garg
4f18fc836f
Forward transactions to the next slot leader ( #4092 )
...
- this ensures that transactions will reach in time for the next node to process them
2019-05-01 11:37:29 -07:00
Rob Walker
cb528af4e2
fix accounts_db storage.reset() ( #4094 )
...
* fix accounts_db storage.reset()
* fix compilation errors, remove unused, fix test_accounts_grow() failure
2019-05-01 09:27:13 -07:00
Sagar Dhawan
9add8d0afc
Add alternative to Spy Nodes that can fully participate in Gossip ( #4087 )
...
automerge
2019-04-30 16:42:56 -07:00
sakridge
408bdbce7a
Add non_default_stream parameter to cuda_verify ( #4079 )
2019-04-30 13:34:46 -07:00
carllin
1a259d4a3f
Prevent Requests/Caching of leader schedules for epochs beyond confirmed roots ( #4033 )
...
automerge
2019-04-30 13:23:21 -07:00
carllin
73f250f03a
Make minimum warmup period 32 slots long ( #4031 )
...
* Make minimum warmup period 32 slots long
* PR fixes
2019-04-29 15:26:52 -07:00
carllin
3b2adbc9df
Change forwarded metrics to be in line with fetch stage metrics ( #4068 )
...
automerge
2019-04-29 13:50:14 -07:00
Sagar Dhawan
4e41c81bc7
Fix the output from Gossip Discovery ( #4067 )
...
automerge
2019-04-29 13:19:24 -07:00
carllin
fabba82173
ignore non-descendants of roots in blocktree ( #4032 )
2019-04-29 12:29:14 -07:00
anatoly yakovenko
3e14af5033
bast bank ancestor check ( #4050 )
2019-04-28 10:27:09 -07:00
Michael Vines
656e2649a7
v0.15.0
2019-04-27 07:38:46 -07:00
Pankaj Garg
87f1bd58b9
Reduce submit frequency of counters that are very frequent and killing metrics DB ( #4027 )
2019-04-26 20:37:40 -07:00
sakridge
a056c1f18f
Don't send packets when msgs len is 0 ( #4030 )
...
And don't send metrics every iteration.
2019-04-26 17:27:31 -07:00
Jack May
b912ee7fdf
Nit: Spelling ( #4025 )
2019-04-26 16:02:37 -07:00
Mark E. Sinclair
8b1724bb70
Serialize blocktree writes by locking the database ( #4008 )
...
Move several private methods to free functions
2019-04-26 10:52:10 -05:00
Michael Vines
e71ab55288
Rename in-tree program_ids to be base-58 human readable ( #4001 )
2019-04-25 17:58:49 -07:00
Pankaj Garg
15aa07f2a0
Fix node count metrics ( #3997 )
...
- the count was truncated to avalanche neighborhood size
2019-04-25 13:47:38 -07:00
carllin
e4536621df
Log all uncommittable errors on validator ( #3999 )
2019-04-25 13:37:30 -07:00
Sagar Dhawan
a3c302c36a
Add signature polling to SyncClient ( #3996 )
...
automerge
2019-04-25 12:46:40 -07:00
carllin
c4d9dff590
Cherry-pick #3934 ( #3982 )
...
* Fix inserting bogus is_last blobs into blocktree
* Check for pre-existing blob before insert
* Ignore test that performs concurrent writes on blocktree as that is not supported
2019-04-25 00:04:49 -07:00
Sagar Dhawan
cf91ff8694
Remove Thin Client from storage stage ( #3976 )
...
automerge
2019-04-24 22:34:10 -07:00
Mark E. Sinclair
9a40ad76bd
Fix race in erasure metadata tracking ( #3962 )
...
* Fix erasure metadata race condition
* make erasure return the underlying error without wrapping it in the `solana::Error` type
* Add metric for erasure failures
* add tests to `ErasureMeta` indexing logic
* Add test to ensure erasure recovery failures don't cause panics
2019-04-24 17:53:01 -05:00
Pankaj Garg
9c7ccc0e2b
More metrics to track memory usage ( #3966 )
...
automerge
2019-04-24 11:11:30 -07:00
Sagar Dhawan
0cbac26591
Add genesis blockhash to blobs ( #3953 )
2019-04-23 16:24:44 -07:00
carllin
ab11327e34
Fix mismatch between leader/validator bank votability ( #3942 )
...
* Fix mismatch between leader/validator bank votability
2019-04-23 15:32:19 -07:00
Michael Vines
c309cd80aa
Add getClusterNodes/getSlotLeader JSON RPC API ( #3940 )
...
* Minor cleanup
* Include _this_ node in the contact info trace
* Add getClusterNodes/getSlotLeader RPC API
2019-04-23 14:46:41 -07:00
Pankaj Garg
d22a1c9b1f
Use smaller batch size in sigverify stage if CUDA is not available ( #3951 )
2019-04-23 12:41:50 -07:00
Pankaj Garg
7372ec9e1a
Use poh would_be_leader check in banking stage to hold or forward txs ( #3948 )
2019-04-23 11:56:30 -07:00
Pankaj Garg
de6af95061
Process forwarded packets only when the node is about to be the leader ( #3935 )
...
* Tests and metrics
2019-04-22 19:49:32 -07:00
Sagar Dhawan
43f7cd8149
Fix Retransmit slamming the leader with its own blobs ( #3938 )
2019-04-22 18:41:01 -07:00
Rob Walker
4b04c37c36
verify that blobs match a known leader for the slot ( #3927 )
...
* validate that blobs match a known leader for the slot
* clippy
2019-04-22 15:21:10 -07:00
sakridge
95a16426f3
Cleanup bench-exchange ( #3919 )
...
* bench-exchange changes
Generate new keypair for each bench-exchange
Add metrics
Tweak network sleep parameters for better reliability.
* Bench-exchange contract metrics
2019-04-22 13:16:28 -07:00
Michael Vines
af9ebf1d1a
Add status logging while processing a ledger ( #3916 )
2019-04-20 20:17:57 -07:00
Sagar Dhawan
349e8a9462
Ensure forwarded Blobs don't break Erasure ( #3907 )
2019-04-20 16:44:06 -07:00
Sagar Dhawan
c0bffb56df
Update Avalanche to use Epoch Stakes ( #3900 )
2019-04-19 22:31:40 -07:00
Sagar Dhawan
970cc32e65
Fix Data Plane computation when stakes are equal ( #3913 )
2019-04-19 21:07:21 -07:00
Rob Walker
3ab492ccf8
save erasure set size, initialize coding blob erasures with that size ( #3910 )
...
* save erasure set size, initialize coding blob erasures with that size
* fixup
* fixup
2019-04-19 20:22:51 -07:00
Rob Walker
efbb573316
add an env::var driven localcluster test ( #3906 )
2019-04-19 15:47:03 -07:00
Rob Walker
c3155a6e39
silence sigverify disabled, make disabling sigverify easier ( #3901 )
...
* silence sigverify disabled, make disabling sigverify easier
* fixup
2019-04-19 14:18:19 -07:00
Rob Walker
320bd66c84
handle zero num_will_fit ( #3892 )
...
* handle zero num_will_fit
* clippy
2019-04-19 12:02:33 -07:00
carllin
512bfc93cb
Add a cache for leader schedules ( #3841 )
...
* Add a cache for leader schedules
2019-04-19 02:39:44 -07:00
Rob Walker
6eac5951ed
Revert "Revert "revert-revert-erasure and erasure fixes ( #3833 )" ( #3855 )" ( #3889 )
...
This reverts commit 596f611ede
.
2019-04-18 21:56:43 -07:00
Sagar Dhawan
475a74d37f
Reduce packet recv batches ( #3894 )
...
* Reduce packet recv batches
* Fix type
2019-04-18 19:24:37 -07:00
Sagar Dhawan
7e409a13cd
Ack on empty Gossip Pull Responses and keep Entrypoint around ( #3881 )
...
* Ack on empty Gossip Pull Responses and keep Entrypoint around
* Address comments and fix test
* Update core/src/cluster_info.rs
Co-Authored-By: sagar-solana <sagar@solana.com>
* Update core/src/cluster_info.rs
Co-Authored-By: sagar-solana <sagar@solana.com>
2019-04-18 15:12:17 -07:00
Rob Walker
67b8ad6a0f
fix entries.to_blobs() ( #3882 )
...
* * rename Entry::serialized_size() to Entry::to_blob_size() to better
reduce confusion with bincode, et al. and to better reflect its
real meaning
* fix implementation of to_blob_size() to actually return what happens
when we do entries.to_blobs() (i.e. we serialize Vec<Entry>, not Entry)
* update tests to be more rigorous
* clippy
2019-04-18 14:45:41 -07:00
Tyera Eulberg
a9cfae486c
Revert-revert migrate to ed25519-dalek crate ( #3877 )
...
* Revert "Revert "Migrate from ring to ed25519-dalek, take 2 (#3844 )" (#3868 )"
This reverts commit 6a878602f2
.
* Fix Signature::verify method
2019-04-18 14:37:20 -06:00
Pankaj Garg
f2187780d2
Do not forward vote transactions ( #3871 )
2019-04-18 11:18:49 -07:00
Tyera Eulberg
6a878602f2
Revert "Migrate from ring to ed25519-dalek, take 2 ( #3844 )" ( #3868 )
...
This reverts commit e9b82bacda
.
2019-04-18 11:47:34 -06:00
Michael Vines
f8543a268f
solana-gossip now displays other spy nodes and contact info age ( #3867 )
2019-04-18 09:48:21 -07:00
Tyera Eulberg
e9b82bacda
Migrate from ring to ed25519-dalek, take 2 ( #3844 )
...
* Migrate from ring to ed25519-dalek
* Move gen_keypair_file test to a more appropriate location
* Fixup bench-exchange and add helper fn for single deterministic keypair
* Update golden
2019-04-18 10:38:32 -06:00
Pankaj Garg
2f4a3ed190
Use a separate channel to process votes in banking stage ( #3861 )
...
- This will help expedite the vote processing on peer nodes
2019-04-17 21:07:45 -07:00
Mark E. Sinclair
aa21f5343a
Remove broken read().unwrap() call to a non-shared packet
2019-04-17 21:24:40 -05:00
Sagar Dhawan
9c2809db21
Delete SharedPackets ( #3843 )
...
* Delete SharedPackets
* Fix bench and sigverify
2019-04-17 18:15:50 -07:00
Pankaj Garg
596f611ede
Revert "revert-revert-erasure and erasure fixes ( #3833 )" ( #3855 )
...
This reverts commit 6bef16a6a1
.
2019-04-17 18:04:30 -07:00
Sagar Dhawan
2b3218b5f2
Fix flaky tests by waiting for test node to boot ( #3845 )
2019-04-17 17:50:34 -07:00
Pankaj Garg
a2c8e3952f
Fixes to TPS calculation and reporting ( #3836 )
...
Fixes to TPS calculations and reporting
2019-04-17 15:37:01 -07:00
Rob Walker
6bef16a6a1
revert-revert-erasure and erasure fixes ( #3833 )
...
* fix erasure, more tests for full blobs, more metrics
* Revert "Revert "Use Rust erasure library and turn on erasure (#3768 )" (#3827 )"
This reverts commit 4b8cb72977
.
2019-04-17 15:13:54 -07:00
Rob Walker
01657ddfe7
packet.rs optimizations ( #3818 )
...
* packet.rs optimizations
* remove redundant and aggressive metric submission
* remove metrics submit(), get compiling again, honor log level in inc()
2019-04-17 14:14:57 -07:00
Greg Fitzgerald
51a2988bb2
Revert "Rename programs to instruction_processors ( #3789 )" ( #3824 )
...
This reverts commit 34344982a9
.
2019-04-17 15:05:49 -06:00
sakridge
4b8cb72977
Revert "Use Rust erasure library and turn on erasure ( #3768 )" ( #3827 )
...
This reverts commit b9bb5af4a5
.
2019-04-17 12:52:12 -07:00
Mark E. Sinclair
b9bb5af4a5
Use Rust erasure library and turn on erasure ( #3768 )
...
* split out erasure into new crate; add implementation using rust reed-solomon-library
* Track erasures with a &[bool] instead of indexes
* fix bug that reported the number of erasures incorrectly
* Introduce erasure `Session` for consistent config
* Increase test coverage; fix bugs
* Add ability to remove blobs from erasure meta tracking. test added
* Track deletion of coding blobs in blocktree via ErasureMeta. Added to
test
* Remove unused functions in blocktree
* add randomness to recovery thread to exercise recovery due to either new
data or coding blobs
* Add unit test for ErasureMeta index handling
* Re-enable test in broadcast stage
2019-04-16 23:00:24 -05:00
Rob Walker
e94f268346
reduce sigverify verbosity ( #3813 )
2019-04-16 18:25:53 -07:00
Amr Ali
34344982a9
Rename programs to instruction_processors ( #3789 )
...
* Rename programs to instruction_processors
* Updates around the code base to support instruction_processors rename
* Kabab instruction_processors
* Update Cargo.toml files and scripts to use instruction-processors
* Update Cargo.toml to use instruction-processors
* Update CI scripts to use instruction-processors
2019-04-16 22:39:00 +02:00
Michael Vines
63d66ece57
net/ testnet nodes now stake more lamports ( #3812 )
...
* Add --bootstrap-leader-lamports
* Generalize --no-stake into --stake NUM
* Use a large stake for net/ fullnodes
* Setup vote account before starting fullnode to avoid mixed log output
2019-04-16 13:03:01 -07:00
Michael Vines
d77359914f
Log the spy node id by default for better debug ( #3796 )
2019-04-15 20:58:37 -07:00
Dan Albert
8638b3bb19
Update Cargo.toml files for version = 0.14.0
2019-04-16 02:50:20 +00:00
anatoly yakovenko
68fc303b9b
Rework Accounts for fast squash, hashing state and checkpoint recovery. ( #3613 )
...
* accounts rewrite
* ignore grow tests
* skip duplicate roots
* allow for a root race
* logger
* accounts_index tests
* tests
* tests
2019-04-15 17:15:50 -07:00
Sagar Dhawan
3fcf03ff3e
Refactor LocalCluster and add support for listener nodes ( #3790 )
2019-04-15 15:27:45 -07:00
Greg Fitzgerald
80f3568062
Upgrade to Rust 1.34.0 ( #3781 )
...
* Upgrade to Rust 1.34.0
* Remove redundant closures
Thanks Clippy!
2019-04-15 15:56:08 -06:00
Michael Vines
d026ebb83a
Use tvu_peers() since validators no longer run an RPC port by default ( #3784 )
2019-04-15 13:25:09 -07:00
Rob Walker
64c6f05da2
persist set_root() and use it in blocktree_processor to limit squashes ( #3782 )
...
* rename locktower's slot to epoch
* persist set_root() and use it in blocktree_processor to limit squashes
2019-04-15 13:12:28 -07:00
Rob Walker
5c4689a326
rename locktower's slot to epoch ( #3776 )
2019-04-15 10:46:14 -07:00
Rob Walker
6859907df9
more rigorous erasure constants, comments ( #3766 )
...
* more rigorous erasure constants, comments
* new header size means new golden
2019-04-14 21:10:09 -07:00
Rob Walker
de52747950
remove max_tick_height replicode ( #3765 )
2019-04-14 19:15:31 -07:00
Rob Walker
bd1db51e07
delete db_window.rs, move contents to window_service, clean up process_blobs ( #3746 )
2019-04-14 18:52:05 -07:00
Rob Walker
dd005fb50e
fix broadcast to *always* call erasure generation, simplify generator, test slot reset better ( #3764 )
2019-04-14 18:12:37 -07:00
Rob Walker
542bafeb71
groom packet.rs, add blob.data alignment ( #3763 )
2019-04-14 17:30:08 -07:00
Rob Walker
e57a0ab05d
test some bits ( #3762 )
2019-04-14 17:10:30 -07:00
Pankaj Garg
2c745ce108
Shorten recv wait when there are buffered packets in banking stage ( #3757 )
...
- packets are buffered on leader rotation, when the next leader is
unknown
- shortening the wait allows the banking stage to poll for next
leader more frequently
2019-04-14 12:34:07 -07:00
Michael Vines
f6aa90e193
Add fullnode --dynamic-port-range option
2019-04-14 07:08:29 -07:00
Michael Vines
2277a39dd2
Default solana-gossip log-level to 'info'
2019-04-14 07:07:15 -07:00
Pankaj Garg
ee35ed5250
Refactored buffered packet forwarding code ( #3750 )
...
- Added unit tests
- Don't consume packets if bank is not known
2019-04-13 23:19:54 -07:00
Stephen Akridge
92b5e131fe
Name sigverify threads
2019-04-13 11:24:36 -07:00
Sagar Dhawan
1e8f83a74a
Use a better name for new api
2019-04-12 14:58:22 -07:00
Sagar Dhawan
1db80d79fc
Update get recent blockhashes to return confirmed blockhashes only
2019-04-12 14:58:22 -07:00
Stephen Akridge
1dac4c33b8
Change sigverify counter from entries to packets
...
batch or entries kind of useless since it can have some
variable number of packets
2019-04-12 13:19:46 -07:00
Pankaj Garg
44ebfa736a
Don't forward buffered packet to the same node ( #3712 )
...
- instead, process the packets
2019-04-11 17:23:45 -07:00
Sagar Dhawan
877ec08280
Send recent votes in Vote Transactions ( #3734 )
2019-04-11 14:48:36 -07:00
Rob Walker
efd19b07e7
implement erasure-based recovery inside blocktree ( #3739 )
...
* implement recover in blocktree
* erasures metric
* erasure metrics only
* fixup
2019-04-11 14:14:57 -07:00
carllin
787dc5748a
Fixed DuplicateSigs ( #3727 )
...
* Fixed DuplicateSigs by not recording errors in signature cache of bank
2019-04-11 11:51:34 -07:00
Rob Walker
e1d5bb1a26
add redundant broadcast ( #3724 )
...
* add redundant broadcast
* crank up to full redundancy
* Update broadcast_stage.rs
* Update broadcast_stage.rs
* Update broadcast_stage.rs
* Update broadcast_stage.rs
2019-04-11 09:15:17 -07:00
Jack May
d0f46d6a8a
Cleanup client traits and create super trait ( #3728 )
2019-04-11 00:25:14 -07:00
Rob Walker
4b6c0198ad
reset coding generator on slot boundaries ( #3726 )
2019-04-10 18:18:55 -07:00
Rob Walker
f1e7237c09
vote_api cleanup ( #3710 )
...
* vote_api cleanup
* fixups
* fixup
* remove unused code
* revert removal of serialize and deserialize
* ...
* increase coverage, bootstrap staking
* Sagar's STAKE to my VOTE
2019-04-10 17:52:47 -07:00
Sagar Dhawan
1b5845ac3e
Fix getting votes from gossip ( #3723 )
2019-04-10 17:16:08 -07:00
Sagar Dhawan
d2ea782372
Always use bootstrap vote account for leader
2019-04-10 15:51:00 -07:00
Greg Fitzgerald
894135a084
Less pub in PohRecorder
2019-04-10 12:50:45 -07:00
Pankaj Garg
7da4142d33
Process votes from gossip only in leader node ( #3707 )
2019-04-09 22:06:32 -07:00
carllin
003fd6545c
Logging for unexpected validator errors ( #3697 )
2019-04-09 15:05:43 -07:00
Stephen Akridge
2c93062f54
Improve banking_stage performance messages
...
Use transaction count instead of batch count,
and set the recv_start from when we finished processing
the previous batch to get a more accurate number.
2019-04-09 14:54:12 -07:00
Pankaj Garg
dc6c34da5d
Fast-track vote signature verification and processing ( #3695 )
2019-04-09 12:57:12 -07:00
carllin
d4eebcc2aa
Check for frozen in confirm_forks ( #3678 )
2019-04-09 11:45:38 -07:00
carllin
483cc2fa4e
Support old repair strategy for reparing slots in a range for supporting replicators ( #3665 )
2019-04-08 12:46:23 -07:00
Jack May
44b391096d
Configurable local cluster native processors ( #3676 )
2019-04-08 11:15:58 -07:00
carllin
444e87f888
Fix metric ( #3664 )
2019-04-06 21:57:01 -07:00
carllin
20aa4434e2
Fix repair ( #3581 )
...
Add DetachedHeads repair protocol
Add DetachedHeads repair test
Repair starting from root
2019-04-06 19:41:22 -07:00
Greg Fitzgerald
878a842611
Move append_vec bench to the crate with append_vec ( #3650 )
...
* Move append_vec bench to the crate with append_vec
* Use black_box to tell the compiler not to optimize away test data
```
pub fn black_box<T>(dummy: T) -> T {
unsafe {
let ret = std::ptr::read_volatile(&dummy);
std::mem::forget(dummy);
ret
}
}
```
* Revert "Use black_box to tell the compiler not to optimize away test data"
This reverts commit 5610b8ee957f1d8bf6e270e392859e8b23b1e472.
* Use black_box to tell the compiler not to optimize away test data
* Create bench directories
2019-04-06 07:18:56 -06:00
Tyera Eulberg
68e21911eb
Remove redundant transfer_signed
2019-04-05 22:04:32 -07:00
Tyera Eulberg
95cc36af96
Impl SyncClient and AsyncClient for ThinClient
2019-04-05 22:04:32 -07:00
Tyera Eulberg
f349c1f0dc
Get everything off RpcSignatureStatus
2019-04-05 22:09:29 -06:00
Tyera Eulberg
90c1300bb6
Plumb TransactionError through Rpc
2019-04-05 22:09:29 -06:00
Sagar Dhawan
f5f4434e0a
Remove unnecessary lock in sigverify
2019-04-05 16:57:45 -07:00
Sagar Dhawan
adcda3c715
Remove airdrop dependency from replicators
2019-04-05 16:11:39 -07:00
Rob Walker
a5b5248a09
move vote_accounts up ( #3647 )
2019-04-05 14:23:00 -07:00
Tyera Eulberg
ef5df6f3fe
Add server specification
2019-04-05 11:44:57 -07:00
Tyera Eulberg
2f90f9fbd4
Version all jsonrpc crates, in core too
2019-04-05 11:44:57 -07:00
Greg Fitzgerald
46e6911ec1
Add get_signature_status() to SyncClient
...
And move bank::Result to transaction module.
2019-04-05 10:22:05 -07:00
carllin
4ea19b90a4
Fix update_ancestor_stakes in locktower ( #3631 )
...
* Fix update_ancestor_stakes in locktower
* Add test for vote threshold
2019-04-05 03:05:31 -07:00
Greg Fitzgerald
35298e01a8
Remove Instruction wrapper structs and name functions after enum fields
2019-04-03 13:34:27 -07:00
Greg Fitzgerald
867f6f107b
Rename SystemInstruction::Move to SystemInstruction::Transfer
2019-04-03 08:35:57 -06:00
Greg Fitzgerald
43bb813cbe
Rename 'new_account' to 'new_user_account'
...
And 'new_program_account' to 'new_account'
2019-04-02 21:24:42 -06:00
Greg Fitzgerald
978ff87b76
Fix potential storage bug
...
The previous code was assuming the instruction index and the
program_id index were the same. That's always true for
single-instruction transactions, but not for multiples.
2019-04-02 19:00:35 -06:00
Greg Fitzgerald
4c0bc1fd88
Add program_ids() methods
...
Added CompiledInstruction::program_id() so that we don't need to pass
around instruction indexes just for Message::program_id().
Also added Message.program_ids() that returns a slice so that we
can move those pubkeys into Message::account_keys.
2019-04-02 19:00:35 -06:00
Greg Fitzgerald
20189c5d45
Bump hashbrown to 0.2.0
2019-04-02 16:37:21 -06:00
Mark E. Sinclair
d90b8c331d
Refactor blocktree storage abstraction ( #3588 )
2019-04-02 16:58:07 -05:00
Sagar Dhawan
cd634801a2
Re-enable test but remove replicators from config
2019-04-02 10:38:30 -07:00
Sagar Dhawan
5f10a87dec
Ignore Flaky Local Cluster test
2019-04-02 10:56:29 -06:00
Greg Fitzgerald
fa1c1e3734
Rename native programs to native instruction processors
2019-04-02 10:36:19 -06:00
carllin
d228b6467c
Implement finalizer so that all locked accounts are dropped ( #3585 )
...
* Implement finalizer so that all locked accounts are dropped when finalizer goes out of scope
* Add test for tx error with lock conflict
* Fix double unlock from destructor running after a call to unlock
2019-04-02 03:55:42 -07:00
Tyera Eulberg
6ff2a0a75e
Rework discover to handle additional parameters, and be unit-testable
2019-04-01 23:05:25 -06:00
Greg Fitzgerald
fcef54d062
Add a constructor to generate random pubkeys
2019-03-31 16:23:18 -06:00
carllin
8660c3581e
Add squashing metrics ( #3573 )
2019-03-29 21:21:59 -07:00
carllin
f886b3b12b
Fix resetting PohRecorder to wrong bank ( #3553 )
...
* Check whether future slot already has transmission
2019-03-29 20:00:36 -07:00
Greg Fitzgerald
5646daa820
Delete lots of fee parameters
...
So many zeros!
2019-03-29 19:21:51 -06:00
Greg Fitzgerald
7896e8288d
Replace Transaction::fee with a FeeCalculator
2019-03-29 19:21:51 -06:00
carllin
9369ea86ea
Track detached slots in blocktree ( #3536 )
...
* Add contains_all_parents flag to SlotMeta to prep for tracking detached heads
* Add new DetachedHeads column family
* Remove has_complete_parents
* Fix test
2019-03-29 16:07:24 -07:00
carllin
dee5ede16d
Get rid of unnecessary frozen banks ( #3572 )
2019-03-29 16:06:48 -07:00
Stephen Akridge
0887832b00
Early exit if buffered packets is empty
2019-03-29 13:40:07 -07:00
Greg Fitzgerald
8e04fadb05
Cleanup magic numbers
...
Rename `num_signatures` to `num_required_signatures` to
disambiguate it from `tx.signatures.len()`.
2019-03-29 13:03:29 -07:00
Greg Fitzgerald
31f8b6d352
Integrate Message into Transaction
2019-03-29 13:03:29 -07:00
Greg Fitzgerald
98d60e6124
Expose a method for getting the Message from a Transaction
...
This currently constructs the message, but when message
is integrated, it can return a `&Message`.
2019-03-29 13:03:29 -07:00
Tyera Eulberg
f482c9ab61
Functionalize tx serialization; make testing more explicit
2019-03-29 11:31:46 -06:00
Tyera Eulberg
75dcd97f5f
Update test to deserialize txs
2019-03-29 11:31:46 -06:00
Tyera Eulberg
4776dc36ab
Map entry txs to serialized txs in blockstream
2019-03-29 11:31:46 -06:00
Greg Fitzgerald
753d0dcabe
Fix the cuda build
...
And add a test to check the condition that the cuda tests are
exercising.
2019-03-29 08:25:56 -06:00
Greg Fitzgerald
b708998d9d
Fix chacha build
2019-03-29 08:25:56 -06:00
Greg Fitzgerald
c4bc710d3a
Use Serde's `with` attribute to shorten length encodings in Transaction
2019-03-29 08:25:56 -06:00
Sathish Ambley
857dc2ba47
Remove custom serialization
2019-03-29 08:25:56 -06:00
Greg Fitzgerald
7a81f327ce
Add sigverify tests
2019-03-28 19:42:11 -06:00
Greg Fitzgerald
2ab50cbae8
Move untested code out of SDK
...
verify_signature() was only used in a test that was testing
binary layout. It only worked because the test transaction only
had one signature.
from() was only used by verify_signature() and that's something
we'd typically called `pubkey()`.
hash() didn't return the hash of the Transaction, as you might
guess. It's only used for PoH, so move it into Entry.
2019-03-28 14:24:59 -06:00
Stephen Akridge
0482f153d0
Lower a bunch of debug
...
Can't afford to be printing on every transaction error, it will slow
the system down.
2019-03-28 12:24:47 -07:00
Mark E. Sinclair
50b0a5ae83
Blocktree+Erasure tests of basic erasure functionality ( #3535 )
...
* Remove WindowSlot; add Blocktree based tests to erasure
2019-03-28 01:55:51 -05:00
Sagar Dhawan
7d0ff8e713
Re-enable Replicator test ( #3534 )
2019-03-27 17:21:49 -07:00
Sagar Dhawan
e8cc566b2b
Storage Account setup for replicators and validators ( #3516 )
...
* Setup Storage Accounts for replicators
* Setup Storage Accounts for validators
* Add Replicator Info to Local Cluster and Add test
2019-03-27 15:54:09 -07:00
Anatoly Yakovenko
e45f7afd85
use the right id for delegate id
2019-03-27 15:04:09 -07:00
Sagar Dhawan
36ea088387
Fix Storage Stage not receiving entries when node is leader ( #3528 )
2019-03-27 13:10:33 -07:00
Anatoly Yakovenko
0346b9cb5c
hang out on progress until fork is confirmed
2019-03-27 08:41:41 -07:00
Anatoly Yakovenko
6bfe497ab5
remove leader confirmaiton
2019-03-27 08:41:41 -07:00
Anatoly Yakovenko
6956bf635e
validator confirmaiton
2019-03-27 08:41:41 -07:00
Anatoly Yakovenko
e27d6d0988
validator confirmation
2019-03-27 08:41:41 -07:00
Greg Fitzgerald
cecdb7061e
Remove blockhash parameter from Bank::transfer
...
That parameter is an artifact from the Loom days, when I thought
Bank should implement the same interace as ThinClient.
2019-03-27 08:51:10 -06:00
Mark
16ff4ac1a8
Simplify storage interface in blocktree ( #3522 )
2019-03-27 01:36:39 -05:00
Greg Fitzgerald
8c69c40834
Make space for a new Transaction::new
2019-03-26 20:06:05 -06:00
Anatoly Yakovenko
9d73fbb84a
also check the delegate_id
2019-03-26 12:03:22 -07:00
anatoly yakovenko
420cbc45cd
Record the current nodes locktower votes from the bank ( #3502 )
...
* observed_locktower_stats
* fixup! observed_locktower_stats
2019-03-26 11:06:31 -07:00
carllin
615472b52c
Initailize locktower with heaviest bank ( #3489 )
2019-03-25 20:00:11 -07:00
Greg Fitzgerald
4bc3f70150
Boot VoteTransaction
2019-03-25 17:11:57 -07:00
Anatoly Yakovenko
59b4f40f4e
fixup! fixup! keep track of locktower slots and stakes
2019-03-25 16:05:28 -07:00
Anatoly Yakovenko
93c57934cb
fixup! keep track of locktower slots and stakes
2019-03-25 16:05:28 -07:00
Anatoly Yakovenko
e8e1d6b8ce
keep track of locktower slots and stakes
2019-03-25 16:05:28 -07:00
Stephen Akridge
4916cd8da5
bench-tps in a cargo test
2019-03-25 15:05:56 -07:00
anatoly yakovenko
51004881f8
filter out banks that have an older epoch ( #3472 )
2019-03-25 11:09:39 -07:00
Greg Fitzgerald
aefa9891c0
Delete unused code
2019-03-24 21:44:04 -07:00
Greg Fitzgerald
33972ef89e
Boot BudgetTransaction
2019-03-24 14:52:06 -06:00
Greg Fitzgerald
c49e84c75b
Boot StorageTransaction
2019-03-24 13:51:02 -07:00
Greg Fitzgerald
8ff1987d2d
Reorg Storage program to look more like the others
2019-03-24 13:51:02 -07:00
Greg Fitzgerald
acedf4ca5a
Move Instruction into its own module
2019-03-23 20:31:55 -07:00
carllin
68c35bfde6
Restart node test ( #3459 ) ( #3465 )
...
* Restart node test (#3459 )
* Add test to local_cluster for restarting a node
* fix so that we don't hit end of epoch - leader not found before trying to transfer
* Do not look for confirmations, b/c nobody is voting on empty transmissions in this single node test
2019-03-23 19:19:55 -07:00
Sathish
e1a3708844
Ensure accounts are unlocked ( #3458 )
2019-03-23 13:30:56 -07:00
Pankaj Garg
46ecac3310
Update leader slot in poh recorder if we skipped it ( #3452 )
...
* reset poh recorder with the original start slot
2019-03-23 13:07:09 -07:00
Michael Vines
f09b8d3921
Demote log level
2019-03-22 17:00:09 -07:00
anatoly yakovenko
52f6c33ff9
Make sure banking stage is recording with the same bank that it read ( #3447 )
...
* make sure banking stage is recording with the same bank that it read with
2019-03-22 14:17:39 -07:00
Sathish
06b0c98c75
Remove accounts when the fork is removed ( #3384 )
...
* Fix test
* Cleanup accounts when the fork is removed
* Update test to check for deleted accounts
2019-03-21 17:36:10 -07:00
Greg Fitzgerald
d0761f57e8
Add _program suffix to directories of crates with _program suffix
2019-03-21 16:24:06 -06:00
Stephen Akridge
412ebfcaf2
ReplayStage::new is too long
...
break into more functions
2019-03-21 14:08:11 -07:00
Greg Fitzgerald
07d55d0092
Downgrade 'No next leader found' to warning
2019-03-21 11:18:49 -06:00
anatoly yakovenko
148e08a8a5
Enable cluster tests ( #3372 )
...
* Cluster tests
* stable!
* fixup! stable!
* fixup! fixup! stable!
* fixup! fixup! fixup! stable!
* fixup! fixup! fixup! fixup! stable!
* fixed space
* add getNumBlocksSinceSignatureConfirmation entry for the json rpc docs
* Check in upcoming epochs for potential leadership slots in next_leader_slot()
2019-03-21 07:43:21 -07:00
Pankaj Garg
7c8a4bf6a4
use ticks per slot to check if the current tick is in the leader slot
2019-03-20 16:55:01 -07:00
Pankaj Garg
71314d79a7
address review comments
2019-03-20 16:55:01 -07:00
Pankaj Garg
d7ff6645a9
change pubkey to ref
2019-03-20 16:55:01 -07:00
Pankaj Garg
1824e09d0a
find next leader slot before resetting working bank in Poh recorder
2019-03-20 16:55:01 -07:00
Pankaj Garg
205907d3d7
Check if poh recorder has over stepped the leader slot
2019-03-20 16:55:01 -07:00
Stephen Akridge
4fb0782892
Rename blocktree SlotMeta::is_rooted to is_connected
...
is_rooted is now is_connected and (still) indicates the set of connected
completed slots. 'rooted' slot terminology is used for a different
meaning in bank_forks and replay_stage.
2019-03-20 14:43:39 -07:00
Stephen Akridge
2694654a98
Change fixed 8050 port to one from bind_in_range.
2019-03-20 14:17:21 -07:00
Stephen Akridge
4126461f87
Fix dupe port on cluster_info
...
and remove unintended grow file
2019-03-20 14:17:21 -07:00
Rob Walker
df9fd2bc0b
stop copying Blooms ( #3379 )
...
* stop copying Blooms
* fixup
* clippy
2019-03-20 11:06:39 -07:00
Michael Vines
0dc364c17a
Relocate transaction reference verification to join the other validity checks
2019-03-20 07:46:01 -07:00
Sagar Dhawan
61f950a60c
Sign Gossip Vote Messages
2019-03-19 19:56:17 -07:00
Anatoly Yakovenko
61af87972e
allow empty ancestors
2019-03-19 17:51:01 -07:00
carllin
fe9e771b9b
Clear progress map on squash ( #3377 )
2019-03-19 17:30:36 -07:00
Anatoly Yakovenko
7246d72f03
fix is_locked_out logic
2019-03-19 16:21:46 -07:00
Stephen Akridge
682b1b89b3
Adjust for vector of entries in blobs.
2019-03-19 13:49:48 -07:00
Stephen Akridge
f1802e592a
Review comments: node creation functions for replicators
...
And rework download loop.
2019-03-19 13:49:48 -07:00
Stephen Akridge
ee58c1f960
Add test for replicator ledger download
...
Add an interface to query the storage slot a
replicator is holding on storage_addr port.
Fix logic to poll blocktree for all slots
replicated being filled.
Add test logic to ask replicator what slot it
is replicating and then download an entry in
the slot.
2019-03-19 13:49:48 -07:00
Stephen Akridge
07f4dd385d
Cleanup replicator sockets
...
Add optional UdpSocket for storage interface.
Add new_localhost_replicator to create a new replicator local node.
2019-03-19 13:49:48 -07:00
Pankaj Garg
1be7ee51be
Fix potential crash in banking stage
2019-03-19 12:06:42 -07:00
Pankaj Garg
56fcc93ef5
Schedule node for consecutive slots as leader ( #3353 )
...
* Also tweak epoch and slot duration
* new test for leader schedule
2019-03-19 06:36:45 -07:00
Rob Walker
c70412d7bb
move core tests to core ( #3355 )
...
* move core tests to core
* remove window
* fix up flaky tests
* test_entryfication needs a singly-threaded banking_stage
* move core benches to core
* remove unnecessary dependencies
* remove core as a member for now, test it like runtime
* stop running tests twice
* remove duplicate runs of tests in perf
2019-03-18 22:08:21 -07:00
Carl
5e21268ca0
PR comments
2019-03-18 20:46:11 -07:00
Carl
b38e3bef01
Modify bank_forks to support squashing/filtering new root and also don't remove parents from bank_forks when inserting, otherwise we lose potential fork points when querying blocktree for child slots
2019-03-18 20:46:11 -07:00
Stephen Akridge
ef111dcbe1
Decendent is not a word
2019-03-18 15:58:27 -07:00
anatoly yakovenko
211c81f2a2
bank fork rpc ( #3351 )
2019-03-18 14:18:43 -07:00
Pankaj Garg
efc39ffdde
Report how many grace ticks were afforded to previous leader ( #3350 )
2019-03-18 13:24:07 -07:00
anatoly yakovenko
61a4b998fa
Implement locktower voting ( #3251 )
...
* locktower components and tests
* integrate locktower into replay stage
* track locktower duration
* make sure threshold is checked after simulating the vote
* check vote lockouts using the VoteState program
* duplicate vote test
* epoch stakes
* disable impossible to verify tests
2019-03-18 12:12:33 -07:00
Stephen Akridge
cedff2fca1
Cleanup sockets test
2019-03-18 11:56:18 -07:00
Greg Fitzgerald
8d032aba9d
Merge InstructionError and ProgramError
...
From the user's perspective, it's just an instruction error.
For program-specific errors, we still have
InstructionError::CustomError.
2019-03-18 10:39:20 -06:00
carllin
60437a8dcb
Multiple entries per blob ( #3337 )
...
* Pack multiple entries into blob
* fix tests
* Add test for deserializing multi-entry blobs in blocktree
* more test fixes
2019-03-17 18:48:23 -07:00
Michael Vines
c498775a3d
Move generic rpc_client functions from wallet/ to client/
2019-03-17 01:34:58 -07:00
Michael Vines
9632136cda
Clean up stray retry_get_balance() function
2019-03-16 23:56:35 -07:00
Michael Vines
73ceaf07b1
client/: move RpcClient from rpc_request.rs to rpc_client.rs
2019-03-16 23:27:23 -07:00
Michael Vines
7b314f47f7
Factor RPC request mechanism out of RpcClient into *RpcClientRequest
2019-03-16 23:27:23 -07:00
Michael Vines
23337e08eb
client/: Merge client.rs into thin_client.rs
2019-03-16 22:48:26 -07:00
Michael Vines
e2c24481e4
wallet/ now only dev-depends on core/
2019-03-16 21:40:39 -07:00
Michael Vines
ad252fe4c5
Remove unnecessary Option from get_account_data
2019-03-16 11:32:01 -07:00
Michael Vines
4b04bc8612
Move thin_client RPC requests into rpc_request; de-mut thin_client
2019-03-16 11:32:01 -07:00
Michael Vines
bcc34b906c
Relieve the caller of having to care about the rpc request id
2019-03-16 11:32:01 -07:00
Michael Vines
c2b1010f18
Clarify url vs addr
2019-03-16 11:32:01 -07:00
Michael Vines
ad12b0efce
Bump kvstore version to 0.13.0 to match all other solana crates ( #3334 )
2019-03-15 19:05:24 -05:00
Sagar Dhawan
00f005af25
Fix leader rotation counter
2019-03-15 17:01:18 -07:00
Mark
656fb173f9
Extract kvstore into separate crate ( #3327 )
...
* extract kvstore into new crate
* add kvstore crate to CI publishing list
2019-03-15 18:42:47 -05:00
Pankaj Garg
971da7325d
Reduce log level for periodic debug messages
2019-03-15 15:41:26 -07:00
Greg Fitzgerald
e091aa87ea
More precise constructor names
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
968022a1b0
Instruction name swap
...
* Instruction -> GenericInstruction
* Instruction<u8, u8> -> CompiledInstruction
* Instruction<Pubkey, (Pubkey, bool)> -> Instruction
2019-03-15 14:46:44 -06:00
Pankaj Garg
66fb1bbb2e
Give last leader some grace ticks to catch up ( #3299 )
...
* Wait for last leader for some ticks
* New tests and fixed existing tests
2019-03-15 13:22:16 -07:00
Mark
fa3e1fa7c9
Add error correction to write-log ( #3323 )
2019-03-15 15:04:34 -05:00
carllin
36763d0802
Cleanup entry.rs packing code ( #3303 )
2019-03-15 12:48:32 -07:00
Sagar Dhawan
be5f800390
Use the Mining Proof's Signature as storage keys ( #3321 )
2019-03-15 11:44:10 -07:00
Mark
ca69b7b75b
Add CRC Reader and Writer I/O wrappers ( #3322 )
...
* add CRC Reader and Writer I/O wrappers
* typo fix and variable rename
2019-03-15 13:17:49 -05:00
Mark
a15927f8d0
make KvStore Send+Sync ( #3317 )
2019-03-15 13:01:34 -05:00
Mark
be1511a7ff
delete accidental file ( #3316 )
2019-03-15 11:28:08 -05:00
Greg Fitzgerald
d72cac6e97
Fix chacha test
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
7b4568b9bf
Migrate to sign_checked()
2019-03-15 09:06:54 -06:00
Michael Vines
57606c6bf8
Bump log level for better CI logs
2019-03-15 07:48:23 -07:00
Rob Walker
5741400713
add support for finding the next slot a node will be leader ( #3298 )
2019-03-14 16:06:56 -07:00
Rob Walker
9f02a8d3d0
remove ticks_per_slot from blocktree ( #3297 )
2019-03-14 15:18:37 -07:00
Stephen Akridge
c208f4dbb5
Add option of replicators to local cluster test
2019-03-14 13:55:11 -07:00
Greg Fitzgerald
c1eec0290e
Rename userdata to data ( #3282 )
...
* Rename userdata to data
Instead of saying "userdata", which is ambiguous and imprecise,
say "instruction data" or "account data".
Also, add `ProgramError::InvalidInstructionData`
Fixes #2761
2019-03-14 10:48:27 -06:00
dependabot[bot]
77a7ffe543
Bump hex-literal from 0.1.3 to 0.1.4
...
Bumps [hex-literal](https://github.com/RustCrypto/utils ) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/RustCrypto/utils/releases )
- [Commits](https://github.com/RustCrypto/utils/compare/hex-literal-v0.1.3...hex-literal-v0.1.4 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-14 07:21:32 -06:00
Greg Fitzgerald
e58220282a
Move TransactionError into the SDK
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
4ca4038d54
Rename BankError to TransactionError
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
6fd0d4dcf5
Boot error piggybacking on BankError
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
6a89c68a1d
Add utility function to help get System error out of ProgramError
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
c14cce4c85
Add InstructionError for runtime instruction errors
2019-03-13 21:26:57 -06:00
Stephen Akridge
959961b596
Modified test
2019-03-13 18:18:27 -07:00
Pankaj Garg
6f76c2da6c
Fix confirmation test
2019-03-13 17:50:53 -07:00
carllin
af03df38b9
Don't vote for empty leader transmissions ( #3248 )
...
* Don't vote for empty leader transmissions
* Add is_delta flag to bank to detect empty leader transmissions
* Plumb new is_votable flag through replay stage
* Fix PohRecorder tests
* Change is_delta to AtomicBool to avoid making Bank references mutable
* Reset start slot in poh_recorder when working bank is cleared, so that connsecutive TPU's will start from the correct place
* Use proper max tick height calculation
* Test for not voting on empty transmission
* tests for is_votable
2019-03-13 14:06:12 -07:00
Stephen Akridge
64de639817
Fixes to replicator
...
Move functionality into more functions.
Break down the current test and just test creation/joining the network.
2019-03-13 10:15:03 -07:00
Stephen Akridge
ec9e13d1f4
Add repair slot range
...
Use default impl RepairSlotRange
2019-03-13 10:15:03 -07:00
Tyera Eulberg
1d689e84f1
Move and rename cluster_client
2019-03-12 22:05:38 -06:00
Tyera Eulberg
12fde77ecd
Update crate references
2019-03-12 22:05:38 -06:00
carllin
cb3eeace56
Replay Stage start_leader() can use wrong parent fork() ( #3238 )
...
* Make sure start_leader starts on the last voted block, not necessarily the biggest indexed bank in frozen_slots()
* Fix tvu test
2019-03-12 17:42:53 -07:00
Rob Walker
06cb266cfe
remove unused code ( #3252 )
2019-03-12 16:46:41 -07:00
Michael Vines
abdd4f371b
Adjust readme path
2019-03-12 14:02:51 -07:00
carllin
13adee332e
Add retry transfer logic to kill_entry_and_spend_and_verify_rest to account for dead forks ( #3239 )
2019-03-12 13:48:02 -07:00
Michael Vines
1ee43a7633
Remove non-essential programs from runtime/
2019-03-12 15:11:59 -05:00
Sagar Dhawan
7b35114c0f
Filter vote accounts with no delegate from being selected in Rotation ( #3224 )
2019-03-11 17:58:21 -07:00
Pankaj Garg
b418525464
Update current leader information in metrics and dashboard
2019-03-11 17:43:59 -07:00
Michael Vines
6899bd7099
0.13.0
2019-03-11 16:21:19 -07:00
Mark
56b0ba2601
KvStore - A data-store to support BlockTree ( #2897 )
...
* Mostly implement key-value store and add integration points
Essential key-value store functionality is implemented, needs more work to be integrated, tested, and activated.
Behind the `kvstore` feature.
2019-03-11 17:53:14 -05:00
Michael Vines
3073ebb20d
reduce pub
2019-03-11 17:09:21 -05:00
Stephen Akridge
f8e07ef5a3
banking_stage_entryfication fails when run as cargo test
...
Add some retry for getting entries from the channel.
2019-03-11 14:13:32 -07:00
Carl
a4b6d181a2
rename forwarder ports to tpu_via_blobs
2019-03-11 14:07:17 -07:00