Michael Vines
45cfa5b574
Add instruction to transfer account ownership
2018-10-20 21:54:25 -05:00
Pankaj Garg
df9ccce5b2
Remove hostname() from calls to metrics as it's expensive operation ( #1557 )
2018-10-20 06:38:20 -07:00
jackcmay
f8516b677a
Load program data in chunks ( #1556 )
...
Load program data in chunks
2018-10-19 18:28:38 -07:00
Pankaj Garg
dfde83bdce
Wildcard early OOM deb package revision ( #1554 )
2018-10-19 14:17:19 -07:00
Stephen Akridge
cb0f19e4f1
Shield rerun-if-changed under the feature flags so
...
that cargo watch doesn't cause re-build every iteration.
2018-10-19 12:07:29 -07:00
Greg Fitzgerald
26b99d3f85
Ensure witness and timestamp keys are signed
...
Before this patch, an attacker could point Budget instructions to
unsigned keys, and authorize a transaction from an unauthorized
party.
2018-10-19 10:06:59 -06:00
Greg Fitzgerald
2f9c0d1d9e
Add method to lookup signed keys
2018-10-19 10:06:59 -06:00
anatoly yakovenko
0423cafbeb
Cleanup and update Smart Contracts Engine RFC to what is currently in the code ( #1539 )
...
* Cleanup and update to the state of the code
* update
* render
* render
* comments on memory allocation
2018-10-19 06:08:49 -07:00
carllin
0bd1412562
Switch leader scheduler to use PoH ticks instead of Entry height ( #1519 )
...
* Add PoH height to process_ledger()
* Moved broadcast_stage Leader Scheduling logic to use Poh height instead of entry_height
* Moved LeaderScheduler logic to PoH in ReplicateStage
* Fix Leader scheduling tests to use PoH instead of entry height
* Change is_leader detection in repair() to use PoH instead of entry height
* Add tests to LeaderScheduler for new functionality
* fix Entry::new and genesis block PoH counts
* Moved LeaderScheduler to PoH ticks
* Cleanup to resolve PR comments
2018-10-18 22:57:48 -07:00
jackcmay
0339642e77
Added TicTacToe Dashboard and tests ( #1547 )
...
* Add tictactoe dashboard and tests
2018-10-18 14:19:25 -07:00
Stephen Akridge
37a0b7b132
Initial validator code for rust side hooks for chacha cuda parallel encrypt
2018-10-18 13:50:19 -07:00
Stephen Akridge
c30b605047
Actually submit the storage mining proof
...
Get an aidrop so replicator can submit mining transaction
Some other minor type cleanup.
2018-10-18 13:50:19 -07:00
Rob Walker
76076d6fad
move last_id age checking into the HashMap
...
* allows for simpler chaining of banks
* looks 1.5-2% faster than looping through a VecDequeue
TODO: remove timestamp()?
2018-10-18 11:07:00 -07:00
jackcmay
0a819ec4e2
Programs were not spawned by SystemProgram ( #1533 )
...
* SystemProgram spawns programs
2018-10-18 10:33:30 -07:00
Michael Vines
57a717056e
Delegate accounts now record the original approved amount
2018-10-18 08:53:25 -07:00
Greg Fitzgerald
856c48541f
Restore elaborate attack
...
The test is showing how you can sneak by verify_plan() but not
verify_signature().
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
2045091c4f
Add SystemProgram::Move ix to Budget tx
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
03ac5a6eef
Move all source tokens into Budget account
...
Budget now assumes the source account holds all tokens the program
should spend.
Note: the static guarantees implied by verify_plan() are meaningless
under the new contract engine. The bank no longer calls it. This
serves as a nice example of where comparing code coverage between
integration tests and unit tests would have shown us where a
change rendered unit tests meaningless.
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
32fadc9c30
Merge debits and credits
...
Debits no longer need to be applied before credits. Instead, we
lock any accounts we'd debit and so error out on the second attempt
to lock the same account.
2018-10-18 08:46:02 -06:00
Greg Fitzgerald
15a89d4f17
Boot Contract type from Budget
...
In the old bank (before the contract engine), Contract wasn't specific
to Budget. It provided the same service as what is now called
SystemProgram::Move, but without requiring a separate account.
2018-10-18 08:46:02 -06:00
Rob Walker
d0f43e9934
consolidate tmp ledgers
2018-10-18 08:45:31 -06:00
Pankaj Garg
31e779d3f2
Added counters to track more metrics on dashboard ( #1535 )
...
- Total number of IP packets TX/RX from all nodes in the testnet
- Last consumed index on validator
- Last transmitted index on leader
2018-10-17 17:32:50 -07:00
Pankaj Garg
30c79fd40d
Change validator node machine type ( #1537 )
...
- The current nodes are using lower RAM compared to leader/clients
2018-10-17 17:16:50 -07:00
Pankaj Garg
639c93460a
Write stage optimizations ( #1534 )
...
- Testnet dashboard shows that channel pressure for write stage
is incrementing on every iteration of write.
- This change optimizes ledger writing by removing cloning of map
and reducing calls to flush
2018-10-17 13:02:32 -07:00
Rob Walker
7611730cdb
move off /tmp
2018-10-17 12:15:30 -07:00
Rob Walker
9df9c1433a
remove another use of /tmp
2018-10-17 12:15:30 -07:00
Rob Walker
4ea422bcec
run integration tests serially
2018-10-17 11:37:10 -07:00
Greg Fitzgerald
6074e4f962
Attempt to stabilize the test suite
...
The integration tests are allowed to open sockets, so running them
in parallel may cause "Too many open files" errors. This patch
runs the unit tests in parallel and the integration test serially.
2018-10-17 11:37:10 -07:00
Nikhil Saraf
d52e6d01ec
typo in readme
2018-10-17 02:04:05 -06:00
Jack May
63caca33be
SystemProgram test was failing due to expected panic
2018-10-16 18:02:44 -07:00
Jack May
64efa62a74
enable logging in loaders
2018-10-16 16:55:11 -07:00
Rob Walker
912eb5e8e9
remove bank.is_leader, dead code ( #1516 )
2018-10-16 15:26:44 -07:00
Jack May
bb628e8495
Rename loaders
2018-10-16 14:27:08 -07:00
Jack May
d0c19c2c97
cargo fmt
2018-10-16 14:11:04 -07:00
Jack May
926fdb7519
Rename dynamic_program.rs to native_loader.rs
2018-10-16 14:11:04 -07:00
jackcmay
c886625c83
Move from solana/rbpf fork to qmonnet/rbpf ( #1511 )
2018-10-16 13:13:54 -07:00
Pankaj Garg
f6c10d8a2e
Add channel pressure for validator TVU stages ( #1509 )
2018-10-16 12:54:23 -07:00
anatoly yakovenko
2bd877528f
Par process entries ( #1499 )
...
* Parallel entry processor.
2018-10-16 12:09:48 -07:00
jackcmay
d09889b1dd
Program bank integration ( #1462 )
...
Native, BPF and Lua loaders integrated into the bank
2018-10-16 09:43:49 -07:00
Tyera Eulberg
1b2e9122d5
Pubsub listen on random open port when rpc does (quiet some test errors)
2018-10-16 00:11:26 -06:00
Tyera Eulberg
7424388924
Fix session drop
2018-10-16 00:11:26 -06:00
Michael Vines
537436bd5e
RPC PubSub now uses a well-known socket
2018-10-16 00:11:26 -06:00
Pankaj Garg
32fc0cd7e9
Fix bug introduced during RUST_LOG escaping ( #1507 )
...
* Fix bug introduced during RUST_LOG escaping
- remote node configuration should not be quoted
* shellcheck disable SC2090
2018-10-15 16:49:22 -07:00
Tyera Eulberg
fb99494858
Improve rpc code coverage ( #1487 )
2018-10-15 11:01:40 -06:00
Greg Fitzgerald
5b4d4b97bc
Upgrade to latest stable Rust, 1.29.2
2018-10-15 09:54:24 -06:00
Michael Vines
c5180c8092
Permit RUST_LOG overrides
2018-10-14 12:40:37 -07:00
Greg Fitzgerald
515c200d86
Refactor and add test for new Entry::serialized_size()
2018-10-14 10:53:47 -06:00
Greg Fitzgerald
32aab82e32
Don't allocate to see if transactions will fit in a blob
2018-10-14 10:53:47 -06:00
anatoly yakovenko
6aaa350145
effeciently pack gossip responsens and only respond up to max size. ( #1493 )
2018-10-14 06:45:02 -07:00
Michael Vines
d3b4dfe104
Add bool return to entrypoint signature to permit programs to fail transactions
2018-10-13 20:01:43 -07:00