Commit Graph

24985 Commits

Author SHA1 Message Date
Greg Fitzgerald aa0a184ebe Ensure the server isn't passed a Plan that spends more than is bonded 2018-03-11 11:53:45 -06:00
Anatoly Yakovenko 069f9f0d5d add ipv6 flag to cargo.toml 2018-03-11 12:53:16 -05:00
Anatoly Yakovenko c82b520ea8 remove unecessary returns 2018-03-11 11:45:17 -05:00
Anatoly Yakovenko 9d6e5bde4a ipv6 test with a separate flag 2018-03-11 11:22:21 -05:00
Greg Fitzgerald 0eb3669fbf cleanup timestamp processing 2018-03-11 00:30:01 -07:00
Greg Fitzgerald 30449b6054 cleanup sig processing 2018-03-11 00:11:08 -07:00
Greg Fitzgerald f5f71a19b8 First go at smart contracts
Needs lots of cleanup.
2018-03-10 22:00:48 -07:00
Anatoly Yakovenko 0135971769 Fast UdpSocket reader
* message needs to fit into 256 bytes
* allocator to keep track of blocks of messages
* udp socket receiver server that fills up the block as fast as possible
* udp socket sender server that sends out the block as fast as possible
2018-03-10 21:09:23 -06:00
Greg Fitzgerald 8579795c40 Ensure transactions won't get canceled after next refactor 2018-03-10 19:44:45 -07:00
Greg Fitzgerald 9d77fd7eec Store only spending plans, not full transactions 2018-03-10 18:35:10 -07:00
Greg Fitzgerald 8c40d1bd72 Move spending endpoints into expressions 2018-03-10 17:41:18 -07:00
Greg Fitzgerald 7a0bc7d888 Move smart contract fields into their own struct 2018-03-10 16:55:39 -07:00
Greg Fitzgerald 1e07014f86
Merge pull request #62 from garious/batch-events
Batch events
2018-03-09 17:37:02 -07:00
Greg Fitzgerald 49281b24e5 Move Tick out of Event
Every Entry is now a Tick and the entries contain events.
2018-03-09 17:22:17 -07:00
Greg Fitzgerald a8b1980de4 Restore reorder attack test 2018-03-09 17:02:17 -07:00
Greg Fitzgerald b8cd5f0482 Boot Cargo.lock from git
Only add Cargo.lock to downstream dependencies.
2018-03-09 16:26:26 -07:00
Greg Fitzgerald cc9f0788aa Batch events
It's now a Tick that locks down event order. Before this change, the
event order would be locked down in the order the server sees it.

Fixes #59
Fixes #61
2018-03-09 16:16:33 -07:00
Greg Fitzgerald 209910299d Version bump
Next release probably won't have a compatible entry log with the
0.3.x line.
2018-03-09 14:33:37 -07:00
Greg Fitzgerald 17926ff5d9
Merge pull request #58 from garious/deterministic-historian
Deterministic historian/accountant hashes
2018-03-09 07:06:40 -07:00
Greg Fitzgerald 957fb0667c Deterministic historian/accountant hashes
When in tick-less mode, no longer continuously hash on the
background thread. That mode is just used for testing and
genesis log generation, and those extra hashes are just noise.

Note that without the extra hashes, with lose the duration between
events. Effectively, we distinguish proof-of-order from proof-of-time.
2018-03-09 06:58:40 -07:00
Greg Fitzgerald 8d17aed785 Process timestamps as they are added 2018-03-08 15:39:03 -07:00
Greg Fitzgerald 7ef8d5ddde Lock down dependencies 2018-03-08 13:25:40 -07:00
Greg Fitzgerald 9930a2e167 With v0.3.1 published to crates.io, you can now run silk without git 2018-03-08 11:42:06 -07:00
Greg Fitzgerald a86be9ebf2
Merge pull request #56 from garious/add-conditions
Add conditions to transactions
2018-03-08 11:15:31 -07:00
Greg Fitzgerald ad6665c8b6 Complete timestamp and signature transactions 2018-03-08 11:06:52 -07:00
Greg Fitzgerald 923162ae9d WIP: process timestamps 2018-03-08 10:19:54 -07:00
Greg Fitzgerald dd2bd67049 Add a barebones test for transaction conditions 2018-03-08 08:58:34 -07:00
Greg Fitzgerald d500bbff04 Add public key to mint
This turns the mint into a handy way to generate public keys
without throwing the private key away.
2018-03-08 08:33:00 -07:00
Greg Fitzgerald e759bd1a99 Add conditions to the signature to reject duplicates 2018-03-08 08:18:34 -07:00
Greg Fitzgerald 94daf4cea4 Add Cancel and Timestamp events
Fixes #31, #34, #39
2018-03-08 08:17:34 -07:00
Greg Fitzgerald 2379792e0a Add DateTime and Cancel conditions
Fixes #32, #33
2018-03-08 08:17:08 -07:00
Greg Fitzgerald dba6d7a8a6
Update README.md 2018-03-07 17:20:40 -07:00
Greg Fitzgerald 086c206b76
Merge pull request #55 from garious/the-mint
More intuitive demo, introducing The Mint
2018-03-07 17:18:24 -07:00
Greg Fitzgerald 5dd567deef Rename Genesis to Mint
Genesis is a story of creation. We should only use that term to
for the event log that bootstraps the system.
2018-03-07 17:08:15 -07:00
Greg Fitzgerald b6d8f737ca Introducing, the mint
Use the mint to pair a new private key with new tokens.
2018-03-07 16:58:04 -07:00
Greg Fitzgerald 491ba9da84 Add accessors to keypairs and signatures 2018-03-07 15:32:22 -07:00
Greg Fitzgerald a420a9293f Fix demo 2018-03-07 11:37:30 -07:00
Greg Fitzgerald c1bc5f6a07
Merge pull request #54 from garious/imperative-genesis
Boot genesis block helper
2018-03-07 11:19:16 -07:00
Greg Fitzgerald 9834c251d0 Boot genesis block helper
Before this change, if you wanted to use a new Transaction
feature in the genesis block, you'd need to extend its
Creator object and associated methods.  With yesterday's
addtions to Transcation, it's now so easy to work with
Transactions directly that we can get rid of the middleman.

Also added a KeyPair type alias, so that ring could be easily swapped
out with a competing library, if needed.
2018-03-07 11:10:15 -07:00
Greg Fitzgerald 54340ed4c6 Delete debugging println
Thanks @jackson-sandland!
2018-03-06 21:17:41 -07:00
Greg Fitzgerald 96a0a9202c
Update README.md 2018-03-06 21:12:50 -07:00
Greg Fitzgerald a4c081d3a1
Merge pull request #53 from garious/monorphic-entry
Monomorphisize Entry and Event
2018-03-06 20:39:11 -07:00
Greg Fitzgerald d1b6206858 Monomorphisize Entry and Event
Transaction turned out to be the only struct worth making generic.
2018-03-06 20:29:18 -07:00
Greg Fitzgerald 0eb6849fe3
Merge pull request #52 from garious/add-transaction-struct
Break dependency cycle
2018-03-06 17:53:48 -07:00
Greg Fitzgerald b725fdb093 Sha256Hash -> Hash
Because in Loom, there's just the one. Hopefully no worries that it
shares a name with std::Hash.
2018-03-06 17:40:01 -07:00
Greg Fitzgerald 1436bb1ff2 Move entry into its own module
Hmm, Logger doesn't depend on log.
2018-03-06 17:40:01 -07:00
Greg Fitzgerald 5a44c36b1f Move hash into its own module 2018-03-06 17:40:01 -07:00
Greg Fitzgerald 5d990502cb
Merge pull request #51 from jackson-sandland/50-proof-read-README
Issue #50 - proof read README
2018-03-06 17:39:33 -07:00
Jackson Sandland 64735da716 Issue #50 - proof read README 2018-03-06 16:21:45 -08:00
Greg Fitzgerald 95b82aa6dc
Merge pull request #49 from garious/add-transaction-struct
DRY up transaction signing
2018-03-06 16:48:27 -07:00