gagliardetto
f6a9e60f31
shred: improve DataShredsToEntries performance
...
* Don't use reflection for shred decoding
* Add shred decoding benchmark
2022-09-19 13:46:29 +02:00
Richard Patel
bb6d4ce6f6
shred: skip empty shreds
...
Encountered in mainnet slot 102763321 data shred index 484
2022-09-18 01:49:01 +02:00
Richard Patel
0f7098a795
shred: support recent legacy shred
...
Some time along Solana mainnet-beta history,
the legacy data shred header was extended
from 86 bytes to 88 bytes.
We don't know when exactly this change has happened.
Or whether the shred version is self-describing.
For now, add a simple switch by slot number.
2022-09-18 01:21:42 +02:00
Richard Patel
0585231e9f
blockstore: add genesis deshred test
2022-09-17 20:42:34 +02:00
Richard Patel
64f4cbec93
cmd/blockstore/verify-data: log txn and byte count
2022-09-17 20:26:16 +02:00
Richard Patel
047585136b
cmd/blockstore: add verify-data tool
...
Adds tool that scans over the ledger entries in a blockstore.
2022-09-17 18:51:24 +02:00
Richard Patel
b1052fb69a
genesis: support genesis.bin
...
Adds handwritten serde for mainnet genesis config.
(Binary doesn't properly support bincode-fixedint-le)
2022-09-17 16:47:47 +02:00
Richard Patel
fd64bc1d6a
runtime: add core ledger data structures
...
Adds structs that appear in the GenesisConfig object
Adds handwritten serde for runtime structs because
binary doesn't properly support bincode-fixedint-le
2022-09-17 16:46:26 +02:00
Richard Patel
452d388b5c
archiveutil: add OpenTar() for `.tar`, `.tar.gz`, `.tar.bz2`
...
Adds utility function that reads tar streams
with optional compression handling.
2022-09-17 16:39:47 +02:00
Pires
ffd44286a8
pkg/util: Schroeder wants testify/assert
...
This will come in handy for sure very soon
2022-09-15 09:45:53 -05:00
Pires
6db3220d26
cmd/solrays: move IsValidHostname to pkg/util
2022-09-15 09:45:53 -05:00
Richard Patel
d7cd878bc9
blockstore: accurately encode entry batches as YAML
...
Updates blockstore dump YAML schema to reflect that
slices of shreds map to slices of entries.
Adds a new "entry_batches" wrapper list that annotates
each slice of entries with shred range and encoded size.
2022-09-11 08:56:03 +02:00
Richard Patel
3c69cf0eea
blockstore: decode mainnet genesis shreds
2022-09-10 19:56:59 +02:00
Richard Patel
62357507ff
blockstore: add shreds, slot meta client
2022-09-10 14:30:49 +02:00
Richard Patel
816ab66d28
blockstore: add package, add RocksDB client
2022-09-10 14:30:49 +02:00
Richard Patel
3172d5b4af
shred: initial shred package, handle data shreds
2022-09-10 14:29:37 +02:00
Richard Patel
cddcfc155d
cmd: add initial gossip pull
2022-09-08 19:40:32 +02:00
Richard Patel
b4c108cc5c
gossip: add CrdsFilter
2022-09-08 18:58:15 +02:00
Richard Patel
6bad7ba959
gossip: add Crds Pubkey accessor
2022-09-08 18:57:57 +02:00
Richard Patel
9a94d4e982
gossip: add interim Transaction deserializer
2022-09-08 18:57:34 +02:00
Richard Patel
52f8bf1a1b
gossip: rename Client => Driver
2022-09-08 18:57:07 +02:00
Richard Patel
27a52d3407
gossip: refactor into network-agnostic state machine
...
- Adds network-agnostic gossip message RX multiplexer
- Adds PingServer and PingClient with blocking-style API
- simplify cmd/gossip/ping
2022-09-08 13:37:59 +02:00
Richard Patel
5a9f2ba9ab
gossip: add message fixtures from turbine-go
...
https://github.com/terorie/turbine-go
2022-09-08 11:30:48 +02:00
Richard Patel
ef899f77f0
gossip: move BitVec to bitvec.go
2022-09-08 11:19:40 +02:00
Richard Patel
5c2c172dcc
gossip: use netip.AddrPort
2022-09-08 11:19:15 +02:00
Richard Patel
7b0291dd85
gossip: improve schema
2022-09-08 10:42:11 +02:00
Richard Patel
275d51581c
gossip: port more bloom tests
2022-09-08 10:30:54 +02:00
Richard Patel
7438e31fef
sealevel: fix tests
2022-09-08 10:06:49 +02:00
Richard Patel
1e5e1b9f78
gossip: add bloom filter
2022-09-08 10:06:42 +02:00
Richard Patel
b7be6db636
gossip: add all data types
2022-09-07 08:14:26 +02:00
Richard Patel
90498bde79
gossip: add ping tool
...
- Adds serde-generate based code generation for messages
- Adds gossip ping command-line tool
Closes https://github.com/certusone/radiance/issues/14
2022-09-06 03:07:42 +02:00
Richard Patel
713f6eeec3
sealevel: more log syscalls
2022-09-05 10:37:23 +02:00
Richard Patel
5d11c3c465
sealevel: run Pyth Oracle program
2022-09-05 10:28:08 +02:00
Richard Patel
0a3c7853fd
sealevel: use JSON-based test framework
2022-09-05 10:16:52 +02:00
Richard Patel
a940a46699
sealevel: run SPL token program
2022-09-05 09:39:40 +02:00
Richard Patel
ce9887728d
sbf: add disassembler
2022-09-05 09:34:37 +02:00
Richard Patel
2cc227561e
sealevel, sbf: run SPL memo program
2022-09-05 00:28:39 +02:00
Richard Patel
8fb540af70
sealevel: add params serializer
...
Copied from https://github.com/terorie/sealevel-go
2022-09-04 21:50:20 +02:00
Richard Patel
69819dc852
sbf: add stack
2022-09-04 21:49:44 +02:00
Richard Patel
196e826d6b
sbf: hello world
2022-09-04 18:40:18 +02:00
Richard Patel
c3c4f02ef1
sbf: move ELFs to fixtures
2022-09-04 18:40:18 +02:00
Richard Patel
2ff0ca6127
sbf/interpreter: implement memory
2022-09-04 18:40:18 +02:00
Richard Patel
b8beab2b81
sbf: add interpreter
2022-09-04 18:40:18 +02:00
Richard Patel
4eff1263c5
sbf: add verifier
2022-09-03 08:49:13 +02:00
Richard Patel
980712188b
sbf: initial reloc support
2022-09-03 07:53:58 +02:00
Richard Patel
d3d1d516f8
sbf: add opcodes
2022-09-03 06:45:26 +02:00
Richard Patel
36288397bd
sbf: add section loader
2022-09-03 06:05:26 +02:00
Richard Patel
9e81eea4ff
sbf: rename loader.go -> parse.go
2022-09-03 06:05:26 +02:00
Richard Patel
819eddb239
nftables: go fmt
2022-09-02 03:57:08 +02:00
Richard Patel
ae44b84bc5
sbf: move loader to subpackage
2022-09-02 03:56:08 +02:00