PoolChainFixture class
The proofs and headers of a pool's first two rounds, with the real V:
round 1 takes in a deposit of 500 through receipt slot 0 beside padding
transfers, and round 2 spends that note into a 200 note and a withdrawal
of 300 to withdrawalPKH. At test parameters (4 transfers, 2 receipt
slots) unless production, which proves the 256-transfer throughput
plan with nullifiers and 8 receipt slots, as the pool runs it. Nothing here is a
transaction; pool_round_v_test builds the chain in memory and
pool_localnet_test builds it on a node, both from this.
The notes are real: the deposit note and round 2's 200 change note go to wallet's address walletD, every other real output to a stranger's, and each real transfer carries the hybrid bundles of its two outputs. Padding transfers pay ShieldedTransfer.paddingNote with an empty bundle, as the coordinator's are. So the chain a reader and a scanner are tested on is the one that is mined.
Properties
- agg → PoolAggregation
-
final
-
body
→ List<
int> -
final
-
bundles
→ List<
int> -
final
-
bundles2
→ List<
int> -
final
- g → PoolHeader
-
final
- h1 → PoolHeader
-
final
- h2 → PoolHeader
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- proof → PoolRoundProof
-
final
- proof2 → PoolRoundProof
-
final
- receipt → PoolReceipt
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
transfers1
→ List<
ShieldedTransfer> -
Each round's transfers in round order. Round 1's first is the
deposit, without the covenant outpoint it backs: that is built later,
from receipt.
final
-
transfers2
→ List<
ShieldedTransfer> -
Each round's transfers in round order. Round 1's first is the
deposit, without the covenant outpoint it backs: that is built later,
from receipt.
final
- v → PoolVerifierGen
-
final
- wallet → PoolWalletKeys
-
The wallet the deposit and the change are paid to, and the address.
final
-
walletD
→ List<
int> -
final
- withdrawal → PoolWithdrawal
-
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
plan(
{bool production = false}) → PoolAggregation -
The plan the fixture proves under: the 256-transfer throughput plan
with nullifiers and 8 receipt slots at
production, else a 4-transfer plan at test parameters with 2 receipt slots. A coordinator run on the fixture's chain is configured with the same. -
prove(
{required List< int> withdrawalPKH, bool production = false, bool verbose = false, bool aggregate = true}) → Future<PoolChainFixture> -
With
aggregatefalse the spend proofs are made and the trees advanced, but no round is aggregated: proof and proof2 are bare and transfers1 and transfers2 are what a coordinator, which aggregates itself, takes in. That saves the two aggregations (about 12 minutes at production) when only the transfers are wanted.