Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						81e2b36d38 
					 
					
						
						
							
							Cleanup packet_verify  
						
						
						
						
							
						
					 
					
						2018-04-06 15:24:15 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						7d811afab1 
					 
					
						
						
							
							Parallelize CPU sig verify  
						
						
						
						
							
						
					 
					
						2018-04-06 15:21:49 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						39f5aaab8b 
					 
					
						
						
							
							Merge pull request  #110  from garious/parallelize-accountant  
						
						... 
						
						
						
						Parallel processing of arbitrary transactions 
						
						
							
						
					 
					
						2018-04-06 09:02:36 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						5fc81dd6c8 
					 
					
						
						
							
							Fix the nightly build  
						
						... 
						
						
						
						Nightly uses a different (but backward compatible) version of rustfmt. 
						
						
							
						
					 
					
						2018-04-05 22:39:29 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						491a530d90 
					 
					
						
						
							
							Support parallelization of arbitrary transactions  
						
						... 
						
						
						
						Still assumes witnesses are processed serially afterward. 
						
						
							
						
					 
					
						2018-04-05 22:30:25 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						c12da50f9b 
					 
					
						
						
							
							Fix race condition  
						
						... 
						
						
						
						Without this patch, it was possible for two transactions with the same
'from' address to drive its balance below zero. With the patch, we'll
hold a write lock from just before we verify sufficient funds until
after those funds are deducted from the account. 
						
						
							
						
					 
					
						2018-04-05 22:30:25 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						41e8500fc5 
					 
					
						
						
							
							Break up process_verified_transaction()  
						
						
						
						
							
						
					 
					
						2018-04-05 22:29:13 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						a7f59ef3c1 
					 
					
						
						
							
							Merge pull request  #109  from sakridge/wip_gpu  
						
						... 
						
						
						
						Change for cuda verify integration 
						
						
							
						
					 
					
						2018-04-05 22:24:35 -06:00 
						 
				 
			
				
					
						
							
							
								Stephen Akridge 
							
						 
					 
					
						
						
							
						
						f4466c8c0a 
					 
					
						
						
							
							Change for cuda verify integration  
						
						
						
						
							
						
					 
					
						2018-04-05 20:00:44 -07:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						bc6d6b20fa 
					 
					
						
						
							
							Merge pull request  #108  from garious/parallelize-accountant  
						
						... 
						
						
						
						Reject old transactions so that we can boot old signatures 
						
						
							
						
					 
					
						2018-04-05 15:11:22 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						01326936e6 
					 
					
						
						
							
							Expire all transactions after some amount of time  
						
						... 
						
						
						
						Reject old transactions so that we can calculate an upper bound
for memory usage, and therefore ensure the server won't slow
down over time to crash due to memory exhaustion. 
						
						
							
						
					 
					
						2018-04-05 10:26:45 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						c960e8d351 
					 
					
						
						
							
							Reject transactions with a last_id that isn't from this ledger  
						
						... 
						
						
						
						Before this patch, a client could put any value into `last_id` and
was primarily there to ensure the transaction had a globally unique
signature. With this patch, the server can use `last_id` as an
indicator of how long its been since the transaction was created.
The server may choose to reject sufficiently old transactions so
that it can forget about old signatures. 
						
						
							
						
					 
					
						2018-04-05 09:54:03 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						fc69d31914 
					 
					
						
						
							
							Merge pull request  #106  from garious/parallelize-accountant  
						
						... 
						
						
						
						Parallelize accountant 
						
						
							
						
					 
					
						2018-04-04 22:42:28 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						8d425e127b 
					 
					
						
						
							
							Update benchmark to avoid write locks in sig duplicate detection  
						
						
						
						
							
						
					 
					
						2018-04-04 17:29:22 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						3cfb07ea38 
					 
					
						
						
							
							Sort signatures by last_id  
						
						... 
						
						
						
						This will allow for additional concurrency as well as give the server
a means of garbage-collecting old signatures. 
						
						
							
						
					 
					
						2018-04-04 17:06:31 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						76679ffb92 
					 
					
						
						
							
							Per-cell locking  
						
						... 
						
						
						
						This allows us to use read-locks for balances most of the time. We
only lock the full table if we need to add one. 
						
						
							
						
					 
					
						2018-04-04 16:31:13 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						dc2ec925d7 
					 
					
						
						
							
							Better test  
						
						
						
						
							
						
					 
					
						2018-04-04 16:01:43 -06:00 
						 
				 
			
				
					
						
							
							
								anatoly yakovenko 
							
						 
					 
					
						
						
							
						
						81d6ba3ec5 
					 
					
						
						
							
							Merge pull request  #105  from garious/coverage-comments  
						
						... 
						
						
						
						Add the 'why' for code coverage to readme 
						
						
							
						
					 
					
						2018-04-04 14:34:26 -07:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						014bdaa355 
					 
					
						
						
							
							Add benchmark for parallel transaction processing  
						
						
						
						
							
						
					 
					
						2018-04-04 12:43:27 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						0c60fdd2ce 
					 
					
						
						
							
							Make accountant thread-safe  
						
						... 
						
						
						
						Before this change, parallel transaction processing required locking
the full accountant. Since we only call one method,
process_verified_transaction, the global lock equates to doing no
parallelization at all.  With this change, we only lock the data that's
being written to. 
						
						
							
						
					 
					
						2018-04-04 12:33:03 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						43d986d14e 
					 
					
						
						
							
							Add the 'why' for code coverage to readme  
						
						
						
						
							
						
					 
					
						2018-04-04 09:26:38 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						123d7c6a37 
					 
					
						
						
							
							Merge pull request  #99  from aeyakovenko/subscribers  
						
						... 
						
						
						
						Blobs and windows 
						
						
							
						
					 
					
						2018-04-03 17:12:53 -06:00 
						 
				 
			
				
					
						
							
							
								Anatoly Yakovenko 
							
						 
					 
					
						
						
							
						
						5ac7df17f9 
					 
					
						
						
							
							Implement window service  
						
						... 
						
						
						
						Batch out of order blobs until we have a contigious window. 
						
						
							
						
					 
					
						2018-04-03 13:53:19 -07:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						bc0dde696a 
					 
					
						
						
							
							Merge pull request  #102  from garious/rollback  
						
						... 
						
						
						
						Fix clippy warnings 
						
						
							
						
					 
					
						2018-04-03 10:08:42 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						c323bd3c87 
					 
					
						
						
							
							Fix clippy warnings  
						
						
						
						
							
						
					 
					
						2018-04-03 09:55:33 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						5c672adc21 
					 
					
						
						
							
							Merge pull request  #101  from garious/rollback  
						
						... 
						
						
						
						Move tests 
						
						
							
						
					 
					
						2018-04-02 21:58:10 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						2f80747dc7 
					 
					
						
						
							
							Move tests  
						
						... 
						
						
						
						After we restructured for parallel verification, the tests here
were unreferenced by the accountant, but still meaningful to
transaction verification. 
						
						
							
						
					 
					
						2018-04-02 21:45:21 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						95749ed0e3 
					 
					
						
						
							
							Merge pull request  #100  from garious/rollback  
						
						... 
						
						
						
						Cleanup use of event signatures and entry hashing 
						
						
							
						
					 
					
						2018-04-02 21:17:37 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						94eea3abec 
					 
					
						
						
							
							fmt  
						
						
						
						
							
						
					 
					
						2018-04-02 21:15:21 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						fe32159673 
					 
					
						
						
							
							Add a test to ensure witness data continues to be hashed  
						
						
						
						
							
						
					 
					
						2018-04-02 21:07:38 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						07aa2e1260 
					 
					
						
						
							
							Add witness data to entry hash  
						
						... 
						
						
						
						Otherwise, witnesses can be dropped or reordered by a malicious
generator. 
						
						
							
						
					 
					
						2018-04-02 20:47:51 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						6fec8fad57 
					 
					
						
						
							
							Adding from to the signature is redundant  
						
						
						
						
							
						
					 
					
						2018-04-02 20:34:18 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						84df487f7d 
					 
					
						
						
							
							Merge pull request  #97  from garious/rollback  
						
						... 
						
						
						
						Refactoring for rollback 
						
						
							
						
					 
					
						2018-04-02 15:41:33 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						49708e92d3 
					 
					
						
						
							
							Use last_id instead of seed  
						
						... 
						
						
						
						It doesn't really matter, but was confusing since the seed points
to an entry before the mint's deposit. 
						
						
							
						
					 
					
						2018-04-02 15:06:42 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						daadae7987 
					 
					
						
						
							
							Move replaying ledger out of accountant  
						
						
						
						
							
						
					 
					
						2018-04-02 14:51:55 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						2b788d06b7 
					 
					
						
						
							
							Move the historian up to accountant_skel  
						
						
						
						
							
						
					 
					
						2018-04-02 14:41:07 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						90cd9bd533 
					 
					
						
						
							
							Move balance check so that log_* methods are only used to add logging  
						
						
						
						
							
						
					 
					
						2018-04-02 14:14:49 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						d63506f98c 
					 
					
						
						
							
							No longer allow deposits outside the constructor  
						
						
						
						
							
						
					 
					
						2018-04-02 14:00:42 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						17de6876bb 
					 
					
						
						
							
							Add simpler accountant constructor  
						
						
						
						
							
						
					 
					
						2018-04-02 13:51:44 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						fc540395f9 
					 
					
						
						
							
							Update docs  
						
						
						
						
							
						
					 
					
						2018-04-02 11:51:56 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						da2b4962a9 
					 
					
						
						
							
							Move verify_slice() into a trait  
						
						
						
						
							
						
					 
					
						2018-04-02 11:43:38 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						3abe305a21 
					 
					
						
						
							
							Move reserve_signatures into accountant  
						
						... 
						
						
						
						Reasons Transaction signatures need to be unique:
1. guard against duplicates
2. accountant uses them as IDs to link Witness signatures to transactions via the
`pending` hash map 
						
						
							
						
					 
					
						2018-04-02 09:38:36 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						46e8c09bd8 
					 
					
						
						
							
							Revoke API access to first_id  
						
						
						
						
							
						
					 
					
						2018-04-02 09:30:10 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						e683c34a89 
					 
					
						
						
							
							Version bump  
						
						
						
						
							
 
						
					 
					
						2018-03-31 14:44:43 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						54e4f75081 
					 
					
						
						
							
							Merge pull request  #95  from jackson-sandland/source-documentation-review  
						
						... 
						
						
						
						94: source doc review 
						
						
							
						
					 
					
						2018-03-30 14:50:51 -06:00 
						 
				 
			
				
					
						
							
							
								Jackson Sandland 
							
						 
					 
					
						
						
							
						
						9f256f0929 
					 
					
						
						
							
							94 - snakecase mod names  
						
						
						
						
							
						
					 
					
						2018-03-30 13:10:27 -07:00 
						 
				 
			
				
					
						
							
							
								Jackson Sandland 
							
						 
					 
					
						
						
							
						
						ef169a6652 
					 
					
						
						
							
							94: source doc review  
						
						
						
						
							
						
					 
					
						2018-03-30 10:43:38 -07:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						eaec25f940 
					 
					
						
						
							
							Version bump  
						
						
						
						
							
 
						
					 
					
						2018-03-29 15:05:38 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						6a87d8975c 
					 
					
						
						
							
							Merge pull request  #93  from garious/par-req-processing  
						
						... 
						
						
						
						Better benchmark, fix logging 
						
						
							
						
					 
					
						2018-03-29 14:02:40 -06:00 
						 
				 
			
				
					
						
							
							
								Greg Fitzgerald 
							
						 
					 
					
						
						
							
						
						b8cf5f9427 
					 
					
						
						
							
							Fix transaction logging  
						
						
						
						
							
						
					 
					
						2018-03-29 13:50:32 -06:00