Commit Graph

18012 Commits

Author SHA1 Message Date
Jude Nelson
a92f97e5d2 chore: export bech32 2022-09-08 14:58:32 -04:00
Jude Nelson
7b3dd80975 feat: add from_hex_le() for instantiating byte arrays from little-endian hash hex strings 2022-09-08 14:58:07 -04:00
Jude Nelson
435a50e30f feat: implement enough of the sighash algorithm for segwit that we can use it to mine. Add test vectors. 2022-09-08 14:57:29 -04:00
Jude Nelson
7324ac5d68 docs: document purpose of AddressHashMode (w.r.t. segwit) 2022-09-08 14:57:08 -04:00
Jude Nelson
be930c40a7 chore: import cleanup 2022-09-08 14:56:56 -04:00
Jude Nelson
91d0e68523 chore: import cleanup 2022-09-08 14:56:45 -04:00
Jude Nelson
bd9bf487b7 chore: cargo fmt 2022-09-08 14:56:35 -04:00
Jude Nelson
306eb2ce97 chore: import cleanup 2022-09-08 14:56:19 -04:00
Jude Nelson
38814588d2 chore: API sync 2022-09-08 14:55:59 -04:00
Jude Nelson
54c1524493 feat: test that we can stack with segwit addresses 2022-09-08 14:55:36 -04:00
Jude Nelson
f0e2dbb907 feat: pox-addr now takes a 32-byte buff, and now supports p2wpkh, p2wsh, and p2tr natively (in addition to p2wpkh-p2sh and p2wsh-p2sh) 2022-09-08 14:54:52 -04:00
Jude Nelson
b09d4a52bd chore: API sync; direct PoX 2 lockup code for testing segwit addresses 2022-09-08 14:54:24 -04:00
Jude Nelson
62c4fff6a4 chore: API sync 2022-09-08 14:53:59 -04:00
Jude Nelson
a6a7d00b50 feat: PoxAddress now has variants for 20-byte and 32-byte addresses, which represent p2wpkh, p2sh, and p2tr 2022-09-08 14:53:37 -04:00
Jude Nelson
1ce6572132 chore: API sync 2022-09-08 14:53:23 -04:00
Jude Nelson
a099b08cfe chore: API sync 2022-09-08 14:53:11 -04:00
Jude Nelson
35b2f8b17e chore: API sync 2022-09-08 14:53:00 -04:00
Jude Nelson
045ad7b491 chore: can't use tx signers anymore; need to look at just the quantity 2022-09-08 14:52:37 -04:00
Jude Nelson
0800f11a58 chore: can't use the signers anymore, so use the quantity of inputs (and also update the tests to use new types) 2022-09-08 14:52:10 -04:00
Jude Nelson
2bb5ac4a58 chore: can't get the signers directly anymore, so just use the quantity of inputs 2022-09-08 14:51:47 -04:00
Jude Nelson
ec57f6d86c feat: remove address from LeaderKeyRegisterOp 2022-09-08 14:49:43 -04:00
Jude Nelson
1380d905ed feat: leader key register txs don't need an identifyin address -- it's not used at all 2022-09-08 14:49:13 -04:00
Jude Nelson
5048a2e4dd chore: apparent_sender is just a string representation of the change output from the miner (which must be the input to the next block-commit from this miner). Also, API sync on the tests with the new bitcoin address types and BurnchainSigner 2022-09-08 14:48:16 -04:00
Jude Nelson
cca6f56b61 chore: seprate prometheus logging from burn sample calculation 2022-09-08 14:47:07 -04:00
Jude Nelson
3552be2264 chore: update prometheus on the burn sample 2022-09-08 14:46:51 -04:00
Jude Nelson
ed27ea2479 refactor: BurnchainSigner doesn't do anything anymore, and leader key txs don't have addresses 2022-09-08 14:41:50 -04:00
Jude Nelson
e5ecb7074d refactor: BurnchainSigner doesn't do anything anymore 2022-09-08 14:41:31 -04:00
Jude Nelson
90535c770f refactor: remove functionality for getting the "signer" of a transaction, since with segwit this is no longer really doable 2022-09-08 14:40:48 -04:00
Jude Nelson
2cac91ccad chore: API sync -- block parser needs an epoch ID 2022-09-08 14:40:17 -04:00
Jude Nelson
371dadbe24 chore: API sync 2022-09-08 14:40:00 -04:00
Jude Nelson
23601f1033 refactor: BurnchainSigner no longer represents any structure data; it's just an opaque string that gets logged and reported to prometheus (as had always been the case, but is now made explicit by the type). Also, leader key register txs no longer need to store an identifying address 2022-09-08 14:39:05 -04:00
Jude Nelson
44e8856c3a chore: BitcoinTxInput is now an enum containing either a structured (parseable) input or a raw input (for segwit and taproot) 2022-09-08 14:38:33 -04:00
Jude Nelson
999152b594 feat: update the bitcoin block parser to epoch-gate logic that will, at and after epoch 2.1, parse transactions with native segwit outputs and witness-bearing inputs 2022-09-08 14:37:21 -04:00
Jude Nelson
3d85d35214 feat: differentiate between "structured" and "raw" bitcoin inputs -- we parse the former, but do not parse the latter. This is used to support segwit witness scripts and tapscripts, which do not have readily-identifiable public keys or a fixed required number of signers 2022-09-08 14:36:33 -04:00
Jude Nelson
8de6bbe1f6 feat: turn BitcoinAddress into an enum with a legacy variant and a segwit variant, and implement the segwit variant to represent p2wpkh, p2wsh, and p2tr scriptPubKey outputs 2022-09-08 14:35:25 -04:00
Jude Nelson
cd1372b4b5 feat: get-burn-block-info pox-addrs returns a tuple with a buff 32 2022-09-08 14:35:02 -04:00
Jude Nelson
26d2d0dd5d feat: document new pox-addr tuple versions and types 2022-09-08 14:34:41 -04:00
Jude Nelson
96d01fcf64 feat: vendor bech32 and bech32m encoding logic 2022-09-08 14:34:11 -04:00
Aaron Blankstein
9e676926c0 refactor: add SortitionHandle trait to capture tx+conn 2022-08-26 13:46:50 -05:00
Aaron Blankstein
10244bfa00 address PR feedback 2022-08-26 09:25:28 -05:00
Aaron Blankstein
e762a9c2f2 Merge remote-tracking branch 'origin/next' into feat/pox-2-unlock 2022-08-26 08:44:49 -05:00
Jude Nelson
7d960260b5 Merge pull request #3249 from stacks-network/docs-microstacks
docs: clarify amounts in microstacks
2022-08-25 23:38:29 +00:00
Aaron Blankstein
57557e7759 Merge remote-tracking branch 'origin/next' into feat/pox-2-unlock 2022-08-25 12:58:20 -05:00
Aaron Blankstein
0014b0f3f3 consolidate contributed stackers 2022-08-22 12:54:50 -05:00
Jude Nelson
c3a624f75b Merge branch 'next' into docs-microstacks 2022-08-22 15:09:13 +00:00
Jude Nelson
357405b155 Merge pull request #3245 from stacks-network/feat/get-pox-addrs
Feat/get pox addrs
2022-08-22 01:42:33 +00:00
Jude Nelson
7f5af6b631 chore: add/expand rust docs and remove dead code 2022-08-19 10:51:40 -04:00
Aaron Blankstein
a464575876 first simple test for pox auto-unlock 2022-08-18 16:39:42 -05:00
Aaron Blankstein
b4b1f42b85 Merge remote-tracking branch 'origin/feat/get-pox-addrs' into feat/pox-2-unlock 2022-08-18 11:28:24 -05:00
Aaron Blankstein
6fff6197cd update existing tests 2022-08-18 11:05:20 -05:00