Commit Graph

  • b301fe2846 Whitespace JoelKatz 2011-11-29 16:44:08 -08:00
  • dc8cd59c1d Fix some small bugs in the Ledger code. Add a unit test. (Needs more tests.) JoelKatz 2011-11-29 16:43:32 -08:00
  • eb2efd5a3c Fix some typos. JoelKatz 2011-11-29 16:43:18 -08:00
  • 7572f0a3e3 Fix a bug where dirtying the root doesn't update the special root pointer. JoelKatz 2011-11-29 16:42:50 -08:00
  • ff8b9aafa6 Remove debug code accidentally commited. JoelKatz 2011-11-29 16:22:17 -08:00
  • 66fec28ffe Cleanup, additional debug, and a very painful bugfix that turned out to be a 1 instead of a 0. JoelKatz 2011-11-29 11:26:45 -08:00
  • 10ca256063 Updates. JoelKatz 2011-11-29 11:23:53 -08:00
  • 11f9e111de Construct the next ledger from the existing ledger. Close ledger logic. JoelKatz 2011-11-28 19:34:16 -08:00
  • 75f1eb80a4 Make these pieces work together. JoelKatz 2011-11-28 19:33:50 -08:00
  • aee1e9f180 Bugfix. Add 16-bit types. JoelKatz 2011-11-28 14:02:33 -08:00
  • ebb9a9c255 Build enough information into the leaf nodes so that they can be parsed without knowledge of the objects they contain. This will allow new transaction or account formats to be added (possibly with larger data sizes) without breaking the ability to parse the hash trees. It also simplifies the operation-specific tree code (since it doesn't have to parse the raw leaf data). JoelKatz 2011-11-28 13:59:34 -08:00
  • e87a027df2 Code to boostrap the initial ledger. JoelKatz 2011-11-26 00:57:31 -08:00
  • 06a9bc5520 Transaction status, REMOVED. JoelKatz 2011-11-25 21:53:12 -08:00
  • fe3acce262 Some missing functions. JoelKatz 2011-11-25 21:52:54 -08:00
  • badf382903 Note that 'insufficient funds' can occur when removing a transaction too, if the funds have already been spent by another transaction. When removing a transaction, any 'subsequent' dependent transactions must be removed first. JoelKatz 2011-11-25 21:51:30 -08:00
  • d4030472e7 Cleanups. Function to fully remove/undo a transaction from a ledger. JoelKatz 2011-11-25 21:50:58 -08:00
  • c6f50c8d59 Missing helper functions. JoelKatz 2011-11-25 21:50:50 -08:00
  • d176e9d2c7 Bugfixes. isChildLeaf had wrong test. peekNextItem walked the wrong way. JoelKatz 2011-11-25 17:10:42 -08:00
  • 9eb8188627 Update JoelKatz 2011-11-25 13:52:33 -08:00
  • 01f5740add Endian fix. SHAMap now passes its (admittedly anemic right now) unit test. JoelKatz 2011-11-25 13:52:04 -08:00
  • 354da99038 Correct depth to 20+leaf, not 10+leaf. JoelKatz 2011-11-25 13:51:47 -08:00
  • a9e6f0b70f Bugfix: Put root node in map. JoelKatz 2011-11-25 13:51:34 -08:00
  • 997ea843d1 These uint160/uint256 types internally use little-endian. JoelKatz 2011-11-25 13:51:18 -08:00
  • 0df9ec91fa Debug and unit test code. Copy on write logic. Bugfixes. JoelKatz 2011-11-25 00:03:33 -08:00
  • 83b2f8b73a Simplify. Rewrite SHAMap::dirtyUp. JoelKatz 2011-11-23 23:45:26 -08:00
  • 51f3f4e1a4 Some missing handlers. SHAMap traversal top-level code. JoelKatz 2011-11-23 14:57:11 -08:00
  • 5fc9233fb5 More ledger functions, updateAccountState/addTransaction. JoelKatz 2011-11-23 12:50:51 -08:00
  • 17c265ee24 Some cleanups. Add functions that avoid an allocate/copy/free where that's not needed. JoelKatz 2011-11-23 12:50:05 -08:00
  • 451b719ffc Transaction::setStatus was missing. JoelKatz 2011-11-23 12:49:38 -08:00
  • 9462cd6718 Account state conversion from ledger to structure forms. JoelKatz 2011-11-23 12:48:45 -08:00
  • 6c7fd5f195 More work on core ledger and transaction processing code. JoelKatz 2011-11-22 15:42:03 -08:00
  • 41309b6f72 Part of the 'tray' implementation to avoid a burst of load on ledger close JoelKatz 2011-11-21 13:10:12 -08:00
  • 73578d6313 Begin trying the ledger code in. JoelKatz 2011-11-21 13:09:47 -08:00
  • 34265cd55b Small updates. JoelKatz 2011-11-21 13:09:31 -08:00
  • 4d8894f71a It makes much more sense to keep the from account pointer in the transaction JoelKatz 2011-11-18 20:07:57 -08:00
  • fa60ccd2df Start tying all these classes together: JoelKatz 2011-11-18 11:23:06 -08:00
  • 4096bad636 Cleanup JoelKatz 2011-11-17 22:05:35 -08:00
  • b7046ae6f3 Starting tying into serializer code. JoelKatz 2011-11-17 22:05:13 -08:00
  • 8ae29a3f06 Small cleanups JoelKatz 2011-11-17 22:04:36 -08:00
  • 76b7b3c68e More SHA map work. JoelKatz 2011-11-17 19:57:19 -08:00
  • 477b2df276 More work on the SHAMap/Serialize classes. JoelKatz 2011-11-17 18:11:11 -08:00
  • e7bae43261 Continue implementation these classes. JoelKatz 2011-11-17 12:22:25 -08:00
  • 7137f759a9 Serialization functions. JoelKatz 2011-11-17 12:18:32 -08:00
  • 55b2111fd5 Updates. Create a class to hold an item in a SHAMap, separating the tag from the data (it's not always the hash of the data). Make ScopedLock's recursive. JoelKatz 2011-11-15 10:49:14 -08:00
  • 14988dec90 Updates JoelKatz 2011-11-15 10:48:52 -08:00
  • c42d3d0fe9 Typo JoelKatz 2011-11-15 10:46:19 -08:00
  • da8cdf854a Missing include JoelKatz 2011-11-15 10:46:12 -08:00
  • 4625a55c25 Fixes. JoelKatz 2011-11-14 19:48:49 -08:00
  • 7fb40e1c55 Updates. JoelKatz 2011-11-14 19:48:46 -08:00
  • fbf6967d82 Continue fleshing out these classes. JoelKatz 2011-11-14 17:32:05 -08:00
  • ccea015c6a Start coding the guts of the SHAMap structure that will hold, synchronize, sign, and validate our account balances and transactions. JoelKatz 2011-11-14 15:21:14 -08:00
  • 748a4d62ca Allow nodes to add status information to transactions they pass on JoelKatz 2011-11-14 10:40:01 -08:00
  • 2c45e16d5a Keep binary objects in a hash-indexed table. Remove redundant fields. JoelKatz 2011-11-14 10:39:29 -08:00
  • b4198029af Class for tracking conflicted/rejected transactions JoelKatz 2011-11-14 10:39:09 -08:00
  • 2793311400 Cleanup. JoelKatz 2011-11-12 14:12:45 -08:00
  • 53b61d4d65 Start to flesh out this code. JoelKatz 2011-11-12 14:12:38 -08:00
  • 3f8f7789b3 Tiny mistake in previous commit. JoelKatz 2011-11-11 16:38:49 -08:00
  • 3452211310 For some reason, Boost provides no good way to return a scoped lock. It appears people usually fake it by not using RAII. This tiny bit of ugliness will make returned scope lock holders work. JoelKatz 2011-11-11 16:32:21 -08:00
  • e9ae645e3b Transaction Infrastructure Work: Raw account class (address + public key) Account State class (account + balance + ledgers valid) Raw Hanko class Low-level tranasaction class Small wallet and key bits Misc updates to the protocol. Protocol addition to allow code to wait for replies, but that may not be a good idea. JoelKatz 2011-11-11 14:13:25 -08:00
  • fd7e41501b Updated transaction header. JoelKatz 2011-11-10 21:16:49 -08:00
  • 06816dd73e The low-level code that manages a tree of hash nodes. This manages the individual nodes but not the logic that connects them. It is designed around the assumption that not all nodes are necessarily resident in memory. JoelKatz 2011-11-10 21:15:32 -08:00
  • 965551f898 Updates. Prevent one type of signature being introduced as another. Some indexes. JoelKatz 2011-11-10 21:15:05 -08:00
  • eca7512d96 Update as agreed. Fix Hanko confusion. Remove some extraneous stuff. JoelKatz 2011-11-09 16:17:53 -08:00
  • 8e2c103c67 Update to fix into new scheme. Simplify some parts. JoelKatz 2011-11-09 13:51:58 -08:00
  • 07df5f1f81 Add binary formats and SQLite database layouts. JoelKatz 2011-11-09 13:46:32 -08:00
  • 89670ccff6 Add support for hanko https URL. Make IPs optional so nodes can be anonymous JoelKatz 2011-11-08 11:51:56 -08:00
  • e968e59a01 Remove file added by mistake. JoelKatz 2011-11-08 11:49:37 -08:00
  • df2734142b Makefile updates JoelKatz 2011-11-08 10:00:38 -08:00
  • 6c50e202dd Updates to protocol Add ping function to test connectivity, detect send buffer attacks, and sync time. Report a client's own IP back to it. Add a status field to transactions (optional, used for consensus building) Update contact field: Contact records are signed so you can't lie about other nodes Contact record can contain multiple addresses (say, one IPv4 and one IPv6) Contact record is timestamped, so you can't provide an obsolete one Nodes can extend their contact record with an URL, organization name, or policy Add a command to request contact information. Allow nodes to locate nodes in their static trust list if they wish. JoelKatz 2011-11-08 09:55:59 -08:00
  • b0002dc62a We compile and link on Linux now, except for runTests JoelKatz 2011-11-07 14:25:00 -08:00
  • 4bf1e52c7b Put back the code I commented out. Fix the non-const reference bound to a temporary. JoelKatz 2011-11-07 13:57:27 -08:00
  • 1d140e8829 Sync Linux tweaks. JoelKatz 2011-11-07 13:45:32 -08:00
  • beef9b47d5 Create 'Makefile'. Make code compile on Linux. (Still does not link.) JoelKatz 2011-11-07 13:18:13 -08:00
  • aa7946dcfd . jed 2011-11-03 11:17:06 -07:00
  • 7436a8deec . jed 2011-10-28 16:51:35 -07:00
  • e68b0fb8d1 . jed 2011-10-27 16:59:42 -07:00
  • 7eae6e5886 added sqllite jed 2011-10-27 13:04:08 -07:00
  • d26577ffd7 . jed 2011-10-26 20:49:04 -07:00
  • 880c763dea . jed 2011-10-26 16:10:43 -07:00
  • fed4350ccc . jed 2011-10-25 16:56:15 -07:00
  • 11a964ffed . jed 2011-10-21 11:32:23 -07:00
  • 0416d64fdc . jed 2011-10-20 16:34:22 -07:00
  • 650ee74391 . jed 2011-10-20 13:34:49 -07:00
  • 6715b966fc . jed 2011-10-14 12:06:55 -07:00
  • a8e8613475 first jed 2011-10-14 11:39:06 -07:00