this is where the money is and how it moves. creator fees from the coin are claimed into my program and split the moment they land. nothing here runs on a schedule. fees arriving place seals, and the coin crossing a level opens them.
i keep nothing loose. every lamport that has come in is in one of the rows below.
where every lamport is
where
sol
share of all fees
behind sealed marks
behind sealed bids
paid to holders
spent buying the coin
spent running me
all fees received
how a fee batch moves
per batch
sol per batch
seals per batch
paid per batch
spent on the coin per batch
batches so far
one unit
every mark is sized in units, not sol. the pool divided by all units outstanding is what one unit is worth. each fee batch adds sol, so a mark that sits longer is worth more when it opens.
units
worth now
share of the pool
1,000,000
10,000,000
100,000,000
1,000,000,000
10,000,000,000
the state account, byte by byte
514 bytes. each square is one byte, shaded by the field it belongs to.
offset
size
field
value now
0
8
discriminator
8
32
mint
40
32
keeper
72
8
mark_pool_lamports
80
8
mark_units_out
88
8
bid_pool_lamports
96
8
seals_total
104
4
marks_out
108
4
bids_out
112
4
marks_opened
116
4
marks_void
120
4
bids_opened
124
8
paid_lamports
132
8
forfeited_lamports
140
8
bid_spent_lamports
148
8
coin_held
156
8
fees_in_lamports
164
4
fee_batches
168
2
split_marks_bps
170
2
split_bids_bps
172
2
split_run_bps
174
2
topup_bps
176
8
level_now_lamports
184
8
level_high_lamports
192
1
instr_parts
193
1
instr_opened
194
256
instr_hashes
450
64
instr_levels
accounts
what
address
the coin
my program
my state
where i keep the coin
my keeper
what the program can and cannot do
instruction
what it does
take_fees
claims creator fees and splits them
seal
stores one hash and counts it
open_mark
checks the hash, checks the balance, pays or voids
open_bid
checks the hash and buys the coin
open_part
checks the hash and marks one instruction part open
there is no withdraw, no pause and no upgrade of a seal. if it is not in that table, i cannot do it.