Commit Graph

2453 Commits

Author SHA1 Message Date
Michael Vines 5c523716aa Ship native programs 2018-10-10 16:49:48 -07:00
Michael Vines 5f8cbf359e Use cdylib to avoid runtime libstd dependencies 2018-10-10 16:49:48 -07:00
Michael Vines e83834e6be Build native programs in release configuration 2018-10-10 16:49:48 -07:00
Michael Vines 02225aa95c Look for native programs in same directory as the current executable 2018-10-10 16:49:48 -07:00
carllin 9931ac9780
Leader scheduler plumbing (#1440)
* Added LeaderScheduler module and tests

* plumbing for LeaderScheduler in Fullnode + tests. Add vote processing for active set to ReplicateStage and WriteStage

* Add LeaderScheduler plumbing for Tvu, window, and tests

* Fix bank and switch tests to use new LeaderScheduler

* move leader rotation check from window service to replicate stage

* Add replicate_stage leader rotation exit test

* removed leader scheduler from the window service and associated modules/tests

* Corrected is_leader calculation in repair() function in window.rs

* Integrate LeaderScheduler with write_stage for leader to validator transitions

* Integrated LeaderScheduler with BroadcastStage

* Removed gossip leader rotation from crdt

* Add multi validator, leader test

* Comments and cleanup

* Remove unneeded checks from broadcast stage

* Fix case where a validator/leader need to immediately transition on startup after reading ledger and seeing they are not in the correct role

* Set new leader in validator -> validator transitions

* Clean up for PR comments, refactor LeaderScheduler from process_entry/process_ledger_tail

* Cleaned out LeaderScheduler options, implemented LeaderScheduler strategy that only picks the bootstrap leader to support existing tests, drone/airdrops

* Ignore test_full_leader_validator_network test due to bug where the next leader in line fails to get the last entry before rotation (b/c it hasn't started up yet). Added a test test_dropped_handoff_recovery go track this bug
2018-10-10 16:49:41 -07:00
Greg Fitzgerald 2ba2bc72ca Cleanup multisig lua 2018-10-10 17:17:17 -06:00
Greg Fitzgerald 45b8ba9ede Demo M-N multisig library in Lua 2018-10-10 17:17:17 -06:00
Michael Vines 40968e09b7 Do a *little* more than noop 2018-10-10 15:57:30 -07:00
Michael Vines 262f26cf76 SystemProgram transactions now fail on invalid arguments 2018-10-10 15:19:03 -07:00
Tyera Eulberg 785c619198
Add pubsub module for rpc info subscriptions (#1439) 2018-10-10 14:51:43 -06:00
Michael Vines 24a993710d Avoid panic when account.source is None 2018-10-10 10:53:00 -07:00
Pankaj Garg c240bb12ae Change buildkite agent for testnet automation 2018-10-09 15:04:55 -07:00
Michael Vines eed3b9db94 Add ERC20-like Token program 2018-10-09 12:53:37 -07:00
Pankaj Garg 29a8823db1
Env variables for testnet-automation parameters (#1455)
- This will enable us to create custom pipelines for field events
2018-10-09 11:50:56 -07:00
Pankaj Garg a80955eacb
Change format of data for TPS/Finality metrics in testnet automation (#1446)
* Change format of data for TPS/Finality metrics in testnet automation

* Revert number of nodes for testnet automation

* Split python command to its own script

* Fix python command line arguments
2018-10-09 10:35:01 -07:00
Greg Fitzgerald 9716c3de71 Add an abort test to justify a key field 2018-10-09 11:06:48 -06:00
Greg Fitzgerald 34fa3208e0 Demo self-modifying Lua program
Also, drop dependency on bincode.
2018-10-09 11:06:48 -06:00
Greg Fitzgerald 9c4e19958b Use accounts[1] for Lua code and tx userdata as arg data
This makes the Lua version nearly identical to the C one.
2018-10-09 11:06:48 -06:00
Greg Fitzgerald 0403299728 Add context-free Lua smart contracts
lua_State is not preserved across runs and account userdata is not converted into
Lua values. All this allows us to do is manipulate the number of tokens
in each account and DoS the Fullnode with those three little words,
"repeat until false".

Why bother? Research. rlua's project goals are well-aligned with the LAMPORT runtime.

What's next:
* rlua to add security limits, such as number of instructions executed
* Add a way to deserialize Account::userdata OR use Account::program_id
  to look up a metatable for lua_newuserdata().
2018-10-09 11:06:48 -06:00
Greg Fitzgerald 95701114e3 Crdt -> ClusterInfo 2018-10-09 03:49:39 -06:00
Rob Walker a99d17c3ac
put temp, test files in OUT_DIR (#1448) 2018-10-08 16:15:17 -07:00
Tyera Eulberg 517149d325 Move rpc request methods from wallet into separate module 2018-10-08 13:02:08 -06:00
Michael Vines 32aa2575b5 Purge BudgetTransaction from entry 2018-10-08 11:34:04 -07:00
Michael Vines 8fe7b96629 Purge BudgetTransaction from banking_stage 2018-10-08 11:34:04 -07:00
anatoly yakovenko 9350619afa
log to influx once (#1438) 2018-10-06 14:37:14 -07:00
anatoly yakovenko d8d8f0bfc8
Fund all the keys with move many transactions (#1436)
* Fund all the keys with move many transactions

* logs
2018-10-05 16:45:27 -07:00
Pankaj Garg 0a39722719
Add support to trigger testnet from a PR (#1434)
* Add support for different node counts

* Update variable names

* Delete network even after failures

* Add array for node counts

* Changed number of nodes to a space separated string of numbers

* Adjust number of nodes

* Snap will not be published if the env variable DO_NOT_PUBLISH_SNAP is set

* Address review comments

* Replaced influx db URL
2018-10-05 16:32:05 -07:00
Greg Fitzgerald 9c0fa4d1d2
Upload coverage HTML reports (#1421)
Uploads two reports to Buildkite, one from cargo-cov and one from lcov via grcov.  The lcov one is busted on linux and is what we need to bring codecov.io back up again. It works great on macos if you wanted to generate them locally and prefer lcov HTML reports.

* Also comment out non-coverage build to speed things up.
2018-10-05 10:17:35 -07:00
Greg Fitzgerald da0404ad03 Reduce maintenance of maintainers list 2018-10-04 23:05:08 -07:00
Greg Fitzgerald b508fdb62c Cleanup field names 2018-10-04 16:51:05 -07:00
Jack May 680f90df21 Fix comment 2018-10-04 14:21:06 -07:00
anatoly yakovenko 1a68807ad9
Enable mt-bank (#1368)
* Enable mt-bank

* cleanup and interleaving lock tests
2018-10-04 13:15:54 -07:00
Jack May d901767b54 Makefile is not relevant 2018-10-04 10:35:48 -07:00
jackcmay 13d4443d4d
Add BPF support & C-based BPF tic-tac-toe (#1422)
Add initial support for BPF and a C port of tictactoe
2018-10-04 09:44:44 -07:00
Carl 74b63c12a0 Add tests to LeaderScheduler to increase code coverage 2018-10-03 21:58:29 -07:00
Carl cd42f6591a PR fixes - remove redundant case 2018-10-03 21:58:29 -07:00
Carl 5491422b12 Fix validator_to_leader_transition test to not start up tpu after shutting down tvu, as the tpu now outputs ticks that will mess up the verification check 2018-10-03 21:58:29 -07:00
Carl 23f3ff3cf0 Added LeaderScheduler module and tests 2018-10-03 21:58:29 -07:00
Michael Vines f90488c77b Demote 'not enough peers in crdt table' log message 2018-10-02 22:00:54 -07:00
Michael Vines beb4536841
Run a fullnode+drone automatically when the container starts up 2018-10-02 18:09:35 -07:00
Stephen Akridge 3fa46dd66d Add replicator sha sampling
replicator will submit mining proofs with the result of sampling
the encrypted file with a hashing algorithm.
2018-10-02 17:04:46 -07:00
Michael Vines ad5fcf778f Publish minimal Solana docker images to dockerhub 2018-10-02 16:57:48 -07:00
Michael Vines 83b000ae88 Remove SNAP_ prefix 2018-10-02 16:57:48 -07:00
dependabot[bot] 33e179caa6 Update sha2 requirement from 0.7.0 to 0.8.0
Updates the requirements on [sha2](https://github.com/RustCrypto/hashes) to permit the latest version.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/commits/sha2-v0.8.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-02 09:00:05 -06:00
Michael Vines b1e941cab9
Return all instances 2018-10-01 07:51:48 -07:00
Michael Vines 6db961d256
Correct comment 2018-09-30 00:08:09 -07:00
Michael Vines 83409ded59 Correctly deserialize large userdata 2018-09-29 19:39:54 -07:00
Michael Vines 396b2e9772 Ignore keep alive for completed games 2018-09-29 19:39:54 -07:00
Greg Fitzgerald 94459deb94 Disable codecov.io reporting 2018-09-28 19:19:16 -07:00
Greg Fitzgerald 660af84b8d Use the same versions of llvm-cov and libprofile 2018-09-28 19:19:16 -07:00