Commit Graph

9015 Commits

Author SHA1 Message Date
Jude Nelson
257f7e4f55 clean up dependencies a bit, now that we're more unified in our library choices 2019-03-19 18:45:30 -04:00
Jude Nelson
44d5f54a5a fix up rust-bitcoin code to compile into blockstack-core 2019-03-12 19:06:15 -04:00
Jude Nelson
1aff8ede73 Include the parts of rust-bitcoin that we actually need. This cuts down on some of our duplicate dependencies (like, we have 3 different versions of rand right now) 2019-03-12 18:06:25 -04:00
Jude Nelson
85565c2708 Stacks peer network packet structures and code for encoding and decoding them all 2019-03-09 18:56:36 -05:00
Jude Nelson
2d6e23849a add wrapper for secp256k1 public and private keys 2019-03-09 18:56:20 -05:00
Jude Nelson
6757eec69c initial codec for a stacks transaction 2019-03-09 18:56:08 -05:00
Jude Nelson
d3bcd89f64 stub out a block database and a state database for the stacks blockchain 2019-03-09 18:55:54 -05:00
Jude Nelson
f8a504631c initial codec for Stacks blocks 2019-03-09 18:55:18 -05:00
Jude Nelson
162aa317ed initial codec for the spending authorization structure in a stacks transaction 2019-03-09 18:55:01 -05:00
Jude Nelson
60bd01b723 initial codec for Stacks addresses 2019-03-09 18:54:39 -05:00
Jude Nelson
626b1eae1d add secp256k1 2019-03-09 18:54:14 -05:00
Jude Nelson
c672520e2d make it impossible to represent an invalid VRF proof 2019-03-09 18:54:02 -05:00
Jude Nelson
eeb549bb52 careful when encoding/decoding big-endian -- make sure it's a no-op on a big-endian machine 2019-03-09 18:53:32 -05:00
Jude Nelson
cca69ca928 implement a Merkle tree (but unlike a Bitcoin merkle tree, we'll be sure to _tag_ the leaf and non-leaf nodes) 2019-03-09 18:53:04 -05:00
Jude Nelson
e734f9bcb6 mod update 2019-03-09 18:52:54 -05:00
Jude Nelson
e07358e79a constants for networking 2019-03-09 18:52:45 -05:00
Jude Nelson
1ac2648384 first crack at data structures for the Stacks blockchain transactions and blocks. 2019-03-09 18:52:23 -05:00
Jude Nelson
085e54902d database-generic error structures, to be used in other places 2019-03-09 18:52:05 -05:00
Jude Nelson
4703a38c77 fix sortition algorithm to decrement burn quota only once it has been met over several blocks (#931) 2019-03-09 18:51:39 -05:00
Jude Nelson
74ed09aeda test structure update 2019-03-09 18:51:28 -05:00
Jude Nelson
0e239e5021 refactor import 2019-03-09 18:51:20 -05:00
Jude Nelson
cb5ab9b447 test structure update 2019-03-09 18:51:12 -05:00
Jude Nelson
e72bc0fb9a document possibility of including a Stacks PoW solution in a leader block commit 2019-03-09 18:50:50 -05:00
Jude Nelson
2e471a937a update block snapshot to include a running sortition burn total and include a parent block back pointer 2019-03-09 18:50:27 -05:00
Jude Nelson
6f63b3d09a copyright update 2019-03-09 18:50:07 -05:00
Jude Nelson
175109845a move db-generic code to chainstate 2019-03-09 18:49:51 -05:00
Jude Nelson
24f26d9e3b block snapshots now include a parent pointer and a running total of the number of tokens burnt for the next upcoming sortition 2019-03-09 18:49:22 -05:00
Jude Nelson
70469cb5ee burnchain blocks now include parent backpointers; include a privatekey trait 2019-03-09 18:49:03 -05:00
Jude Nelson
f1684c87a4 add a test to ensure that the burn quota increments and decrements correctly 2019-03-09 18:48:37 -05:00
Jude Nelson
d2de680604 now implemented in util::secp256k1 2019-03-09 18:48:13 -05:00
Jude Nelson
f9844325a8 burnchain blocks now store parent pointers 2019-03-09 18:47:57 -05:00
Jude Nelson
b9e06f4409 make BurnchainTxInput::to_address_bits() a member method, not a static method 2019-03-09 18:47:40 -05:00
Jude Nelson
31337a95ab add c32 encode/decode to Bitcoin addresses (for now) 2019-03-09 18:47:15 -05:00
Jude Nelson
cad5a71fb4 run c32 tests 2019-03-09 18:46:59 -05:00
Jude Nelson
5ab17c6ec7 update/clarify SIP 003 per Aaron's feedback 2019-03-09 18:46:25 -05:00
Jude Nelson
8f92cd267d update MicroblocksInvData 2019-03-05 18:21:09 -05:00
Jude Nelson
5ab0d05d0d significantly revise the heuristics for promoting route and node diversity, and better describe the frontier set vs neighbor set distinction. also, the wire format example was wrong -- should be big-endian 2019-03-05 17:51:50 -05:00
Jude Nelson
5e25941ec4 lint more 2019-02-27 22:22:13 -05:00
Jude Nelson
9a4c2da56f lint 2019-02-27 22:21:28 -05:00
Jude Nelson
0ea56373ff add SIP 003 to describe the peer network 2019-02-27 22:19:11 -05:00
Jude Nelson
c2078ad55e Merge branch 'develop' into develop-jude 2019-02-19 14:09:34 -05:00
Aaron Blankstein
062c4da74c Merge pull request #921 from blockstack/review/smart-contract-021319
Code Review: Smart Contract VM 02/13/19
2019-02-19 13:01:47 -06:00
Aaron Blankstein
0634a0964c Merge branch 'feature/smart-contract-vm' into review/smart-contract-021319 2019-02-19 11:30:05 -06:00
Aaron Blankstein
29a0225531 light cleaning up of test functions 2019-02-19 11:28:30 -06:00
Aaron Blankstein
bb203956e7 rename MultiplyDefined error to VariableDefinedMultipleTimes 2019-02-19 10:40:22 -06:00
Aaron Blankstein
74e45cbcb8 implement partialeq, hash for ListData and TupleData manually: allows Value to derive. remove now uneccessary Hash traits. 2019-02-19 10:19:16 -06:00
Aaron Blankstein
f3177eece8 implement equality for Value enum 2019-02-19 09:47:23 -06:00
Jude Nelson
8a2f742694 add uint 2019-02-18 22:00:58 -05:00
Jude Nelson
aac244a5f6 burnchain::new can fail 2019-02-18 22:00:50 -05:00
Jude Nelson
ac60f8858e the check() method for operations returns a CheckResult enum now to encode specific kinds of errors (instead of a catch-all bool). Add tests for each check() method and make sure they all fail in the right way. 2019-02-18 22:00:01 -05:00