Greg Fitzgerald
4f09e5d04c
Merge pull request #66 from garious/conditional-plan
...
Simplify contract language
2018-03-18 21:12:26 -06:00
Greg Fitzgerald
434f321336
Add spending plan tests
2018-03-18 21:02:28 -06:00
Greg Fitzgerald
f4e0d1be58
Make conditions explicit in races
...
And boot recursive spending plans. That path required heap allocations.
Since we don't have a need for this generality right now, reduce the
language to the smallest one that can pass our test suite.
2018-03-17 20:43:05 -06:00
Greg Fitzgerald
e5bae0604b
Specialize transaction assets to i64
...
Proof-of-history is generic, but now that we're using it entirely
for tokens, we can specialize the type and start doing more interesting
things than just Eq and Serialize operations.
2018-03-17 19:56:15 -06:00
Greg Fitzgerald
e7da083c31
Move spending plans to their own crate
2018-03-17 19:56:15 -06:00
Greg Fitzgerald
367c32dabe
Guard spending plans, not just payments
2018-03-17 19:56:15 -06:00
anatoly yakovenko
e054238af6
Merge pull request #65 from aeyakovenko/fixtest
...
fix test
2018-03-14 12:21:08 -07:00
Anatoly Yakovenko
e8faf6d59a
trait test
2018-03-14 11:28:05 -07:00
Anatoly Yakovenko
baa4ea3cd8
wfmt
2018-03-14 11:14:40 -07:00
Anatoly Yakovenko
75ef0f0329
fix test
2018-03-14 11:02:38 -07:00
Greg Fitzgerald
65185c0011
Merge pull request #63 from aeyakovenko/streamer-integrated
...
Streamer integrated
2018-03-12 08:38:59 -06:00
Anatoly Yakovenko
eb94613d7d
Use streaming socket interface within accountant
...
Pull messages from streamer process them and forward them to the sender.
2018-03-11 23:41:09 -05:00
Greg Fitzgerald
67f4f4fb49
Merge pull request #64 from garious/dumb-contracts
...
Entry-level smart contracts
2018-03-11 13:23:11 -06:00
Greg Fitzgerald
a7ecf4ac4c
Merge pull request #57 from aeyakovenko/streamer
...
Streamer
2018-03-11 13:22:49 -06:00
Greg Fitzgerald
45765b625a
Don't let users accidentally burn their funds either
2018-03-11 12:04:49 -06:00
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